如何利用世界计算机来扩展区块链的功能
扫描二维码
随时随地手机看文章
前言:长远看,区块链一条链通吃天下的可能性不大。不同的应用场景对于安全程度的需求不同,这跟安全、效率和去中心化之间的权衡相关,也跟不同应用场景的用户需求相关。从目前看,未来会有很多链,不仅有一些安全程度要求高的公链,还会有其他各种链,比如各种应用链、私有链等。如果这是未来,那么,链间互操作性变得非常重要。提供统一安全的跨链模式会更成功?还是根据自己需要来自定义安全程度的跨模模式更成功?目前看,各有利弊。在发展的进程中,两种模式也会有融合,不管如何,希望看到波卡、阿童木等跨链模式的生态能够繁荣发展。
比特币和其他早期加密货币并不是图灵完备的,只能执行一系列特定于某个区块链目标的操作。这导致以太坊的诞生,它试图通过构建通用的“世界计算机”来扩展区块链的功能。
到如今,可以看到众多不同的区块链设计,在隐私、扩展性以及治理方面都有创新。然而,关于推动构建成千上万dApp方面,基本上只有两类方法。
1.超强大的世界计算机
l 以太坊、Algorand、Dfinity、Thunder
l 可以承载数以万计dApp的超快区块链
l 强大的安全,控制整条链很昂贵
l 使用“Layer 2”技术实现扩展(如闪电网络或Plasma)
2.区块链的互操作网络
l Polkadot(波卡)、Cosmos(阿童木)网络
l 许多不同的区块链,但可相互通信
l 特定于应用的区块链
l 不同的安全模型,不是像比特币一样由一组矿工支撑整个网络(尽管对Polkadot来说并非如此)
这些本质上是不同的设计,但每个都有自己的权衡取舍。本文阐述互操作性的案例,并说明为什么单一的“世界计算机”并不可行。不过,这里并不会解释互操作性的具体技术实现,例如IBC(区块链间的通信)协议。
一种尺寸无法适合所有
为了构建真正稳健的智能合约平台,平台的架构必须满足最广泛的应用程序。例如,如果以太坊核心开发者认为很多应用需要使用特定的加密原语,他们可以升级以太坊协议,以将预编译合约包括进来,从而让计算更高效。然而,可能存在要求不同加密原语的应用,并且这些开发者对以太坊协议的设计和进展感到满意。(蓝狐笔记注:文中意思是说,有些应用对现有的以太坊设计已经足够满意,并无升级迭代的需求。)
这不仅限于小的加密原语,所有基于智能合约平台构建的应用都受制于这些系统规则,包括交易费用和计算成本(gas)。由于这些固定规则无法满足所有用例,有些应用被迫做出平衡取舍,例如0x有链上结算和链下订单簿。将你自己的应用构建在自己的链上,这允许你自我治理,不管它们合适与否,在其中,应用开发者可以改变和升级底层状态机,而不依赖于特定设计或架构。
最后,受制于单个经济计算单位,会给系统带来次优结果。Ether只是一种衡量计算的单位,还是一种价值存储?如果我们认为Ether是一种价值存储,我们会不太愿意用它来支付应用的gas费用,这会导致Ether价格与用途价值(为计算提供动力)之间产生显著的分离。相反,货币区块链和计算区块链之间各自独立但可以相互沟通,这可能会产生更好的结果。
有效市场
去中心化系统被市场有效地控制。比特币区块链是一个市场,它匹配了矿工(系统安全的卖家)和用户(对货币单位有需求的卖家)之间的需求,其中货币单位的安全由矿工来提供。在像以太坊这样的智能合约平台上的卖家和买家之间的关系没那么清晰,因为需要有很多不同的“产品”。例如,交易加密猫和交易证券代币对于安全的需求完全不同,但是,它们都为交易支付相同的费用。加密猫用户可能为以太坊区块链的安全性付出了过多的代价,这有效地补贴了去中心化交易所中的高风险交易。(蓝狐笔记注:不过此处的比喻不一定恰当。因为当时加密猫不仅是一种游戏,同时每只加密猫也是非同质代币,有的价值也不菲。也许使用其他用例做比喻更合适。)
在理想情况下,特定商品或服务的供求应该尽可能相互咬合。对于上面的例子,人们也许会质疑为什么交易加密猫需要得到成千上万的中国矿工来保护其安全。相反,我们可以想象一下,特定的利益相关者(可能是早期加密猫的支持者或投资者)提供足够的安全性来支持系统,而像MakerDAO这样的应用可以由完全不同的一组安全提供者来支持。
通过这样的方式,我们可以创建更有效的市场,这通常可以转化为更便宜的费用和更快的交易速度。既然并非所有应用都需要相同程度的安全,因此对于大规模的用户来说,统一的安全通常是不经济的。然而,它也有缺点,就是要求每个应用链都有自己的验证者组,对于特定的应用来说,从零开始启动这一点可能有难度。无法招募到大量且分散的验证者组将影响应用链的去中心化。
可扩展性
构建可扩展的“世界计算机”需要工程设计的独创性。这里面已经产生很多设计提议,基本上是分片和各种加密技术。这非常有难度,因为平台必须能够容纳“最坏情况”的应用,而不是“平均情况”应用。这意味着,如果“平均情况”的应用需要每秒10个交易,但有个应用需要1万tps,这种情况下,区块链为了容纳这个应用,它必须能实现1万tps的吞吐量。
相反,如果我们构建应用专属的区块链,将会更高效,每条链只须适合自己的速度要求即可。例如,要求很高tps的游戏在一条完全的独立基础设施上运行,跟每月仅做一次支付结算的区块链完全区分开。在各自独立的基础设施上运行让沟通变得困难,但像IBC和Cosmos Hub这样的技术可以解决这些问题。(蓝狐笔记注:IBC是指区块链间的通信。)
可组合性
很难想象,未来只会有一条链的存在。因为不同的链在去中心化、治理和功能上都有不同的权衡取舍。在这样的世界愿景中,我们如何确保这些区块链能够互操作?例如,像MakerDAO这样的应用可以很好地处理尽可能多的不同类型的资产。
然而,既然MakerDAO是基于以太坊区块链,它很难将BTC用作其系统的抵押资产,从而导致像Wrapped比特币的产生。从根本上,Wrapped比特币只是比特币区块链和以太坊区块链之间的简易桥梁。桥梁很难建构,因为它要求两条链上各方的很多协调和信任。
链间直接通信的方法不能很好地实现扩展,因为每次新桥加入都需要实例化以实现链的连接。因此,通过单一的hub路由所有跨链通信是更高效的结构。
例如,如果一条链想与其他三条链沟通,它只须简单地跟Hub搭建一条桥梁,那么就可以通过hub路由信息到其他独立的链,而无须构建三条独立的桥。这就是Cosmos Hub的基本设计。
使用上面的示例,如果在Cosmos网络上构建MakerDAO链,那么,就可以轻松进入其他资产,而无须构建与其他链的独立桥梁,只须跟Cosmos Hub连接即可。考虑到Cosmos SDK被设计为模块化框架,它已经是Cosmos SDK的即插即用组件。
结论
当前区块链应用默认是构建在现有的智能合约平台上(如以太坊),而不是从零开始构建自己的链。
但是,随着构建自己的区块链变得跟编写web应用一样简单和不受限制,且链之间的互操作性变得无缝,上述的情况会发生改变。
“世界计算机”的愿景确实有一些显著优势,例如共享安全,这可以减少从零开始构建新链的心理开销,但根据你所构建的应用类型,选择自己的安全模型也有明显的好处。我们认为,如果验证者们也是应用成功的利益相关者(投资者、早期用户、高级用户、团队等),那么为专属的应用链发展出一组验证者也非难事。