Feature: 3-party handoff #5476
Replies: 5 comments
-
If you do not mind then I am going to butt in a bit with hopefully illuminating insights. VatID in CapTP of E is the public key (or cryptographic has thereof) of the vat it names. Now, SturdyRefs are a bit trickier. In CapTP of E they are a tuple of two parts, a VatID and a swissNum. I can expand on any of above if there is interest. |
Beta Was this translation helpful? Give feedback.
-
Please! The first problem, for us, is live 3-party handoff that can include multiple open chains connected over IBC as out VatTP-like layer. The core, as you say, is rethinking the VatID. Some of my thoughts on that: Bootstrapping initial connectivity isn't what E SturdyRefs did. It is what E captp uris did -- out of band data capability. In E, the two were closely related. Here I think you mean the data capability problem. On the data capability problem, I think you invented the best starting point in your contributions to CapCert. The key insight is that, unlike the captp uri, it cannot be a bearer instrument. It must be minted specific to the one entity that can redeem it. |
Beta Was this translation helpful? Give feedback.
-
Which part should I expand on? If I recall correctly the handoff tables in CapTP of E were indexed by VatID of donor, VatID of recipiant, and a nonce. In such entry there were eather the gift (in a FinalSlot box) or the resolver of a promise for the gift. (Depended on which message arrived first). I understand that Agoric is doing captp on top of a store and forward messaging layer. I suspect that messages between VatA and VatC that carry the equiv of Locator.provideFor/3 invocation could be duplicated and given to VatB to ensure that VatC does get such invocations. |
Beta Was this translation helpful? Give feedback.
-
Start with absolute. If possible structure the absolute as a degenerate case of relative, as the video suggests. Once you get things working with absolute, we can then explore relative again, to see whether we can make it work in concrete deployments. I am hopeful but far from certain. |
Beta Was this translation helpful? Give feedback.
-
Alright, after having this problem shimmering for a long while I think I can narrow the vatId part down a bit. For exposition purposes lets say a vatId is of the form Lets call such a comparator Having half-solved this vatId part we can the use something quite similar to http://wiki.erights.org/wiki/NonceLocator using the provideFor and acceptFrom methods. That solves the 3-vat handoff. For out of band, off-chain, introduction we can use a trick by Alan Karp. |
Beta Was this translation helpful? Give feedback.
-
From @erights:
Along with this should be a library providing a SturdyRef abstraction (i.e. persistent object references as strings) rather than just a bootstrap object for a given anonymous connection.
Beta Was this translation helpful? Give feedback.
All reactions