[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
|