基于比特币和Arweave的智能合约,会成为以太坊的对手么?( 二 )


我们能通过公开开源的代码去把繁杂的合约细节统统考虑进去,避免我们为了一个只有0.1%概率出现的事件而去来来回回敲定合约细节.
现在的智能合约
当我们现在讨论到智能合约时,通常我们都在讨论以太坊上或者类似架构的智能合约.
这样语境中的智能合约是一种运行在以太坊链上的程序,是位于以太坊区块链上一个特定地址的一系列代码(函数)和数据(状态).通常这些智能合约是通过Solidity等图灵完备的编程语言来编写的,在EVM等虚拟机中运行并且得到最终的状态数据.通过链上数据的公开性和智能合约的特定统一运算环境,以太坊等链上的智能合约满足了智能合约中的定义和特点.
而这样的整体网络设计是有比较大的问题的.要去升级EVM,来做到升级智能合约的执行性能,是非常困难的,需要漫长的开发和测试时间(虽然以太坊升级进展已经算是神速了).同时,一个被固定在链上的EVM的链内链外交互是非常麻烦的,需要依靠预言机等.除此之外,EVM过于简洁的设计也局限了它自己的功能,复杂的数据计算是做不到的,甚至连计算个三角函数都很麻烦.最后,要去升级EVM也是很困难的,毕竟EVM是在以太坊节点不断运行的,修复和升级它就仿佛在一架飞机飞行的时候去修引擎.然而这些问题都是双刃剑,要解决它们或多或少都需要舍弃安全性等因素.
在EVM里用图灵完备的Solidity去编写智能合约,除去一些复杂操作来说,是能实现很完整的,比如AMM等应用.而比特币或者Arweave链上是没有这样的图灵完备编程语言的.
基于比特币和Arweave的智能合约,会成为以太坊的对手么?
文章图片
那么链外呢?链外我们有无数的图灵完备编程语言,我们甚至都不用去专门定制一个,直接抓一个来用就行.你可能会有疑问,如果计算进行在链外,那么区块链的意义何在呢?但是其实,以太坊的Layer2也是靠各种的链外升级,来优化网络的效率.与其在链外去创建无数个Layer2,来以年的时间来逐步提高TPS,不如直接在保证计算和存储可信的情况下,把TPS提高到物理层面的上限,让区块链成为一个存储层,毕竟在StarkWare等的解决方案中,以太坊基本就是一个存数据的地方而已.那么这个解决方案其实就是本文所要讨论的:基于存储共识的智能合约.
Web3.0的前提是要Web.最好的是,原生的整套方案就具有和Web2.0一样的性能(比如像@muneeb所说的:如果喜欢EVM这样的方案,那么去重新做一个以太坊.而不是在遵循奥卡姆剃刀设计的比特币上塞入一个EVM),不应该是在各种缝缝补补后重新回到了Web2.0,才拥有Web2.0的性能.
2.彩色币ColoredCoins
目前来看唯一一个能做到传统应用一样性能的去中心化应用就是使用基于存储的设计.这样的去中心化应用将区块链作为图灵机的纸带,将状态以及状态的改变存储在区块链上,同时合约的最新状态计算可以在链下用户的客户端内进行.这样的设计可以让去中心化应用的性能上限直接提高到网络的带宽或者用户自己硬件的性能,是目前来说的最高效的解决方案.
很早就采用基于存储设计思想的一个典型应用就是:彩色币.
彩色币简介
基于比特币和Arweave的智能合约,会成为以太坊的对手么?
文章图片
正如我们之前所提到的那样,中本聪设计比特币的时候,想到或许就是做一个全球账本.一个账本,是不需要图灵完备的语言和语言运行环境的(中本聪不是傻子,我相信他肯定知道可以做类似以太坊一样的设计).作为一种货币,比特币简陋的脚本语言能做到在链上存储一些简单的Metadata,比如比特币的第0个区块有着中本聪那句著名的''TheTimes03/Jan/2009Chancelloronbrinkofsecondbailoutforbanks''.