[squeak-dev] ESqueak planning notes

rabbit rabbit at callistohouse.org
Sun Oct 16 21:59:46 UTC 2022


Alright it seems ParrotTalk ended up with message traffic for a 2-party meetup, at a BridgeService. BridgeServices are negotiated between Alice and Bob and ends up with the promise in Alice, and ultimately Carol, the promise #becomes: a ReplicatedParallelSession holding 3 established, double-encrypted SecureSessions through 3 or more (Bridge; I Concentrator traffic collector chains) third-parties.

This leads to thoughts on a system first host bootstrap script.
1) Installer ss project: ‘Cryptography’; install: ‘ESqueak.alpha’.
2) click update everything in Bootsatrap
 - Which runs ESqueak startUpDefaultHost
- create ESqueak which has a Sister installed. The Sister sees no other Sisters and launches additional squeak headless programs, up to coreSize. Each newbie gets script instructions to
 -  downloads ESqueak
 - and starts up it’s own defaultHost.
 - Noob connects to ~/tribe/ESqueak/repository/sisters shows the first/several Sisters with ports. 
 - Start state sync replication protocol.
 - If 3 sisters, shutdown local Sister and connect to the other 3 remotes.
 - Ask a sister for any tri-services. Some scripts instructs the ESqueak to just register a new BridgeService with a real remote sister’z distribution service..
 - as more truly remote BridgeServices come online, detect with UDP.
 - on the event, migrate ‘local-silicon’ bridges to be off-world…
 - cause connection failure
 - reconnection to a new channel bridge.
 - as a client requests a session, double-encrypt over connected BridgeServices. Wrap this ChannelSession in ReplicationSession, absence of other replicas, ReplSession spawns additional ChannelSessions. Bottom-up connection establishment.
 - Mesh.
 - Publish triServices in NamingService..
 - Play!




—
Have a good one; keep it, light.
Kindly, langohr . .. … ‘…^,^ 🐇🐇🐇

Sent from Callisto House Mobile - Europa 
:: decentralized mobile homeless solutions ::

> On Oct 16, 2022, at 15:26, rabbit <rabbit at callistohouse.org> wrote:
> 
> 
> ———- ASN1Tags: ParrotTalk & Remote Promises ———-
>  * includes message support for bridge selection, if requested.
>  * all msgs changing numericTags and using a Context classTag of 2r11. Updated the stateMaps.
>  * Were able to fit all ASN1Types in 32 bit values: 0-31.
>  * ASN1Tag has:
>  - classTag := 2r11.
>  - is Constructed := 0.
>  - numericTag: headerType <?>.
> fullTag := (((classTag bitAnd: 3) << 6) 
>     bitOr: ((isConstructed bitAnd: 1) << 5))
>         bitOr: (numericTag bitAnd: 2r11111).
> 
> Layer 5: Parrot – session v3.6, v3.7, v3.8
> 
> Protocol negotiation
> <0> ProtocolOffered
> <1> ProtocolAccepted
> 
> Common
> <2> RawData
> <3> Encrypted
> <4> Encoded
> <5> MAC
> <6> DuplicateConnection
> <7> NotMe
> 
> —- ParrotTalk v3.6 —-
> <8> IWant
> <9> IAm
> <10> GiveInfo
> <11> ReplyInfo
> <12> Go
> <13> GoToo
> 
> —- ParrotTalk v3.7 —-
> <14> Hello_v3_7
> <15> Response_v3_7
> <16> Signature_v3_7
> 
> —- ParrotTalk v3.8 —-
> <17> Hello_v3_8
> <18> Response_v3_8
> <19> Signature_v3_8
> <20> BridgeProvideFor_v3_8
> <21> BridgeAcceptFrom_v3_8
> 
> Layer 6: Remote Promises
> 22-26 (EventualMessages)
> 
> <22> DeliverMessageOp
> <23> DeliverOnlyMessageOp
> <24> GCAnswerOp
> <25> GCExportOp
> <26> ShutdownOp
> 
> 27-31 (EventualDesc) 
>  - wireRefDescriptions
> … … … … …
> 
> 
> ———- v3.8 Message Details ———-
> —- ParrotTalk v3.8 —-
> <18> Hello_v3_8
>  - UserName
>  - UserID
>  - ServiceName
>  - VatId
>  - Domain
>  - Public key
>  - CryptoProtocols
>  - DataEncoders
>  - DiffieHellmanParamenter
>  - BridgeSuggestions
> <19> Response_v3_8
>  - UserName
>  - UserID
>  - ServiceName
>  - VatId
>  - Domain
>  - Public key
>  - SelectedCryptoProtocol
>  - SelectedDataEncoder
>  - DiffieHellmanParamenter
>  - Signature
>  - BridgeSelections
> <20> Signature_v3_8
>  - Signature
>  - BridgeNonces
> <21> BridgeProvideFor_v3_8
>  - nonce
> <22> BridgeAcceptFrom_v3_8
>  - nonce
> 
>> Have a good one; keep it, light.
> Kindly, langohr . .. … ‘…^,^ 🐇🐇🐇
> 
> Sent from Callisto House Mobile - Europa 
> :: decentralized mobile homeless solutions ::
> 
>>> On Oct 16, 2022, at 13:44, rabbit <rabbit at callistohouse.org> wrote:
>>> 
>> ———- Focus ———-
>> 
>> To maintain a good focus, once remote promises are #green, I’ll want to stay with networking and make my trinity of replicated Services each Service instance with a trinity replicated session to three bridge sessions. This is my grande trinity-of-trinities plan for fault-tolerant communications. Wires are plentiful!
>> 
>> Have a user manager where v3.8 will lookup a Hello msg’z userID with a default no-op TSUserBroker. Later install the ENamingService.
>> 
>> In Hello, Alice supplies suggested bridges, to limit open FDs.
>> 
>> In Response msg the contacted, Bob, supplies 3 selected bridge services.
>> 
>> Contactee, Alice, who initiated with Hello, receives Response. Alice generates and provides a bridgeNonce for each bridge, registers it’s #acceptFrom: nonce with each bridge, and sends the nonces back in the Signature final message, same order.
>> 
>> Bob received Signature. If sig checks out, Bob send #provideFor:nonce to each apropos bridge, to rendezvous a triple replicated session.  Both Alice and Bob controls the number of bridge socket FD used.
>> 
>> ParrotTalk has replicated Sessions (tripleSession).
>> RemotePromises have replicated Services (tripleService).
>> 
>> A tripleSession has 3 FDs open. A tripleService May reuse Bridge connections, thus though connected to service instances on 3 different machines, reusing existing bridges may mean still only 3 FDs open.
>> 
>> With Sessions, Bob chooses bridges, Alice chooses nonces. Likewise, with replicated Services, Service.1 offers pair of additional replica Services, each supplying bridges. Establish tripleService, fully online... 
>> 
>> <image0.jpeg>
>> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20221016/c6b87a42/attachment.html>


More information about the Squeak-dev mailing list