1. IPFS点滴资讯首页
  2. 技术分享

星际链接计算:从区块链计算法庭中分离Merkle计算

我看到区块链计算机(如以太坊)有2个部分:

  1. Merkle计算机(哈希链接和简单的状态验证)。
  2. 计算法院(国家的共识和执行)。

前者提供了一种验证代码执行的方法,后者是一种强制执行它的方法。

目前,计算法院与区块链计算机中的Merkle计算机捆绑在一起(它始终在线)。Merkle计算提供了各种值得探索的好处。目前的计算法院(区块链)相当于为jaywalking制定死刑。正如詹姆斯·杨(James Young)所说的那样:“如果你签署的每份商业合同都必须上法庭怎么办?”

更多样化和多样化的计算法院是可能的,需要进行探索。

经过与该地区民众的多次讨论,这些想法已经聚集了几个月:从柏林的Christian Reitwiessner和上海的Juan Benet谈起。考虑到我们如何更有效地扩展验证计算,它受到了冲击。Trent McConaghy关于分散的自主AI组织的想法和Christian 关于TrueBit原创博客文章引发了更深层次的思考。

这篇文章很密集,涵盖了各种主题:链接到各种文章,想法和代码。未来我可能会在不同的帖子中对这些概念进行更多扩展。

Merkle计算机

星际链接计算:从区块链计算法庭中分离Merkle计算
Merkle Trees的发明者Ralph Merkle。

Merkle计算机与普通计算机的不同之处在于它们根据状态机顺序地连接状态变化(附加到日志),并使用Merkle Trees有效地验证状态的内容。比特币和以太坊是包含内部Merkle计算机的系统示例。

来自Yunyun Chen的优秀信息图解释了使用香蕉将信息编码到Merkle树中的好处。🐒

Merkle Tree数据结构目前用于区块链(例如比特币和以太坊)以验证其状态的内容。

这在分布式计算环境(在区块链中)尤其有用,其中状态必须由于与陌生人的互操作而被验证(这可能是恶意的或对立的)。

在比特币中,这用于验证块中是否发生了事务,而不必包含/下载整个集合。

星际链接计算:从区块链计算法庭中分离Merkle计算
来自:https//blog.ethereum.org/2015/11/15/merkling-in-ethereum/

在以太坊中,这扩展到也可以轻松验证* other * state,而无需保留分布式计算机的整个状态:

例如,一个类似的查询:“告诉我过去30天内该地址发出的所有类型为X的事件(例如,众筹合同达到目标)。”现在可以。

将计算机的状态存储在Merkle树数据结构中不仅有助于更有效地验证其状态,而且* 它还允许人们轻松地验证计算本身

Canetti,Riva和Rothblum设计了一个依赖于Merkle Trees的“ 使用多个服务器进行计算的实用代表团 ”。它的实现并没有采用以太坊的修改过的Merkle Trees(Patricia Trees),因为它可以更快地重新计算树木。委托方案构成了TrueBit的基础,TrueBit是一个可扩展的计算法院,旨在部署在以太坊上。

如果是授权,如果发生争议(最终状态不匹配),仲裁员可以核实谁作弊。如果没有对状态使用散列链接或Merkle树,则仲裁器需要从起始状态开始并运行* all *计算本身以进行验证,这是麻烦且昂贵的。

由于一个是散列链接状态更改,并且将状态封装到Merkle根中,因此在某些时候可以在比执行整个计算更少的时间(对数)中捕获和验证无效的状态更改。如果可以访问状态更改机制(状态A – >执行计算X – >状态B),则可以在状态更改日志上使用二进制搜索,并应用状态更改以验证Merkle根在状态之间的差异变化。它有点复杂。Christian Reitwiessner对于如何在以太坊上使用这种方法进行交互式验证有更多的技术解释

目前在区块链中没有使用这种验证一般计算的能力,因为区块链具有内置法院(它们作为其功能的一部分保持不断的验证)。无法使计算机成为无效状态,并且运行网络(冗余)的每个人都会对其进行验证。正如科林普拉特所说的那样(转述):“当前的制度在每次国家变革时都会得到调和。”

在区块链中使用加密令牌(解决协调和其他问题),以及围绕共享数据库达成共识的好处允许状态在其运行时保持有效。

计算法院

