-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Project Smoot proposal upload #24
base: gh-pages
Are you sure you want to change the base?
Conversation
This is project smoot proposal upload for TAC review and approval. Project Smoot was originally named as project Lattice under the review of Peter and Rama. It has been renamed as Project Smoot per feedback and recommendations from David. Signed-off-by: weijia31415 <[email protected]>
Project Smoot proposal upload
Merge the PR from Wanchain's fork to LFDT per Tracy's recommendation. |
@weijia31415 : We will discuss this at the TAC meeting on February 20th. You can find the meeting invite on the LF Decentralized Trust's community calendar. Please do let us know if you will not be able to make it. |
Co-authored-by: Tracy Kuhrt <[email protected]> Signed-off-by: weijia31415 <[email protected]>
Co-authored-by: Tracy Kuhrt <[email protected]> Signed-off-by: weijia31415 <[email protected]>
Co-authored-by: Tracy Kuhrt <[email protected]> Signed-off-by: weijia31415 <[email protected]>
Thanks Tracy. I have a schedule conflict for Feb.20 TAC meeting with EEA workgroup meeting. I am available the following week on Feb.27 at the same time, or one hour earlier on Feb.20. |
Co-authored-by: Tracy Kuhrt <[email protected]> Signed-off-by: weijia31415 <[email protected]>
Co-authored-by: Tracy Kuhrt <[email protected]> Signed-off-by: weijia31415 <[email protected]>
Signed-off-by: weijia31415 <[email protected]>
Signed-off-by: weijia31415 <[email protected]>
Adding images to the repo
Edit image link
Signed-off-by: weijia31415 <[email protected]>
Update image link of project-smoot.md
We will schedule this for February 27th TAC meeting @weijia31415 (cc: @LF-Decentralized-Trust/tac) |
Harmonia implements the Enterprise Ethereum Alliance's DLT Interoperability Specification's transaction messaging methods. Project Smoot will focus on implementing the event messaging method. The Smoot team will also explore the possibility of combining Project Smoot with Harmonia. | ||
|
||
* Hyperledger Cacti | ||
Cacti is an interoperability project that builds routing mechanisms for cross-chain minting and burning of assets. There are some common components that can be developed with various interoperability projects. For example, the cross-chain network identifier can be standardized so that different projects can use the same specification for blockchain identities. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you have a document to discuss the gaps within the interoperability space? I am interested in visualizing how these different projects complement each other.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Our EEA InterOp specification lists multiple mechanisms for blockchain interop and contains a table showing the characteristic (and limitations) of each mechanism for visualization. The link of the EEA specification is in the reference section of the proposal.
|
||
* Various layering mechanisms including Multisig relay, MPC relay, and ZKP relay | ||
|
||
**Multisig relay:** a mechanism that leverages multi-signature consensus for relaying messages across blockchains. In this approach, the message originating from a source chain is cryptographically signed by multiple independent relay nodes. These relay nodes or validators have public key signatures that are registered and verified against a whitelist of trusted nodes maintained on the target chain's smart contract. The relay nodes' signatures on the message are aggregated and attached to the communication payload sent from the source chain to the smart contract on the target chain. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Suggestion: s/whitelist/allowlist/
The architecture of Smoot is composed of three layers: the Messaging Layer, the Function Calls Layer, and the Application Layer. | ||
|
||
* The Crosschain Messaging Layer facilitates the secure exchange of data and events between networks, ensuring the integrity and validity of information passing between them. This is the communication backbone, ensuring that events generated on one network can be trusted on another. This layer is foundational to the trustless nature of DLTs, providing the mechanisms for verification and validation of events across different networks without the need for a centralized authority. | ||
* The Crosschain Function Calls Layer enables the execution of operations across networks, allowing cross-chain applications to trigger and coordinate activities on multiple networks. This is the operational core of the stack, enabling functions to be executed remotely on another network. This capability is crucial for allowing synchronous workflows across networks in scenarios where actions on one network depend on the state or outcomes on another. It is this layer that orchestrates the remote execution of smart contract functions, ensuring that transactions are not only executed but done so in a manner that aligns with the overarching business logic defined in the Applications Layer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question: How is atomicity achieved across two different chains?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For atomic transaction, the messaging will need to add additional passes.
On the source chain, a user needs to have a secret x (randomly generated for each transaction). The crosschain smart contract on the source chain will need to implement two functions: 1) atomic_transaction_initiate; 2) atomic_trasaction_commit
With atomic_transacton_initiate function, a user on the source chain initiates an atomic transaction across chain. The hash of secret x, H(x), is appended to the messaging event, and x is passed separately to the intended user on the target chain.
The atomic_transaction_commit will require a hash H and secret x in order to execute. Since x is a secret, it will not execute by the smart contract until x is revealed after the tx on the target chain is executed.
The crosschain initiation message is relayed to the target chain. The target chain smart contract needs to implement an execution function that takes in a Hash H and an input x, where H is the hash of x. The function will only execute when H matches H(x). Once this function successfully executes, it will emit and reveal x.
When the target chain smart contract executes the function, the secret is revealed. This secret is passed back to the source chain to execute the atomic_transaction_commit.
Co-authored-by: Arun S M <[email protected]> Signed-off-by: weijia31415 <[email protected]>
This is project smoot proposal upload for TAC review and approval. Project Smoot was originally named as project Lattice under the review of Peter and Rama. It has been renamed as Project Smoot per feedback and recommendations from David.