当前位置: 首页 > 科技 > 区块链 > 互联网计算机&以太坊集成说明_腾讯新闻

互联网计算机&以太坊集成说明_腾讯新闻

天乐
2021-05-31 00:51:38 第一视角

背景

互联网计算机的历史与以太坊项目的早期密不可分。在更多地讨论网络将如何集成以及将如何解锁之前,我将提供一些背景资料和上下文,因为其中很多已经随着时间的流逝而消失了-不久前的确如此,但是区块链每天都在变化,事情发展得如此之快,似乎是一辈子。

当我于2013年开始在区块链上全职工作时,我的主要个人兴趣是设计更快的共识机制,以与权益证明架构一起使用。在2014年夏天,我开始研究一个名为Pebble的概念,现在还可以找到我的旧的未完成的论文(除非您对区块链的历史感兴趣,否则您不应该花时间阅读)。

该项目之所以没有实现,很大程度上是因为我在以太坊现场获得的学习经验。在某个时候,我吸收了“世界计算机”的概念,它成为我的圣杯–这就是我认为未来的互联网应该是这样的。

我还有一个顿悟:我看到,智能合约实际上是一种全新的、且具有深远优越性的软件形式。经过分析,我看到,如果可以消除它们的限制,那么肯定几乎所有东西最终都将在区块链上重建,因为它们在开放的公共网络上运行,比在私有基础架构上运行更好。

因此它们是防篡改的(不需要防火墙!),不可阻挡,可以在单个空间中相互插入,每个合约可以同时成为多个系统的一部分,提供服务可组合性,从而产生非凡的网络效果,并且可以继承区块链的属性自主运行,这样他们就可以以代币形式处理价值等等。

追溯到2015年,我放弃了之前的工作,而后我又重新考虑了使用更传统的共识技术的工作,因为我看到了可能称为“阈值中继”的内容(现在是互联网计算机共识机制的一部分)。我看到了一种方法,可以将密码学应用于分散式网络中,以产生不可阻挡的随机数流,并具有完全的安全性,可以用来驱动有效的区块链协议。

我看到了推动区块链协议扩展验证和容量的潜力。很快,我开始谈论DFINITY项目,因此得名是“去中心化无穷大”的缩写。我的重点是寻找创建世界计算机区块链的方法,该区块链可以使用智能合约在链上完全运行几乎所有系统和服务。

最初,我希望我的研究将在以太坊项目中使用。我的工作没有财务目的,并且受到对分布式计算的长期热情的驱使,这种热情已演变成对区块链的痴迷,以至于我无法想象我会继续从事其他工作。我成为早期以太坊流程的一员,讨论了可以在下一代区块链中应用密码学和分布式计算协议的新方法。

当时,人们对提出的想法很感兴趣,但实际上它们太复杂了,听起来太过于未来主义,而且在任何合理的时间范围内都很难实现。我感谢以太坊早期的人们,例如Vitalik和Joe Lubin在许多早期的讨论中都肯定了我的观点。