星际链接计算:从区块链计算法庭中分离Merkle计算
Chappie,执法者。

计算法庭可以被定义为仅通过使用代码(而不是人类)来执行代码执行的系统。区块链计算法院通过经济激励来强制执行代码。

区块链法院目前的工作方式非常严格。无法进行无效计算。共识算法(例如工作证明)直接与区块链的Merkle结构相关联。正在进行的验证和保护它的工作产生了令牌,而令牌又需要产生状态变化。每个块允许规则使矿工能够自己发布他们分配的比特币/以太币。符合工作要求的随机数是块的散列的一部分。因此,计算法庭直接是这个特定Merkle计算机的一部分。

经济激励设计是一个Schelling(焦点)点,通过不要求特定的参与者(从系统的角度来看)与计算机及其状态进行交互来融合计算机及其状态。

这与法律和现实目前的运作方式不一致。我们可以做任何我们想做的事情(在物理学的范围内),但只能追溯惩罚。诚实的参与者不需要援引法院的费用。我们可以根据自己的意愿构建自己的“共同妄想”,但是当我们想要在实际发生争议时强制执行某些事情时,我们会“支付”法院并接受该特定法院(立法)的商定结构。

Merkle Computing非常有用,因为它允许:

  1. 审计计算的踪迹。
  2. 便宜的加密验证计算。
  3. 计算状态的内容寻址。

在需要之前,人们可能希望分布式计算而不需要严格执行*。

区块链法院对您有用:

  1. 在执行的*时间*保证执行执行。许多应用程序都需要此功能。即,不要求援引法院或争议解决期。这种担保虽然在开始时成本较高,但如果争议代价高昂,有时可能会更便宜。这取决于所需的保证。
  2. 它允许更多动态游戏(因为参与者不必在球场上进行协调)。任何人都可以进入/退出游戏(如分散交换)。

(注意:这里的“游戏”是根据博弈论定义的:协调游戏。)

但是,一些分布式游戏以一组定义的参与者开始和结束,并且在争议解决期间没有问题。因此,我们使用Merkle计算进行交互,并仅在发生争议时使用其功能进行验证。我们有计算的审计跟踪,可以便宜地验证它出错的地方以及应该责怪谁。这篇文章解释了在以太坊上实施国际象棋游戏的麻烦

CBOR + IPLD作为Merkle计算机

星际链接计算:从区块链计算法庭中分离Merkle计算

One can design a Merkle computer that lives on InterPlanetary File System(IPFS). Using Concise Binary Object Representation (CBOR) objects conforming the Interplanetary Linked Data (IPLD) standards , they can follow a hash-linked structure. Orbit uses the event-log system to design a chatroom on IPFSMediachain has an RFC on how to modify metadata over time. The objects that are hash-linked would conform to a state machine. Theoretically, one would be able to remodel the Ethereum Virtual Machine in CBOR and then have it be able to uploaded into IPFS. However, the EVM is already a Merkle computer (stored in its own native formats, rather than in CBOR).

最近,IPLD已经开始改变,允许人们在IPFS本身中读取和遍历以太坊计算基板。Aaron“Kumavis”Davis一直在构建组件,以便从IPFS中读取公共以太坊状态。是兴奋的。这是一个用于在IPFS中读取以太坊交易信息的解析器

移动到* all * Merkle计算发生的基板是一个令人兴奋的想法。理想情况下,以太坊和其他Merkle计算机将彼此相邻。到目前为止,我希望转向IPFS。我们不仅会有行星际文件系统和行星际连接数据基板,还会有行星际链接计算(IPLC?)基板。

例如,在Ujo,我们使用IPFS来存储音频文件和艺术家图像。我们计划使用COALA IP规范+ CBOR IPLD来跨区块链实现知识产权的互操作。以太坊用于协调艺术家权利管理的经济学和商业逻辑。如果添加链接到计算状态的功能,则可以直接链接到权限管理中的事件结果。例如“这是版权主张争议的结果。”

有关Ujo技术路线图的更多信息,请阅读:

行星际链接计算

星际链接计算:从区块链计算法庭中分离Merkle计算

因此,在不需要验证状态的情况下,围绕具有散列审计跟踪的设计计算导致能够从创世状态重建状态,并链接到各种计算机的特定状态。因此,没有特定的计算机,只有*许多*计算状态,我们可以在它们之间进行链接并检索它们。

