智能合约如何才能真正实现大规模应用

智能合约如何才能真正实现大规模应用,第1张

“技术的最高境界是融入日常生活的各个场景,褪去高科技的外衣,彻底变成日常生活的一部分。”——Mark Weiser

未来的人们甚至不会认为智能合约是“创新”。到那个时候,智能合约会渗透至生活的方方面面,人们甚至都无法想象非数字化货币的时代是什么样的。

以后的历史学家可能会将人类商业历史划分成两个纪元,即前智能合约时代和后智能合约时代。毕竟,数字化货币对现实世界中商业行为的本质和模式都带来了史无前例的改变。Chainlink社区的一位匿名成员曾这么说过:“智能合约会改变商业的DNA。”

当然,就像过去所有的技术革命一样,智能合约也需要到达一个“引爆点”才能真正实现大规模应用。

因此我们需要问自己两个问题:

1. 这个所谓的引爆点到底是什么?

2. 截止到2019年8月为止,我们是否到达了这个引爆点?

要到达引爆点就意味着要解锁商业的终极必杀技。

引爆点

我们可以从主流企业的视角思考这个问题。想象一下一个完美的智能合约平台应该是什么样的。这个平台应该拥有哪些特点?或者必须拥有哪些特点?

要到达引爆点,就必须建立一条拥有以下四大特点的公有链:

1. 隐私保护

2. 交易中除了加密货币外还可以选择用主流法币结算,并且符合ISO 20022等金融市场监管规定。

3. 在不牺牲去中心化或安全性的前提下实现可扩展性,即解决“不可能三角问题”。

4. 连接链下的外部数据,即解决“预言机问题”。

而现在我们有了Chainlink、zk-snarks和分片技术,已经到达了这个引爆点。

接下来,我们来探讨一下这个终极必杀技究竟是如何使出来的。我们的讨论将主要从以太坊的角度展开,以太坊目前在社区规模和主流应用方面仍然是最顶尖的智能合约平台。

那么私有链呢?

在深入探讨之前,我想先花点时间解决一个无法回避的问题。一直以来,主流观点都认为私有链是更适合企业的解决方案。所以我们先辩证地分析一下私有链的两大优点和两大弊端。

弊端:

1. 中心化导致安全性相对更低

IBM和马士基的区块链货运联盟很难找到愿意加入的客户,这点其实并不令人感到意外。其他货运公司怎么会愿意让它们最大的竞争对手(马士基)去验证它们的交易数据呢?只有疯子才敢这么干。

2. 跑马圈地各占山头:

这个问题甚至比中心化还要严重。IBM区块链的联合创始人John Wolpert写过一篇优秀的文章叫《打破壁垒实现安全性:企业为何要拥抱以太坊公有链》,他在文章中详细讲到了这个问题。

如果每家企业都建立自己的私有链,那么就会导致各占山头的乱象。如今B2B生态系统非常复杂,试想一下全球无数条私有链交织在一起形成一张巨大的“蜘蛛网”。这样做不仅成本效益低下,而且也不具有可扩展性。

区块链的出发点是要打破壁垒,而不是建立更多壁垒。

“有一天你的一个大买家打电话给你问你要不要加入他们的私有链,你答应了。第二天你又接到批发商的电话问你同样的问题。接着是供应商、货运商、保险公司或者甚至是银行,而且每家公司都可能有好几条私有链!最后你不得不每天投入大量时间和成本 *** 作几十条区块链。如果这时候还有合作伙伴让你加入他们的私有链,你可能会说“算了,还是把订单发传真给我吧!”——Paul Brody(安永)

“你每次通过系统集成商连接两条私有链都需要支付一大笔费用。”

优势:

1. 可扩展性:随着以太坊公有链实现分片技术,这个优势正在快速缩小。

2. 隐私保护:在目前这个阶段,公有链/私有链这个分类其实并不太准确。Aztec协议、Zether协议和Nightfall协议(都是基于zk-snarks的协议)都有效地为以太坊公有链提供了一个“私有链模式”,使其可以在公有链和私有链间自由切换。因此,更准确的分类应该是联盟链和公有链。

到2020年,公有链/私有链的标签将逐渐消失。公有链和私有链将不再是两个对立的概念。取而代之的是公有交易/私有交易以及保密合约/公开合约的概念,而且这些交易和合约的范围会根据具体需求而变化,可能是双边的,也可能是多边甚至公开的。

