Hyperledger YUI - IBC interoperability: Besu, Fabric, Corda
Key Points
- YUI uses IBC protocol from Cosmos to connect Besu, Fabric, Corda now
- Block explorer and admin dashboard views coming later
- Compare to Cacti which does the same capabilities differently
References
Reference_description_with_linked_URLs_______________________ | Notes______________________________________________________________ |
---|---|
https://www.hyperledger.org/blog/2021/06/09/meet-yui-one-the-new-hyperledger-labs-projects-taking-on-cross-chain-and-off-chain-operations | |
https://github.com/hyperledger-labs/yui-docs | YUI lab docs *** |
YUI Key Concepts
YUI’s design principles.
Cross-Authentication: Cross-authentication allows blockchains to be interoperable without requiring a trusted third party by on-chain verification.
Blockchain-agnostic communication specs: By using a unified communication protocol, we can introduce a blockchain-agnostic message layer between blockchains.
Arbitrary data transfer and computation: By exchanging messages with a unified communication protocol, arbitrary data transfer and computation is possible. It also enables developers to implement arbitrary application logic that is not limited to a token transfer.
Avoid adding components that introduce additional trust: Introducing such components that need additional trust may decrease the level of security of a system as it would be bounded by the lowest security component in the system.
Do not introduce a new layer: Each actor (of ledgers) has only to interact with a respective ledger of its interest to complete a cross-chain operation unless the application has additional requirements.
YUI Architecture
As you can see on the diagram, we have an IBC Module on each ledger and a Relayer between them. As Client modules should be designed to support each underlying ledger, we have built different Client modules for each ledger such as Client modules for Hyperledger Fabric and for Hyperledger Besu.
For cross-chain communication, the design of YUI is based on Inter Blockchain Communication (IBC) protocol by Cosmos project, with extensions to support various Hyperledger projects.
Check out the IBC GitHub page to learn more about IBC and related words: https://github.com/cosmos/ibc
Detail session at HGF 2021 https://sched.co/j3cz
PDF - Fabric-IBC, Besu-IBC Combined with IRITA
IBC Concepts
Is a reliable & secure communication protocol
• Is compatible with heterogeneous blockchains
• Supports many kinds of applications, e.g. asset transfer, multi-chain smart contracts, data & code sharding
• Is NOT an application-layer protocol • Handles data transport, authentication, and reliability only
• Is NOT an atomic-swap protocol
• Swap and transfer are only some of the applications of IBC
• Is NOT a sharding protocol • Independent security: no single state machine being split across chains
• Is NOT a layer-two scaling protocol
• All chains implementing IBC exist on the same "layer"
YUI for DvP with Fabric
Potential Value Opportunities
Potential Challenges
Candidate Solutions
YUI Lab docs v1
https://github.com/hyperledger-labs/yui-docs
https://github.com/hyperledger-labs/yui-relayer
https://github.com/hyperledger-labs/yui-fabric-ibc
https://github.com/hyperledger-labs/yui-ibc-solidity
https://github.com/hyperledger-labs/yui-corda-ibc
In theory, YUI can:
Cross-chain smart contracts for arbitrary data and procedures, not limited to atomic swap of tokens.
- Cross-chain token transfer
- Cross-chain Atomic swap
- Example includes delivery versus payment settlement
- Cross-chain atomic execution of arbitrary procedures
Step-by-step guide for Example
sample code block