[Short general description]: OneLedger is a cross-ledger agnostic protocol that enables high-performance scaling using a sharded and modified practical Byzantine Fault Tolerant consensus scheme -- which allows for either a permissionless or permissioned setting. By coupling public key infrastructure (PKI) with identity management, nodes (and node operators) will have a defined trust hierarchy that allows them to participate in the consensus of the OneLedger chain or any side-chain.
[Main problems tackled]:
OneLedger’s mission is to simplify businesses’ adoption of blockchain technology and its integration into their specific business applications and products. Through OneLedger, both businesses and individuals can leverage the platform to create both public and private blockchains with their own uniquely-identified network consensus. With the use of role control, enterprises can also separate read and write access on their permissioned network. By leveraging the platform’s provided blockchain-based business tools, modern-day companies can efficiently and effectively adapt their business models to OneLedger blockchain technology.
[Main contribution proposal]:
1)Smart Identity Management Platform - Managing an identity, pseudonymous or otherwise, across multiple distributed networks can be done by assigning a master private / public key-pair to an identity. This master key-pair can then be used to associate any other public keys to this identity by digitally signing a message with the private key of the master key-pair. OneLedger offers a universal identity solution to keep track of users’ assets that are stored on multiple distributed databases.
2) Blockchain Services - Anyone can launch a side-chain to run on the OneLedger consensus protocol. This side-chain can be permissioned or permissionless. In the case of permissioned, a user can use OneLedger’s Smart Identity Management System and search for identities with a particular trust rating and who provide infrastructure services, i.e. node operators that may store or validate distributed ledgers, and assign particular identities to various roles in order to maintain the side-chain.
3) Chaincode Service - Businesses or individuals may wish to deploy dAPPs on multiple platforms. As such, developers have to write and deploy smart contracts on each platform of choice, potentially in multiple languages
4) Programming Interface - The primary client-side interface is a REST API allowing applications to register users, query the blockchain, and issue transactions. A set of APIS are made available for chain code to directly interact with the stack to execute transactions and query transaction results
5) Extendable Interface - Extendable interface that is fast, safe, extendable and agnostic, allowing for easy deployment of decentralized applications (DApps) and cross-ledger communication.
OneLedger Architecture - This decentralized framework changes the basis upon how applications are built by ultimately unifying and realizing the real world into its blockchain parallel. All this will be achieved through:
1) OneLedger Business Center - tools within the business portal, enabling users with any level of blockchain experience to map their business module onto the blockchain, generate chain-code through developer-defined modules, and tag the process throughout the flow.
2) OneLedger Consensus Protocol - Business Logic will use a configurable role-based consensus methodology leveraging hierarchical grouping similar to the Merkle Tree. The role will be determined by business participants. Each role is linked to an independent node that participates in consensus; business logic will then determine how each role is fed into node data. The role consensus is subject to second level verification. Through their defined key and digital signature, Users can be correctly linked to their role in the business. This enables transparency and traceability, allowing identification of the user who had written data onto the Blockchain, and their respective role.
3) OneLedger Public Chain Consensus - OneLedger Sidechain Consensus helps initiate transfers between public chains. When a transfer between public chains is requested, the pre-consensus step is conducted in the OneLedger Sidechain, and a pre-consensus block (the N9 block in the previous diagram) will drive a proposal to the public chain.
4) Sidechain Consensus Algorithm - The Sidechain Consensus algorithm consists of two phases. The first phase is a “Round Based PreConsensus” to get a Consensus Proposal that more than 2/3 of the node in the scope has agreed with. In the second phase, the Pre-Consensus block will drive to the public chain if the proposal is a cross public chain. In this case, each node will validate that exactly one committed Pre-Consensus Proposal is signed by more than 2/3 of the nodes in the scope. Once validated, the block is broadcasted and the previous block is finalized.