总而言之,私有链与公有链相比存在两个主要弊端。不仅如此,私有链的两大优势也在快速消失。

“技术会随着时间不断发展,因此会不断出现各种解决方案解决现有问题。最终公有链平台将拥有可与私有链媲美的性能、可扩展性和数据隐私性,并同时保障安全性和去中心化。”

特点一:隐私保护(预言机和公有链的隐私)

Enigma创始人GuyZyskind曾在其MIT毕业论文中打趣地说道,智能合约只有变成了“保密合约”,才有可能存在商用价值。之后他提出zk-snarks和可信执行环境(TEE)是最有潜力的解决方案。他说得一点也没错。

zk-snarks是什么呢?zk-snarks是一种零知识证明机制(ZPK)。那么零知识证明机制又是什么呢?简而言之:零知识证明机制让你可以证明自己拥有某些信息,而无需披露信息的内容。

Vitalik Buterin在2017年发表的文章中从技术的角度详细对这个概念作出了解释。而Hackernoon也写过一篇优秀的文章,用五岁小孩和万圣节糖果的例子通俗易懂地解释了这个概念。

可信执行环境是什么呢?可信执行环境让代码在封闭的硬件中运行,并且

1)保障结果不可被篡改

2)保障绝对隐私,甚至运行代码的硬件都无法获取保密信息。

最为人熟知的可信执行环境就是英特尔SGX,Chainlink在收购TomCrier后与英特尔SGX建立了合作伙伴关系。

安永在2019年5月31日在Github上发布了Nightfall协议。一家拥有百年历史的知名会计事务所会选择在公有链上增加隐私功能而不是开发私有链,这点就很说明问题了。

自那以后,社区就积极在此基础上进行开发,不仅完善代码,还为不擅长写代码的人开发了一个即插即用的Truffle Box。区块链社区和企业一般很少会合作,所以这些合作充分说明了Nightfall的受欢迎程度。

在此之前还推出了两个基于zk-snark的以太坊公有链隐私协议,即AZTEC(Consensys)和Zether(斯坦福,摩根大通)。一个显而易见的趋势正在慢慢成形。

在预言机领域,Chainlink同时利用零知识证明和可信执行环境,使两者实现互补。可信执行环境可以保证数据隐私,即使是节点都无法访问数据(这个功能对银行账户和API密钥至关重要)。

Chainlink目前仍然在尝试实现可信执行环境,节点暂时还能访问数据,因此还需要认证服务。虽然可信执行环境几乎是100%万无一失的,但是从理论上来说,再坚固的盾都有能击穿它的矛。因此,团队目前正在尝试在可信执行环境中运行zk-snarks(Thomas Hodges在2019年Trufflecon的问答环节中曾经提到过这一点)。两者结合能形成一个非常稳健且完备的系统。攻击者必须想办法同时剥掉一颗洋葱的所有层皮才可以进行任何有效的攻击(而要剥掉一层皮就已经很难了)。

“Chainlink将可信执行环境和零知识证明相结合,建立我们所谓的纵深防御系统,也就是说他们为智能合约开发者提供了一切所需的工具,包括可信执行环境、多个节点、过个数据来源、罚款保证金、声誉系统、非对称加密、零知识证明、WASM以及OTP+RNG,这些功能可以让智能合约开发者根据具体预算和安全需求调整合约的保密性和成本。”《加密预言机、Chainlink及其四大主要应用场景》

以后,zk-snarks可能升级成zk-starks(一种全透明的零知识证明机制),保护系统免于量子计算机的攻击。而且zk-starks最牛的地方是它的可扩展性比zk-snarks还要高。也就是说它可以更好地保护隐私,而且gas费用不会升高。

如果想进一步了解有关zk-starks的内容,可以去读Adam Luciano写的一篇科普文章。

智能合约如何才能真正实现大规模应用,智能合约如何才能真正实现大规模应用,第2张

特点二:可扩展性(预言机和公有链的可扩展性)

要理解这个问题,我们可以这么做个类比:

公有链就像一家大型企业,每个员工(即节点)都必须参加每个会议(即确认每笔交易)。可以想像这家公司的效率得多么低啊!只有出很多钱(即gas费)的客户才能让自己的请求排在最前面。而且这还不是最严重的问题,最严重的问题是加入公司的员工(即节点)越多,公司就越难正常运转!最后导致公司不但无法线性扩张,反而规模还越来越小。这样做虽然在最大程度上保障了去中心化和安全性,但代价是完全放弃了可扩展性。

