编辑: LinDa_学友 | 2019-07-03 |
0 4
2 技术背景 比特币实现了记录的可信性,以太坊实现了基于可信记录的可信计算.这 就好像之前区块链只是纯文本 txt 记录内容,现在升级成了 excel 可以针 对记录的内容做一些 宏 来完成自动计算.比如销售员帮助老板卖商品, 交易成功以后自动分配一部分提成到销售员的账户.再比如:企业商品 众筹,如果达到指定金额则转给企业开始生产;
否则自动退还给参与者. 有了智能合约以后,我们不必再担心违约,不必再担心对方的诚信度.因 为它像区块链账本一样会铁面无私地执行.从而让人们对可信社会有了 更高的期待和期望.那么我们是否可以用它来做更多的事情?让我们生 活的方方面面都能通过 可信 和 契约 来保证,省去很多互相不信 任带来的成本?是不是可以用它来实现一个电子书商城?是否可以实现 一个电影视频交易平台?是否能用它来实现游戏平台交易游戏?很遗憾, 在以太坊的白皮书里明确说明了智能合约只适合于金融类项目、半金融 类项目和在线投票等类型项目.我们通过分析发现以太坊为代表的智能 合约存在以下问题: >
>
受限于区块链本身的存储能力,只能以很慢的速度保存有限的数据. 一个参考数字是 2KB/14 秒. >
>
受限于区块链的存储能力和 EVM 运行机制,智能合约必须同步在各 个节点中运行,这样才能对计算结果进行互相印证.CryptoKitties 的火 爆导致以太坊堵塞的事件已经证明,单靠一条主链想运行所有智能合约 是很难的.无论它有多少节点,都等价于一个节点的性能,这导致它负 载有限. >
>
跟区块链记录只能写不能改的特性类似,智能合约一旦发布只能执行 不能停止或修改.从逻辑上这是对的.对于约定好的 合约 、规则不 能停止和改变,这样才能保护签约双方 / 各方的利益.但当出现 BUG 的 时候,这也会让我们束手无策,比如 The DAO 攻击事件.而且数学上已 经证明,我们不能证明写出的程序代码是否有 BUG. >
>
智能合约本身,相关的数据记录,合约的执行都是在区块链上.而每 个区块能打包的内容是非常有限的,几千台节点在重复做.这些数据和 智能合约必须负担几千台节点的费用.是不是所有的程序都付得起这个 费用?这就好像个人家庭的财务审计通常不会找四大会计所,价值太低.
0 5 >
>
历史垃圾数据不停累计.一个智能合约一经发布就永远保存在区块链 上.垃圾数据、冗余数据会给区块链的吞吐效率带来很多负面影响.以 太坊已经发生过若干次区块拥堵事件就是很好的例子. >
>
执行智能合约的 EVM 的实现与区块链紧密耦合,无法独立分开.任 何区块链的技术升级都可能影响 EVM,反过来也同样. >
>
DApp 运行于用户的 OS 环境.如果数字内容(比如电子书)在DApp 里播放,很可能会泄露内容从而破坏产权. 由于上述问题,用户无法在以太坊智能合约上实现看电子书、玩游戏、 加密聊天等等. 一方面性能体验无法接受;
另一方面价格也可能贵的惊人. 在现实生活中,用户已经习惯于在手机上运行游戏、看电子书、租借共 享单车.如何能让区块链的可信和用户的使用场景连接起来,是我们希 望解决的问题. 从上图看到,无论用户手里的手机多么强大,也帮不上以太坊分担计算;