36

ConsenSys提出以太坊侧链解决方案,提升公共与私有区块链互操作性

 5 years ago
source link: https://www.8btc.com/article/403971?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

据Trustnodes报道,近日ConsenSys发表了一篇论文,详细阐述了一种通过新的原子跨链交易(Atomic Crosschain Transaction)技术来连接公共和私有区块链的方法。其在论文中写道:

“我们提出了一种可以通过跨侧链自动执行交易的跨链技术,并介绍了一种跨侧链验证交易值的新机制。同时,我们阐述了一种在区块链环境中工作以实现原子交易的交易锁定机制,以及一种通过跨侧链提供全局超时的方法。”

F7RRV37.jpg!web

图片来源: visualhunt

该论文对如何建立这种互操作性系统进行了逐步的说明,但要想从高层次的概念上来理解,我们可以首先看看闪电网络(LN)以及它是如何成为一种侧链的。

闪电网络使用哈希时间锁定合约(Hashed Timelock Contracts)。也就是说,你将比特币锁定在一个多重签名的地址(通道)中,并通过得到一个哈希值来证明你锁定了多少比特币。你可以与接收方共享这个哈希,而后接收方同意传输。

闪电网络节点,加上比特币节点,可以看到有一个交换和协议,从而处理交易和执行合约。

以太坊拥有智能合约。假设你在区块链A上有一个智能合约,在区块链B上也有一个智能合约。你将以太币锁定在一条区块链上,同时给出锁定了多少以太币的证明,然后在另一条区块链上解锁。

在这里,你需要同时运行区块链A和区块链B的节点。在这篇论文中,他们称之为多节点(MultiNodes),因此你可以以将感兴趣的链、交易或验证的链称之为区块链C、区块链D等。

要连接这两个智能合约,需要进行跨链交易。这技术性很强,论文写道:

“一笔跨链交易由一笔发起交易(Originating Transaction)和一笔或多笔次级交易(Subordinate Transactions)和次级视图(Subordinate Views)组成,其中发起交易是在提交跨链交易的侧链上执行的以太坊交易,次级交易和次级视图是在其他侧链上执行的以太坊和以太坊视图,以作为发起交易的执行结果。”

该论文称“以太坊交易更新了以太坊区块链的分布式账本状态,但不能返回一个值。以太坊视图可以返回数值,但无法更新状态”。

因此,跨链交易是包含区块链A和区块链B上交易所需信息并执行这两个交易的交易。

那么到底如何执行呢?交易和视图包含有签名参数,这些参数必须与通过以太坊虚拟机(Ethereum Virtual Machine)传入的实际值相匹配。换句话说,就是和哈希相匹配,但通过智能合约执行。

“交易发起方侧链上的次级节点与其他交易发起方侧链验证器一起工作,对跨链交易启动消息进行阈值签名。这条消息包含跨链交易标识符(Crosschain Transaction Identifier)、交易发起方侧链标识符(the Originating Sidechain Identifier)和跨链交易超时(Crosschain Transaction Timeout)。”

这里的次级节点仅仅是侧链特定的节点,阈值签名是一种方案,其中“N个侧链验证器节点中的任意M个必须协作来签署消息”,所以有点像多重签名。

跨链交易超时是公共区块链参与进来的地方,这里称为次级区块链,尽管它可以是任何区块链,包括私有区块链。这种方法是通用的,适用于任何智能合约区块链。

“跨链协调合约(Crosschain Coordination Contracts)存在于协调区块链(Coordination Blockchains)上。它们允许侧链节点确定是否应该提交与发起交易和次级交易相关的状态更新。合约是用来确定所有侧链的常见超时。”

因此,如果区块验证器X不同意,则交易失败,或者如果它们同意,则交易被提交,它就不再相关了。

这就形成了一个系统,其中两条区块链上的验证器通过一个次级区块链智能合约以去中心化和不可信的方式彼此通信。他们给出了如下一个例子:

“想象一下,在侧链A和侧链B之间存在一个促进原子互换(atomic swaps)的合约。每条侧链上都有一个原子互换注册合约(Atomic Swap Registration Contract)。这些合同是非锁定合约(Nonlockable Contracts)。

当一个实体希望在侧链A上的为铡链B提供ETH时,它在每条侧链上部署一个新的原子第换执行合约(Atomic Swap Execution Contract)。这些合约将可锁定合约(Lockable Contracts)。

执行合约表明该实体在侧链 A上有多少,以及它准备提供什么样的汇率。该实体在每条侧链上将每个执行合约和注册合约进行注册。

当另一个实体希望在侧链 B上为侧链A提供ETH时,它可以监视原子互换注册合约,执行重复的跨链视图调用。

跨链视图调用可以检查部署在每条侧链上的原子互换执行合约是否匹配,它们以可接受的汇率在侧链A上提供ETH。跨链视图调用可以返回侧链A上原子互换执行合约的地址。

然后,第二个实体可以执行一个跨链交易来影响互换,根据侧链A上的原子互换执行合同执行该交易。侧链A上的原子互换执行合约将调用侧链B上的原子互换执行合约。

上一段描述的原子互换技术的一个重要特征是:第二个实体不需要交换第一个实体提供的所有数值。”

ConsenSys表示,任何现有的区块链或提案都没有涉及到原子跨链函数调用技术,因此他们声称这是一项建立在区块链科学全新子领域之上的发明,该子领域的重点是让区块链与论文进行对话,为该领域目前的发展提供一个很好的理论基础。

这意味着人们现在可以创建任何他们喜欢的区块链,这些区块链可以是许可的或公区的,可以是基于权威证明或工作量证明的,它们可以是像注册器这样的数据库,或其他能满足任何需求的区块链。他们可以将任何区块链连接到以太坊公共区块链,用于安全或存储用途,或者仅仅因为他们希望将一些组件建立在公共区块链上。

如果这是一个突破,那么时间将会证明它的可用性,但这可能会超出许可区块链的功能,从而帮助实现可扩展性等等。

例如,如果有人想要在区块链上使用archive.org,他们可以建立一条侧链,并将侧链连接连接到公共区块链智能合约,在侧链中,他们可以做自己喜欢做的事情,可以制定规则,并且做到更可信。

因此,人们在享受公共区块链的某些功能的同时,可以通过侧链进行更多的实验。

原文:https://www.trustnodes.com/2019/05/05/consensys-presents-ethereum-private-sidechains-for-public-private-blockchain-interoperability 作者:trustnodes 译者:Libert 稿源(译):巴比特资讯(http://v1.8btc.com/403971)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK