Skip to content

A platform, a protocol suite, and a set of tools, to enable interoperation for data sharing and asset movements between independent networks built on heterogeneous blockchain, or more generally, distributed ledger, technologies, in a manner that preserves the core blockchain tenets of decentralization and security.

License

Notifications You must be signed in to change notification settings

dhinakaran2705/weaver-dlt-interoperability

 
 

Weaver: DLT Interoperability

Data Transfer Status Fabric Asset Exchange Status Corda Asset Exchange Status Asset Transfer Status

Short Description

A framework, with a family of protocols, to enable interoperation for data sharing and asset movements between independent networks built on heterogeneous DLTs in a manner that preserves the core blockchain tenets of decentralization and security.

Scope of Lab

  • We aim to provide a framework that allows two independent networks, typically (though not limited to) permissioned ones, to interoperate on a need basis.
  • Interoperation does not rely on trusted mediators. Rules and requirements are framed using the networks' internal governance mechanisms.
  • Interoperation relies minimally on shared infrastructure, which may provide identity services but does not play a part in core request-response protocols.
  • Interoperation occurs through protocols that derive their trust from the counterparty networks' native consensus mechanisms.
  • Core capabilities (or suported use cases) include data-sharing across ledgers with proof of authenticity and provenance, atomic asset transfers between networks, and atomic asset exchanges in multiple networks.
  • We already support Hyperledger Fabric and Corda, and plan to extend support soon to Hyperledger Besu. We expect to build our framework in such a way that it can support any other arbitrary DLT with minimal effort.
  • The key platform elements are:
    • Protocol units, namely request access control, and generation and verification of authenticity proofs. These leverage the networks' native smart contract frameworks.
    • Generic and extensible patterns for ledger views and artifact addresses for seamless inter-network communication. Our goal is to provide a basis for an eventual standard that is not tied to a particular DLT implementation.
    • Generic (i.e., not DLT-specific) semi-trusted relay modules that mediate communication while acting on behalf of individual networks. They serve discovery and routing purposes akin to the routing and DNS infrastructure of the conventional internet.
    • DLT-specific plugins called drivers augment relay capabilities with query- and response-translation mechanisms.
  • Apart from the core platform features listed above, we provide SDK extensions for network application users to adapt existing apps for interoperability.
  • We will provide and maintain a basic testnet for rapid prototyping and testing. For more details and illustrations, see the project overview.

Repository Structure

  • Blockchain practitioners who wish to use and experiment with our code should check the Documentation.
    • To dive straight into running a basic setup and testing sample interoperation scenarios, start with Getting Started.
    • The source code for the documents lies in the docs folder.
  • Comprehensive specifications of our architecture and protocol suite are written in the style of RFCs and found in the rfcs folder.
  • Core Weaver components are implemented in the core folder.
  • SDK extensions and libraries for DLT network applications to exercise Weaver interoperation capabilities are implemented in the sdks folder.
  • Sample applications used for testing and benchmarking interoperation flows are implemented in the samples folder.
  • Common data structures and features used by different platform components and applications are implemented in the common folder.
  • Testing, experimentation, and evaluation frameworks, are implemented in the tests folder.
    • An extensible testnet is implemented in the tests/network-setups folder to spin up basic Fabric and Corda networks and test data sharing (with proof) among them.

Initial Committers

Sponsor

Former Members

About

A platform, a protocol suite, and a set of tools, to enable interoperation for data sharing and asset movements between independent networks built on heterogeneous blockchain, or more generally, distributed ledger, technologies, in a manner that preserves the core blockchain tenets of decentralization and security.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 37.1%
  • Go 30.3%
  • Shell 11.7%
  • JavaScript 7.2%
  • TypeScript 6.3%
  • Rust 3.6%
  • Other 3.8%