有各种临时救火的解决方案,但是没有一个方案可以完全解决这个“不可能三角问题”。举个例子,EOS采用了DPOS机制(股份授权证明机制),系统中只有21个超级节点(其中许多都是为人熟知的节点)负责验证所有交易。

侧链(比如比特币的闪电网络和以太坊的雷电网络)可以保证可扩展性和去中心化,但代价是牺牲安全性。

那么如何利用分片技术解决这个问题呢?我们再做一个类比:

现实中,只有一种公司即使要求所有人参加所有会议也不算太过分,那就是小型初创企业(即限制了节点数量的私有链)。

在大多数情况下,大企业会将员工分成几千个团队(即分片),每个团队的负责人(即验证者)负责向高管层(即主链)汇报。如果不同团队的人需要合作(有时候也会发生),那么就可以通过跨分片收据(cross-shard receipts)进行合作。如果有新员工加入公司,那么团队可以重新划分(即重新分片)。这样就可以实现线性扩展。

实际上,初创企业发展到大企业的过程与以太坊1.0发展到以太坊2.0的过程出奇地相似。

“以太坊1.0时期是几个势单力孤的人想要造出一台世界计算机;而以太坊2.0会真正发展成世界计算机。” Vitalik Buterin在首次分片工作坊上说道。

由于以太坊一开始并不是按分片原则建立的,因此需要分七步走才能实现目标(这有点像单词变形接龙游戏)。第一步计划于2020年1月3日开展。

与此同时,开发者还可以使用基于分片原则设计的许多其他区块链平台。包括Zilliqa和Quarkchain在内的一些平台已经能够做到与Chainlink兼容了。

如果想看关于分片的更多深度技术分析,可以去看Ramy Zhang写的一篇文章。

在预言机领域,Chainlink具有以下两个特点:

1)使用Schnorr门限签名以成本效益极高的方式快速达成共识。链下版本只需16000个gas。

2)我们之前讨论过必须使用可信执行环境硬件保证节点无法访问敏感数据。既然你手里有硬件,那么就可以用它做一些实际的运算工作,这样一来就可以适当减轻智能合约平台的运算量。

“通过SGX系统(Town Crier)和零知识证明等技术,预言机就可以真正做到可靠、保密,因此预言机和智能合约之间的界限也开始流动起来……我们的长期战略……是让预言机成为大多数智能合约使用的关键链下运算资源。我们相信实现这一目标的方法是在预言机中进行链下运算,满足各种运算需求,再将运算结果发送至智能合约。”Chainlink白皮书,6.3节(26页)

当然,这个“长期战略”具有一定风险,除非Chainlink能够实现可信执行环境,并且其服务商生态系统能够实现质的飞跃。然而,Chainlink团队的愿景绝对是具有前瞻性的:链下计算是确保区块链不被大量物联网数据拖累的关键因素。

物联网大幅提升了现有的大数据状态。目前大部分数据仍是在软件端产生的,而且并非实时数据,而以后的世界中大部分数据将是在传感器端产生的实时数据。实时数据的一大弊端是会使存储压力变大。比如,Coughlin Associates预计一辆无人汽车将每秒产生1G数据。这就意味着同样一辆汽车每小时将产生3.6T数据!

唯一可行的方案就是对数据做实时分析,而不是将数据先储存起来。思科在《全球云指数:2016-2021年预测和方法论白皮书》中预测到2021年超过90%的数据都将被实时分析而无需储存。

这也就是说,数据的本质是它只能存在于短短一瞬间。而区块链的本质是不可篡改性,因此它们两个就像水和油一样无法交融。

而解决方案则是在链下分析原始数据,将有意义的结果提炼出来再发送到区块链上。分片技术和可信执行环境相结合,组成了新的运算架构,类似云计算-雾计算-边缘计算的架构。

智能合约如何才能真正实现大规模应用,智能合约如何才能真正实现大规模应用,第3张

这里要注意到:提升运算能力固然好,但这并不是区块链的主要目的