实际上,人们可能会正确地选择不遵循我建议的道路。我所描述的任何事情都无法很快实现,正如使互联网计算机实现多年所证明的那样,这最终涉及一个庞大而精干的团队的不懈努力、新颖的加密技术的创造以及更多(高级文档正在逐步上传到https://dfinity.org/technicals/)。

到2016年,很明显,我创建互联网计算机所必须采取的方向将与致力于工作量证明的以太坊的短期发展轨迹不相容,而以太坊在探索使用工作量证明的升级途径时最终要转向权益证明,然后发展这个想法DFINITY必须成为一个独立的项目。

最终,DFINITY基金会在瑞士成立,筹集了资金,而故事的其余部分相当知名,因此在此不再赘述。该网络花了很长时间才能实现-多年的工作-实际上,如果没有我们现在拥有的那种团队,这是不可能实现的。

该团队由来自世界各地研究中心的许多杰出的工程师和研究人员组成,在区块链内部或更广泛的范围内,与任何技术领域的操作相比,可能包含了更多的领先密码学家。

我们的使命是推动区块链的独特性,其中世界上大多数系统和服务都是使用智能合约创建的,并且完全在链上运行,这种转换也将花费数年时间。

在谈论如何集成互联网计算机和以太坊、加速实现这一梦想之前,我将重申我多次说过的话,以免引起疑问,以揭穿社交媒体上的错误信息:

没有以太坊提供的灵感,我们今天看到的新兴的互联网计算机网络将不复存在。以太坊引入了“世界计算机”和“智能合约”的概念,参与DFINITY的每个人都非常感谢。我们站在巨人的肩膀上,并且是以太坊的朋友,而且一直都是。

以太坊和互联网计算机是不同的野兽,这源于它们各自的重点。由于技术上的考虑,您无法将一个转换为另一个。它们在设计上有所不同,但非常互补,不是互相竞争。互联网计算机由特殊节点计算机托管,这些特殊节点计算机由遍布全球的独立数据中心中的独立节点提供程序运行。相比之下,任何人都可以使用显卡创建以太坊区块生产节点,然后在家中运行它。出于技术原因,您将需要在世界上同时使用这两种体系结构,而它们会产生不同的互补属性。

互联网计算机现在不是、也从未打算成为“以太坊杀手”,也从未被当作“以太坊杀手”出售,这是我直到今天仍在与之抗争的令人沮丧的误解。在提供对比属性的示例(例如智能合约计算的相对成本)的地方,目的是说明互联网计算机扮演的附加角色,而不是声称以太坊的不足。网络在一起变得更强大。

我仍然是以太坊的忠实拥护者,并保持着在项目初期就建立的许多友谊。说够了。

看到两个网络集成在一起,这将为两者带来巨大的价值,并重新加入DFINITY的起点,这将带给我更多的乐趣,而这正是我们要做的。

以下是我急忙写的,因为在我最近被广泛阅读的推文之后,人们都在呼吁提供更多信息-这只是一个概述,很快将提供更多信息。

直接互操作性

互联网计算机上的智能合约(之所以称为“容器”,是因为它们是一堆WebAssembly字节码,并且它们的逻辑作为软件参与者在其中运行着持久存储)是非常不同的野兽。

它们以Web速度运行,可以直接为最终用户提供Web体验,从而提供端到端的区块链安全性,可以用于创建可扩展的dapp,并且可以以相对稳定的成本处理和存储数据,这仅是传统区块链成本的一小部分。他们可以完成当今以太坊无法完成的工作。

例如,今天一GB的智能合约数据可能使您在以太坊上花费约100,000,000美元(可以查看最新费用)。在互联网计算机上,您可以期望每年以cycles为单位的费用低于5美元。将两者连接在一起将为在以太坊上运行的智能合约提供这些分散的功能。

为了使所有这些成为可能,我们需要使以太坊智能合约能够直接在互联网计算机上调用智能合约,并使互联网计算机智能合约(“容器”)直接在以太坊上调用智能合约。

例如,您可以想象运行在以太坊上的DeFi系统可能会使用互联网计算机上的智能合约来为最终用户安全地提供用户体验,而不是使用Amazon Web Services云上托管的不安全网站-迫使最终用户相信网站运营商是诚实的,AWS是诚实的,并且该帐户尚未遭到黑客入侵,因此他们永远无法真正确定自己甚至在与智能合约进行交互。集成的这种简单的潜在应用暗示了可能性,这两个网络的组合将具有不可思议的强大功能。

通过互联网计算机上的智能合约服务的网站也可以与互联网计算机上的智能合约安全地交互。如果这些智能合约可以直接与以太坊智能合约进行互操作,那么我们可以创建安全的去中心化循环,即端到端的区块链。

安全性不是唯一的好处:整个系统可以实现自治,并置于管理令牌的控制之下,以使DeFi网站的运营商不会成为此类开放服务的合法“所有者”。

这种架构将提供无数其他可能性。DEX可以使用互联网计算机上的智能合约创建,其接口类似于Poloniex所提供的接口,例如,其价值和资产流随后以太坊结算。

或者,例如,基于以太坊的dapp可以使用互联网计算机在一个安全的区块链信任区内维护和提供大型数据对象,甚至包括视频文件,并在其中存储数据,还可以对其进行查询和操作,通过防篡改、不可阻挡和潜在自治的智能合约逻辑。

试想一下,一旦启用以太坊智能合约,可以低成本快速地维护和处理大量数据并直接为最终用户提供体验,那么这些合约将被应用到创建DeFi生态系统中时,以太坊将变得更加强大。

以太坊与互联网计算机的集成也将为以太坊dapp提供一条途径,以通过应用互联网身份来解决其可用性挑战-允许用户仅使用他们的设备(例如手机上的Face ID、笔记本电脑上的指纹传感器以及YubiKeys和Ledger设备)对互联网计算机上的区块链服务进行身份验证,而无需持有令牌或管理令牌钱包(互联网计算机使用“反向gas”模型,在这种模型中,智能合约为自己的计算付费)。

例如,以太坊dapp的最终用户可以使用互联网身份验证对网站上的服务进行身份验证,而不会产生冲突,而互联网计算机上的基础智能合约可以安全、无缝地管理创建基础的以太坊交易,从而消除了大众市场采用的主要障碍,您可以进一步了解链密钥密码技术如何使之成为可能!

互联网计算机也将从这种集成中受益。例如,网络的主要目的是实现对以开放和令牌化形式从区块链运行的社交媒体的重新想象。这通常将涉及与DeFi的集成,并且通过与以太坊上的DeFi智能合约的直接互操作性将大大促进这种集成。

因此,毫无疑问,网络的整合将产生巨大的价值,但是如何做到这一点呢?

阶段I

使互联网计算机智能合约能够调用以太坊智能合约

互联网计算机网络是使用称为“链密钥”的密码技术创建的。无需深入研究细节,这在很大程度上取决于阈值加密,在这种加密中,组织为子网区块链的节点计算机组共同管理单个“链密钥”,通常只有48个字节。本质上,这是链的公钥,与这些链的交互上的相应签名告诉您交互有效,并且链正确。

协议的复杂程序集管理这些链密钥,即使构成链的节点来来去去,它们也保持不变。不存在相应的“私钥”。取而代之的是,组成链的节点维护“私钥份额”,可以与“阈值”相等的数量使用“私钥份额”以生成与公链密钥相对应的签名。

互联网计算机的复杂协议体系结构旨在对这些密钥进行拜占庭容错管理,并确保即使托管区块链的节点发生变化,链密钥也保持不变。

现在,我们将在互联网计算机区块链上的智能合约中展示此功能。虽然互联网计算机严重依赖BLS门限密码(以在DFINITY基金会的工作人员Dan Boneh、Ben Lynn和Hovav Shacham的名字命名),但我们将引入对ECDSA门限变体的支持-这种非常加密的方案可保护比特币和以太坊的安全余额和智能合约。

从本质上讲,这将使互联网计算机上的智能合约能够创建与那些链上的公钥有关的比特币和以太坊交易,而无需持有相应的私钥(该私钥甚至不存在,而是采取通过独立节点安全分配给各公钥的形式)。

为了使开发人员易于使用,我们将在互联网计算机上创建一个特殊的“代理”智能合约,这将使创建比特币和以太坊交易就像调用函数一样容易!这意味着互联网计算机上的智能合约将能够调用以太坊上的智能合约的功能。

在这一阶段,我们应该注意,阈值ECDSA根本没有效率,并且完全不适合互联网计算机区块链协议中的常规用法。但是,互联网计算机区块链的运行效率很高,与必须在这些网络上支付的交易费用相比,在比特币和以太坊上创建交易所消耗的cycles成本仍然相对较小。

因此,即使在以太坊交易上构造签名在计算上将非常昂贵,但成本也不会成为问题。

现在,我们必须考虑如何返回从互联网计算机到以太坊的呼叫结果,以及以太坊上的智能合约将如何调用到互联网计算机上的智能合约。

启用以太坊智能合约以调用互联网计算机智能合约,并且以太坊返回结果

我们不能使用神奇的加密来解决此问题,但值得庆幸的是,可以相对容易地提供完善的Stage I解决方案。

在了解了以太坊网络当前的哈希率后,只需通过“工作量证明”检查它们的嵌入程度,就可以看出哪些块是有效的。也就是说,如果社区中继将新的以太坊区块复制到互联网计算机上的代理合约中,则该合约将能够通过查看将其嵌入链中的工作量来检测何时有足够的可能性完成区块。

一旦合约看到某个区块已完成,它便可以扫描该区块,以查看从以太坊智能合约到互联网计算机智能合约的呼叫,以及先前呼叫结果的另一个方向。然后,代理将在互联网计算机上调用智能合约,并将值返回到先前在以太坊中调用的智能合约。

当然,以太坊上的智能合约还将通过以太坊上的另一个代理合约在互联网计算机上调用智能合约。非常简单!

阶段I能做和不能做什么

由链密钥启用的这种相对简单的体系结构已经非常强大。与互联网计算机上智能合约提供的Web体验进行交互的最终用户可以触发对以太坊的呼叫,并将结果返回给他们。

此外,以太坊上的智能合约可以在互联网计算机上调用智能合约,这可能为其执行复杂的计算任务,并代表它们维护和处理大量数据。无需任何区块链中心,预言机或其他中介机构即可实现这一目标。各种各样的事情将成为可能。

但是,有一个领域需要改进。互联网计算机上的智能合约将仅能向最终用户显示以太坊智能合约通过代理调用的功能调用将以太坊智能合约推送给他们的数据。

尽管这是可行的,但仍然存在这样的情况,在以太坊上进行任何函数调用都非常昂贵-数十美元,而在互联网计算机上进行调用仅花费了很小的几分钱。在所有情况下,这都无法授予以太坊智能合约全部可以由互联网计算机的效率提供的利益。为了解决最后一部分,我们必须进入第二阶段。

阶段II

为了使以太坊智能合约的数据和功能以接近零的成本提供给互联网计算机智能合约,我们必须在代理合约中维护以太坊当前状态的副本。也就是说,代理合约不仅必须扫描最终的以太坊区块以获取交易数据,而且还必须使用接收到的区块来维护和更新以太坊完整状态的副本。

完成此操作后,互联网计算机智能合约将能够在不修改其状态的情况下调用以太坊智能合约(例如,调用仅返回一些信息或执行一些统计分析的以太坊智能合约getter),接近零成本。从本质上讲,它将在合同内运行一个以太坊节点,这与今天在AWS上运行的Infura节点维护以太坊状态副本的方式几乎相同。

第二阶段是一项更复杂的任务,并且将花费更长的时间,尤其是因为互联网计算机智能合约(“容器”)目前最多只能容纳4GB的内存页面,因此以太坊状态必须跨多个分片合约。

尽管如此,所提供的优势将是巨大的,因此,如果可能的话,当然应该做到,一些以太坊开发人员已经在考虑实现这一点,并在代码上取得了一些进展。

最后一点是,杂乱的快捷方式是可能的,这将涉及使互联网计算机节点能够与以太坊节点通信,以便它们可以为查询以太坊状态提供低成本的桥梁。

这里的挑战在于,这将涉及信任运行与网络进行互操作的以太坊节点的任何人,与仅涉及智能合约时相比,这提供的安全性要低得多。如果有人想出一种提高安全性的方法,那么可以想象这会提供一个Stage 1.5解决方案。

总结

我们许多人已经把生命献给了区块链。但是这项努力还很年轻,我们不能止步于此,要去寻求使区块链更强大,并解决大规模采用方式面临的挑战。区块链是新的互联网,我们必须使所有系统和服务都能够在区块链上重建和重新构想。

这将推动创新、增长、机会和社会自由的浪潮,并提供新的做事方式,即使到现在仍然很难想象其中的许多方式,这些方式可以与甚至被广泛采用的方式相提并论,甚至远远超过。互联网,这是一个将我们所有人团结在一起的公共网络。

我们必须克服可用性和成本方面的挑战,并释放在全球范围内罕见的类似网络效应。伟大的第一步将是确保互联网计算机和以太坊可以像单个网络一样运行,从而在两个网络中发挥其相对优势的好处,这种整合可能会带来变革。

提示:支持键盘“← →”键翻页
为你推荐
加载更多
意见反馈
返回顶部