这对各种审计都有好处。科林普拉特有一个很好的例子:

实施单独的Merkle计算机,允许各方处理计算脱链,以固定的频率报告状态,然后以预先商定的时间间隔在计算法庭结算交易净额,这不仅可以大大改善区块链的吞吐量,而且交易对手在可验证和“区块链友情”环境中完全管理和结算无资金交易(即衍生品头寸)的能力更强。如您所述,当交易结算时,交易对手可以追溯检查已知国家的头寸,并在需要时进行有争议的计算。与当前系统相比,这大大降低了成本,在当前系统中,必须在每个“状态”进行计算,然后进行协调。

知道并且能够直接访问经过验证的计算状态也会对AI 这样的事情产生影响:使用这个模型并从Trent McConaghy思考,它可以导致能够链接到*如何* AI做出的选择,可供所有人使用看到并重新计算:在开放式基板中。

存储将变得越来越便宜。我们未来的瓶颈将是带宽和能源。因此,除了构建所有信息的存档外,我们还可以构建* all *计算状态的存档。具有散列状态在大型分布式计算机(如以太坊)中已经非常有用。使用IPFS等系统,我们可以从最近的同行中检索计算状态。在遥远的未来,它还意味着在进行行星际计算时,我们不必指向地球上的计算机。我们可以对计算状态进行内容寻址(ps:正是因为这个原因,所以喜欢“行星际”前缀)。

具有可加密验证的计算状态意味着可以进一步离开硬件并依赖它。Urbit是一个“个人操作系统”,正在尝试与此愿景类似。

“Urbit的状态是其事件历史的纯粹功能。实际上,它使用内存检查点和仅附加日志。每个事件都是一个交易; Urbit是一个ACID数据库和一个单层商店。“

共识

星际链接计算:从区块链计算法庭中分离Merkle计算

如前所述,目前共识/验证直接烘焙到Merkle计算机中。但是,这可以通过正交方式完成。“块”对象是散列链接到状态更改的容器,其共享信息嵌入其中。

区块系统(区块链)有助于就状态变化的顺序达成共识。在没有此协调工具的情况下协调单个状态更改日志更加困难。

我不是百分百肯定,从技术上讲,当有多个动态参与者时,如何实现这一目标。但似乎有可能。也许有多个状态更改日志(每个应用程序的状态日志?),或者可以使用无冲突的复制数据类型(在Orbit中使用)或许可以安全地合并它们?

但是,如果可能,将状态更改日志与共识日志分开将意味着可以更容易地更换共识协议(如果需要)。

*其他*计算法院

星际链接计算:从区块链计算法庭中分离Merkle计算

将Merkle计算与其他类型的计算法庭一起使用时,首先想到的例子是在发生争议时使用以太坊作为仲裁员。这将允许在严格的内部法院之外扩展经过验证的计算。

这方面的一个例子是为参与者的状态机预先设定仲裁者,并将其绑定到以太坊上的国家频道。如果存在任何不当行为,仲裁员可以被调用,并且可以重新创建状态并且(廉价地)验证它,解决争议。

  • 选择带有仲裁员的州渠道(与参与者的存款保税)。仲裁器指定它将能够验证的oplog(操作日志)状态机。
  • 传递通道中的签名哈希,即oplog的头部。每个参与者根据规则更新头部,并在适当时传递消息。每次更新都是与哈希相关的状态更改。
  • 如果一切按计划进行,参与者都可以签署以从托管中获得存款(向仲裁员收取费用)。
  • 如果发生争议(有人试图作弊),则可以向仲裁员提出上诉。
  • 仲裁员然后取得oplog的负责人并验证是否允许这样做。骗子然后失去了他们的存款。仲裁员对其服务进行了削减。

不需要太多额外的编码,这是可能的。如果有人想要滚动,请告诉我。我有一个更详细的实现。

此外,由于CBOR可以在以太坊中反序列化,甚至可以自动化仲裁员,教它如何验证不同风格的Merkle计算机,并进一步降低计算争议解决的边际成本。例如,Martin Lundfall编写了一份Solidity合同来验证IPFS哈希值在另一个例子中,Christian Reitwiessner在Solidity中编写了一个scrypt验证器

