Giter Site home page Giter Site logo

ibc's Introduction

YUI

"YUI" is japanese word to represent knot, join and connect

Short Description

YUI is a lab to achieve interoperability between multiple heterogeneous ledgers. YUI provides modules and middleware for cross-chain communication as well as modules and tools for cross-chain application development, including an explorer to track status and events for cross-chain environments.

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.

Modules for cross-chain application development includes one that implements a protocol for atomic operations between ledgers, such as atomic swap of tokens.

Scope of Lab

Design Principles

Cross-authentication

By relying on the on-chain verification of the other chain’s state, cross-chain communication can be achieved without any safety concern due to the behavior of off-chain actors

This allows cross-chain message relaying not only to the trusted and privileged actors, but also to any actor that satisfies the ACL of the permissioned chain.

In addition, we aim to apply the method not only to the permissioned chains, but to the public chains as well.

Provide a unified communication method independent from a specific blockchain/DLT implementation.

This enables application developers to develop chain agnostic protocols.

Support arbitrary data transfer and computation

Developers can design and implement the specific protocol for its cross-chain application, not limited to token transfer use case.

Avoid adding components that introduce additional trust (apart from individual blockchains)

Introducing such components may decrease the level of security of a system as it would be bounded by the lowest component in the system.

Also, introducing new (off-chain) components with high fault tolerance will also lead to increased operational costs

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.

Use cases

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

Current status and future plan

We have already developed modules for Hyperledger Fabric, Hyperledger Besu, and Corda. We plan to apply these modules for practical applications as well as to expand support for other blockchains.

  • At first, we are focusing on permissioned blockchain environment

Aim to enable developers in Hyperledger community to introduce interoperability in their systems and develop cross-chain applications without too many changes and increase the complexity

Components

Client (on-chain) module and Relayer to support various ledgers in align with the design principles

  • Client module should be designed to support each underlying ledger

Various software to support the development of cross-chain systems

  • Modules to support the development of cross-chain contracts
    • Implementation of an atomic commit protocol for cross-chain atomic operation
    • Implementation of authentication for cross-chain contracts
  • System to support the coordination of cross-chain contract and applications
    • Explorer to track the cross-chain status

Committers

Contributors

Please take a look at CONTRIBUTORS.md

Repositories

ibc's People

Contributors

dongrie avatar 3100 avatar ryjones avatar siburu avatar bluele avatar ggkkdev avatar storiumi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.