[squeak-dev] ESqueak planning notes

rabbit rabbit at callistohouse.org
Sun Oct 16 22:14:09 UTC 2022


Capable of port-shifting security algorithms, with easy channel shutdown and reconnection…

More remote Sisters better as they hold the PersistenceService which stores objects in Their Cauldron! Centralized-Decentralized persistence. TriSisters persist at different levels:
 - local-machine, different sister host processes, local-cauldron.
 - remote machine, parent of local.
 - a tree of sisters is formed. The SisterTree, up to a Root. Parent-cauldron tree.




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

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

> On Oct 16, 2022, at 18:00, rabbit <rabbit at callistohouse.org> wrote:
> 
> 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/a8d0867d/attachment-0001.html>


More information about the Squeak-dev mailing list