According to Trustnodes, ConsenSys recently published a paper detailing a way to connect public and private blockchains through the new Atomic Crosschain Transaction technology. It wrote in the paper:
“We propose a cross-chain technology that can automate transactions across sidechains and introduces a new mechanism for verifying transaction values across sidechains. At the same time, we describe a work in a blockchain environment to achieve A transaction locking mechanism for atomic trading, and a way to provide global timeouts across sidechains."
- EY and ConsenSys announce the launch of the baseline protocol to ensure the safe and efficient use of the Ethereum mainnet by enterprises
- Science | ConsenSys: Privacy Technology on Ethereum
- ConsenSys Announces Decentralized Financial Project "Codefi" to Promote Ethereum Enterprise Adoption
Image source: visualhunt
The paper provides a step-by-step explanation of how to build this interoperability system, but to understand it from a high-level perspective, we can first look at the Lightning Network (LN) and how it becomes a side chain.
Lightning Networks uses Hashed Timelock Contracts. That is, you lock the bitcoin in a multi-signature address (channel) and prove how many bitcoins you have locked by getting a hash. You can share this hash with the recipient, and the recipient agrees to the transfer.
The lightning network node, plus the bitcoin node, can see that there is an exchange and protocol to handle the transaction and execute the contract.
Ethereum has a smart contract. Suppose you have a smart contract on blockchain A and a smart contract on blockchain B. You lock the Ethereum on a blockchain, give proof of how much Ether is locked, and unlock it on another blockchain.
Here, you need to run the nodes of blockchain A and blockchain B at the same time. In this paper, they call them MultiNodes, so you can refer to the chain of chains, transactions, or verifications of interest as blockchain C, blockchain D, and so on.
To connect these two smart contracts, cross-chain trading is required. This technique is very strong, the paper writes:
“A cross-chain transaction consists of an Originating Transaction and one or more Subordinate Transactions and Subordinate Views, where the initiating transaction is in the side chain of the cross-chain transaction. The Ethereum transactions, secondary transactions and secondary views executed on the other are the Ethereum and Ethereum views executed on other side chains as a result of the execution of the initiated transaction."
The paper stated that “the Ethereum transaction updated the distributed ledger status of the Ethereum blockchain, but could not return a value. The Ethereum view can return a value but cannot update the state”.
Thus, a cross-chain transaction is a transaction that contains the information needed to trade on blockchain A and blockchain B and execute the two transactions.
So how do you implement it? Transactions and views contain signature parameters that must match the actual values passed in through the Ethereum Virtual Machine. In other words, it matches the hash, but it is executed through a smart contract.
The secondary node on the side of the transaction initiator works with other transaction initiator sidechain validators to threshold the cross-chain transaction initiation message. This message contains the Crosschain Transaction Identifier and the transaction initiation. The Originating Sidechain Identifier and the Crosschain Transaction Timeout."
The secondary node here is only a sidechain-specific node. Threshold signature is a scheme in which "any M of the N sidechain verifier nodes must cooperate to sign the message", so it is a bit like multi-signature.
Cross-chain transaction timeouts are where the public blockchain participates, referred to here as the secondary blockchain, although it can be any blockchain, including private blockchains. This method is generic and works with any smart contract blockchain.
“Crosschain Coordination Contracts exist on Coordination Blockchains. They allow sidechain nodes to determine whether status updates related to initiating and sub-transactions should be submitted. Contracts are used to determine all sides Common timeouts for chains."
Therefore, if block validator X disagrees, the transaction fails, or if they agree, the transaction is committed and it is no longer relevant.
This forms a system in which the verifiers on the two blockchains communicate with each other in a decentralized and untrusted manner through a secondary blockchain smart contract. They give an example of the following:
“Imagine a contract between sidechain A and sidechain B that promotes atomic swaps. There is an Atomic Swap Registration Contract on each side chain. Locked contracts (Nonlockable Contracts).
When an entity wishes to provide ETH for chain B on sidechain A, it deploys a new Atomic Swap Execution Contract on each side chain. These contracts will be Lockable Contracts.
The execution contract indicates how much the entity is on sidechain A and what exchange rate it is prepared to provide. The entity registers each execution contract and registration contract on each side chain.
When another entity wishes to provide ETH for sidechain A on sidechain B, it can monitor the atomic interchange registration contract and perform repeated cross-chain view calls.
The cross-chain view call can check if the atomic swap execution contracts deployed on each side chain match, and they provide ETH on sidechain A at an acceptable exchange rate. A cross-chain view call can return the address of the atomic swap execution contract on sidechain A.
The second entity can then perform a cross-chain transaction to affect the swap and execute the contract based on the atomic swap on sidechain A. The atomic swap execution contract on sidechain A will invoke the atomic swap execution contract on sidechain B.
An important feature of the atomic interchange technique described in the previous paragraph is that the second entity does not need to exchange all the values provided by the first entity. ” ConsenSys said that any existing blockchain or proposal does not involve atomic cross-chain function calling techniques, so they claim that this is an invention based on a new sub-sector of blockchain science, the focus of which is Let the blockchain talk to the paper and provide a good theoretical basis for the current development of the field.
This means that people can now create any blockchain they like, which can be licensed or public, can be based on authoritative proofs or workload proofs, they can be databases like registrars, or Other blockchains that can satisfy any need. They can connect any blockchain to the Ethereum public blockchain for security or storage purposes, or simply because they want to build some components on a common blockchain.
If this is a breakthrough, then time will prove its usability, but this may go beyond the capabilities of the licensed blockchain to help achieve scalability and more.
For example, if someone wants to use archive.org on a blockchain, they can build a sidechain and connect the sidechain links to a public blockchain smart contract where they can do what they like to do. You can make rules and be more credible.
Therefore, while people enjoy some of the functions of the public blockchain, more experiments can be carried out through the sidechains.
Original: https: //www.trustnodes.com/2019/05/05/consensys-presents-ethereum-private-sidechains-for-public-private-blockchain-interoperability Author: trustnodes Translator: Libert Manuscripts (translated): Babbitt Information (http://v1.8btc.com/403971)