分类
之前文章中提过,我们可以把扩展性分为如下几个部分:
链上(第一层),例如分片技术(Sharding)
链外(第二层),例如状态通道、Plasma和Truebit
跨链,例如Cosmos和Polkadot
分片技术、状态通道和Plasma可以提高交易的吞吐量,而Truebit的目的是把复杂计算“外包”。
经济模型
在以太坊上实现第一层解决方案将引起硬分叉,我们更多地集中在第二层解决方案上,其根本假设在于:
利用链上提供的确定性作为锚点,并于其上附加其他经济学模型以扩展公链已有的能力
从之前文章的例子可以看出,第二层解决方案的经济学模型是通过对各参与方创造激励,使其相互竞争(检查)从而确保结果的正确性。例如:
在状态通道中,智能合约存在一定的时间让参与方挑战结果
在Plasma中,引入了欺骗证明(fraud proof)
在Truebit中,验证者发现求解者错误的结果将得到奖励
这种加密经济(Cryptoeconomic)模型的设计是链外解决方案的基石,只有在区块链可编程的情况下才成为可能,因为我们需要通过编程逻辑强制执行某种经济规则。在某种意义上,这也回应了如下两个口号:
Code is Law
In Math We Trust
编程支持
不同的第二层解决方案为满足各种应用要求有各自的侧重点,例如速度要求高的可以使用状态通道或Plasma,确定性要求高的可以直接在主链上运行。关键是,我们没法事先预测扩展方案可能需要的编程支持。要支持各种类型的加密经济模型,完整的编程支持是非常重要的。以太坊发明的时候没法预见到Plasma和Truebit,但因其图灵完备,后续技术可以通过链外的方式叠加并形成新的经济模型,而考虑到比特币上有限的脚本支持,其上实现链外解决方案是相当困难的。
加密经济和编程支持是链外解决方案的重要组成部分。
领取专属 10元无门槛券
私享最新 技术干货