区块链的根本目的并不是降低运算和数据存储的原始成本。毕竟,亚马逊、微软、谷歌、Salesforce、腾讯、阿里巴巴、Dropbox等科技巨头已经建立了世界一流的云服务。中心化的服务器胜在运算效率高(但是区块链会通过分片技术大幅提升运算效率,总有一天会追赶上来)。区块链的价值是降低建立信任的成本。Nick Szabo将其称为“社会可扩展性”(这与我们一直在说的“运算”可扩展性是相对的概念)。Vitalik Buterin也明确指出智能合约的意义是接受小额的运算延迟罚金以换取“社会成本”的大幅降低。

Chainlink团队的AlexCoventry曾经提出过这样一个问题:“我们因为无法确认对方是否会履行承诺曾经错失了多少次合作和互惠的机会?”

那像Siacoin和IPFS这样的数据存储项目有没有潜力呢?SONM和Golem这样的去中心化计算项目呢?

Siacoin的核心价值主张不是其运算效率高于传统云服务。将数据切分、重复储存、提取时重新组装都需要运算成本。而且企业相对个人更有能力购买最新最好的硬件。Siacoin的核心价值主张是以一种类似Airbnb的模式处理数据,因此管理费将低于传统模式。另外还能够产生额外的社会价值,比如防宕机、保护隐私和安全性以及防审查等。

Golem和SONM也是如此。即使有最高效的协议,要协调不同地理位置的硬件一起进行运算还是会不可避免地出现少量延迟而遭到罚款。所以在其他条件都平等的情况下,中心化的硬件仍然具有运算速度较快的优势,然而上述项目的核心价值主张是使用类似Airbnb的模式降低管理费用。

我们必须要严格区分“社会可扩展性”和“运算可扩展性”,两者不能混为一谈。我在之后讨论“神奇总线和轻量库”的时候会详细解释这两个概念。

特点三:与法币兼容

多数主流企业不把加密货币看作“真正的货币”。另外,即使有人想使用加密货币进行交易,由于其价格波动性较大,实际 *** 作起来也会非常困难。我在前一篇文章的第八和第九章里详细探讨了“价格波动性问题”。这些问题并不能完全抹去加密货币的存在价值,因为加密货币也有很多法币所不具有的优势。我只是在强调我们需要多了解主流企业的舒适区是什么。

Chainlink作为一个通用API连接器,能够触发开放银行支付功能。Chainlink完全符合ISO 20022规定,并且与SWIFT建立了长期合作伙伴关系(这里值得一提的是SWIFT已经很久没有更新过状态了,希望在SIBOS 2019年大会后会更新)。

PSD2将在2019年9月14日正式生效。欧盟所有银行届时将全部遵守这项新的规定。换句话说,银行必须将所有账户数据放在“前端”,并可以通过API被调用。获批的第三方(即Chainlink节点)可以无需通过支付服务商直接触发付款。

虽然美国和日本还没有通过类似法律,但是许多银行仍自发地推动开放银行的发展。银行将API向第三方开发者开放,并以此创造新的收入来源和客户体验,最终提高利润水平。除此之外,这样做还能让银行在以APP为中心的经济模式中更好地应对手机支付和金融科技领域的竞争对手。

随着这场开放银行革命不断展开,Chainlink将使智能合约与全球各种主流货币(美元、欧元、日元等)对接。

要连接到受验证的API只需要一台外部适配器。从编程的角度来看,相对简单的做法是允许社区内所有人向代码库中贡献代码(因此实现可扩展性)。Chainlink发布了针对PayPal和Mister Tango(欧洲版的PayPal)的适配器。

特点四:与链下数据连接

Chainlink一直以来都致力于解决“预言机问题”,并在2019年5月30日成功在主网上线。

Chainlink在这短短几个月内做出了许多成绩。Provable(之前叫Oraclize)成功在Chainlink节点上使用,终于平息了关于预言机应该是中心化还是去中心化的争论。

SyntheTIc Ether由于没有连接Chainlink,导致在一场黑客攻击中损失了3700万枚以太币。所幸这笔钱最后被找回来了,没有造成任何损失。这次教训说明了去中心化预言机的重要性。

另外,甲骨文和谷歌都与Chainlink展开合作变现其API数据,并打造一个良性循环,抢占Facebook错过的市场先机。

目前每周都会有新的节点上线,而且网络活跃度一直非常高。Chainlink团队在文档和Twitter发布中维护着一个认证节点名单。Twitter用户CryptoSponge还建立了一个Tableau推送更新Chainlink团队的最新工作进展:

关于现阶段在区块链发展史上的重要地位,Brad Huston总结得非常精辟:

“加密货币最大的问题是要建立连接加密货币、法币和大数据的桥梁。而Chainlink非常漂亮地缩小了三者之间的距离,现在甚至可以说:‘桥已经建好了。’”

神奇总线和轻量库

我们先总结一下之前讨论的内容。区块链的真正目的是降低建立信任的成本,并实现“社会可扩展性”。

因此按照这个逻辑,以太坊2.0和Zilliqa等平台的主要应用场景就应该在B2B领域。我引用我在之前一篇文章里写的一句话:

“我的结论是:如果智能合约能成功,也会先在B2B领域成功。”

私有链本身就是自相矛盾而且注定会失败的。它导致了各占山头的现象,因此增加了社会成本,这与B2B本身是对立的,最终是作茧自缚。”

在分片技术出现之前,公有链上甚至都不能顺畅运行简单的游戏(即以太猫),更不用说处理复杂的B2B合约甚至改变商业的DNA了。有了分片技术,一切就准备就绪了。

尽管如此,我们不能把以太坊2.0当成一个无所不能的平台。刚刚我们说了,虽然提升运算速度是件好事,但是这并不是以太坊2.0的真正目的。而且之前我们也说了由于区块链具有不可篡改性,因此无法很好得处理大量转瞬即逝的物联网实时数据。换句话说,我们要清醒地认识到以太坊2.0不会代替传统的web2.0。相反,我们应该更好地利用以太坊2.0真正的优势:

“现在出现一个新的理念,那就是将以太坊主网看作是一个全球总线。..我们使用以太坊2.0主网,可以将各种业务资源看作Slack上的工作小组:可以轻松搭建、整合和重组。你公司里的SAP库存管理系统、经销商的JD Edwards ERP系统以及金融科技合作伙伴高大上的区块链系统都可以无缝对接,无需再为每个合作伙伴专门开发基础架构。“——John Wolper描述他理想中的“神奇总线”

以太坊2.0应该是一个集成中心,而不是数据中心或运算中心。它应该是为存放B2B合约条款而专门建立的一个库(说实话,即使是使用分片技术,这些数据量已经够大的了)。

我们不应该期待以太坊2.0成为一个无所不能的平台,而是应该将其开发成一个“轻量库”。

如果我们将刚才的金字塔模型重新排序,那么神奇总线的架构就显而易见了:

当然,上述模型中的位置关系并不是一成不变的。随着5G技术、边缘计算和物联网传感器的发展,它们可能会绕过云端直接交互(或甚至绕过雾端)。如果Iotex和Chainlink的合作成功的话,那么边缘就可以直接与可信执行环境交互。

智能合约如何才能真正实现大规模应用,智能合约如何才能真正实现大规模应用,第4张

时间会证明Airbnb式的共享数据存储和运算模式是否能使管理费用低于目前主流的Web2.0模式。时间也会证明市场是否真的需要防审查、防宕机、安全保护和隐私保护等功能。用户是否真的在乎这些社会价值,并愿意为它们付费呢?他们认为这些只是锦上添花还是最根本的价值呢?

结论

无论是web2.0和web3.0之争还是加密货币与法币之争,有一件事是毋庸置疑的:

我们已经到达了引爆点,具有商业价值的智能合约时代已经到来了。

事实上,目前唯一的问题是时间问题,而主要的路障已经基本扫清了。

1. 以太坊2.0何时会走完这7个阶段并正式发布?

2. Chainlink何时会大规模应用可信执行环境?如果英特尔SGX和Town Crier的合作以失败告终,那么有什么备选计划?Chainlink是否会和其他计划使用可信执行环境的区块链团队(比如Dawn Song的Oasis Labs)沟通呢?

目前,生态系统中的主要技术问题都已解决,现在只需要招募一群充满热忱的开发者做“连点成线”的工作就可以了。

数字化货币已经改变了商业DNA,未来充满着无限可能。

现在唯一阻碍我们的就是我们自己的想象力了。未来令人无限遐想,而且未来将是开发者的天下。Dapps已经势不可挡。毫无疑问,我们已经找到了终极必杀技。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2639114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-12
下一篇 2022-08-12

发表评论

登录后才能评论

评论列表(0条)

保存