最重要的是转向完成和实现TrueBit,这将为以太坊上的任何*计算创建一个通用的,无信任的市场:甚至能够验证大型神经网络数据集和计算的结果。蒂姆瓦茨写了一个简单的Perceptron in Solidity。但是,由于能够验证以太坊以外的结果,您无需在Solidity本身中进行编写。

限制

星际链接计算:从区块链计算法庭中分离Merkle计算
“为什么我的分布式merkle计算机通过巧妙使用加密技术验证代码执行速度如此之慢?!”

我不确定*快速* Merkle计算是如何真正成为的,以及它是否主要用于计算目标的子集(而不是用这些额外的审计功能替换所有计算)。我也不确定是否将它放入像IPFS这样的网络层是有道理的。带宽可能会限制传播计算的有效能力。例如,与其他计算机相比,目前,以太坊非常慢*。状态更改以15秒的间隔强制执行,目前并不比单台计算机快。分片和状态通道的使用可以从根本上提高速度。

现在我们发明了Merkle计算和计算法庭,它将如何发展,还有待观察。在未来几年探索其全部潜力将是有趣的。

对于人类来说,选择计算法院意味着它必须比我们现在的社会法院更好。我们现在可以为法院创建一个市场,我们正在探索如何利用这项技术建立更好的法院。这些法院的第一次使用可能是围绕那些需要全球执法的系统,而全球法院并未达到(或永远)的范围:

然而,在唯一的机器对机器经济中,唯一的法院是计算法院。使机器能够在没有人的情况下进行协调,并增加人工智能的可扩展性,以便比人类更快更好地做出市场决策,这将导致一些疯狂的,奇怪的事情发生,并可能带来巨大的经济价值。

分散的虚拟世界(和模拟)也无法进入社交法庭。在这一层进行试验可能对我们现有法院的运作和运作方式产生有益的影响。

结论

星际链接计算:从区块链计算法庭中分离Merkle计算

对计算结果达成共识是有用的,因为许多应用程序可以在没有人类许可的情况下无需仲裁就可以相互连接。因此,像以太坊这样的东西是有用的:对同一计算基板中的许多应用程序达成共识。

区块链计算机引入了Merkle计算。目前,验证和执行属于同一系统(区块链)。

然而,在边缘,更便宜和更多样化的Merkle计算可以打开更广泛,更开放,可审计,共享和可验证的计算基板。

使用不同风格的计算法庭探索更通用和多样化的Merkle计算可能会导致一些非常有趣,新兴的应用程序。

是兴奋的。

星际链接计算:从区块链计算法庭中分离Merkle计算

感谢以下民众在过去几个月里在各个地方引发了各种想法,并对这个主题发表了反馈意见。Juan Blanco,Kirk Dameron,James Young,Mike Goldin,Ameen Soleimani,Aaron“Kumavis”Davis,Juan Benet,Karl Floersch,Christian Reitwiessner,Trent McConaghy,Greg McMullen,Tyler Reed,Joseph Lubin,Joseph Chow,Colin Platt,Igor Lilic和Martin Lundfall。

喜欢这篇文章,请在这里注册我们的每周时事通讯!

免责声明:上述作者表达的观点不一定代表Consensus Systems LLC DBA Consensys的观点。ConsenSys是一个分散的社区,ConsenSys Media是一个让会员自由表达各种想法和观点的平台。要了解有关ConsenSys和以太坊的更多信息,请访问我们的网站。

点对点科技简介

点对点科技深耘IPFS与Filecoin技术,坚持区块链技术改变未来的信念。点对点 IPFS 数据中心是目前国内技术领先,性价比高、保障优的投资标的。自建杭州数据中心,合作数据中心分布于上海、宁波、河北、香港、斯德哥尔摩(瑞典)等地。点对点数据中心具有优秀的硬件配置与目前国内优质的网络节点资源。点对点科技力求将IPFS爱好者升级为IPFS领军者与受益者,让IPFS颠覆传统互联网,共同开启 WEB 3.0时代。

想了解更多区块链知识吗?关注我吧!

Filecoin测试网二阶段昨日重启,点对点出块第一! | 点滴资讯

原创文章,作者:Redwinam,如若转载,请注明出处:https://ipfsdrop.com/tech/interplanetary-links-calculation-computing-merkle-in-the-court-from-block-chaining/

发表评论

电子邮件地址不会被公开。 必填项已用*标注