智能合约在最终投产前需弄清的三件事
暴走时评:智能合约,简言之就是一个自动执行区块链上的合约条款的计算机程序,作为区块链的“杀手级应用程序”,前途无限。但在智能合约兑现其承诺之前,区块链需要不断发展。2017年,智能合约若想取得我们的信任需做到以下三点:提供形式化验证功能;确保透明性,方便检查代码;提供明确的治理机制。
翻译:Flora
智能合约作为区块链的“杀手级应用程序”前途非常光明。
智能合约就是一个自动执行区块链上的合约条款的计算机程序。原则上,你可以在任何不想中间人参与的地方使用各种各样的智能合约,如无线服务合约、公寓和酒店房间租赁、自由工作合约、自动付款等。
目前为止,仅前十种加密货币就储存了超过170亿美元的资产,因此通过添加智能合约功能加强现有区块链资产的灵活性和实用性成为一个巨大机遇。
与此同时,区块链技术将为传统市场提供强劲的上升空间这点也非常明显。
例如,场外衍生品市场用例每年的名义价值就达到了700万亿美元。将这些交易中的一小部分转移到智能合同中意味着巨大的潜在节省。
但在智能合约兑现承诺之前,支持它们的平台需要进一步发展。
智能合约可以通过以下三种方法,在2017年获得我们的信任:
1、 提供形式化验证功能
编写完全符合我们要求的代码是非常困难的。
所有软件都非常容易出错或遭受各种攻击,但有了智能合约,实际资产将面临危险。我们需要一种更好的方法来确保这些合约的健全和安全。这种方法便是形式化验证,一种检查代码将按预期执行的数学技术。
智能合约应以易于验证的语言实施。因此,像Haskell和OCaml这样的函数式语言会比C / C ++、Java和JavaScript等命令式语言更适合智能合约代码,因为它们的结构更容易推理和形式化验证。
当然,更多的程序员对JavaScript更为熟悉,但是着重点必须从易用性转向安全性。
需要注意的是,形式化验证也有一些限制。它不是完全自动的,仍需要人类的技能。
另外,形式化验证只能证明我们实际想要检查的属性;如果你不验证正确的事情,漏洞将依然存在。但是,当正确实施时,它便会朝着正确的方向迈进。
2、 确保透明性,方便检查代码
其中一个最大的智能合约实验是The DAO。The DAO是一个虚拟化投资工具,筹集了1.5亿美元的资金,但在之后,该平台立即成为攻击者的目标,5千万美元的融资被盗走,存进了攻击者自己的账户。
当安全研究人员开始分析The DAO时发现,想要理解The DAO的运作流程非常困难,因为The DAO的所有字节码(虚拟机器代码)都能在区块链上看到,但真正采用的是哪个版本的源代码并不清楚。
智能合约代码在确保无漏洞的同时,也需要透明化。因此,在签署协议时,我们能清楚地知道协议的内容,并能更容易地发现错误。实现这一点的方法便是使用解释而非编译型语言,因此实际代码在区块链上可见,并且可以轻松检查。
另外,字节码需要准确匹配创造它的源代码。这就需要认证编译器本身。
3、 提供明确的治理机制
智能合约储存在区块链上,根据定义,代码是不可改变的——意思就是,在完美世界中,代码不会改变。
但软件从来不是完美的。对基础平台的更改可能并将发生,或将影响合约代码的执行方式。一个给定的区块链处理这些变化的过程是灌输对其平台的信任的关键。
在没有明确的治理模式的地方,智能合约的发展绝不会是一帆风顺的。当它对他们有利时,核心开发者或任何正在运行节目的人都有权中途改变游戏的规则。
当然,对于这种权力滥用而言,区块链的脆弱性在很大程度上取决于其社区。尽管如此,未来的区块链应该从一开始就制定明确的治理原则,以便以可预测的方式进行协议更改。
一旦这些问题解决,智能合约便可进入生产阶段,成为日常许多合约的支柱,处理从电费单到狗保姆,再到与房东的协议等一切事情。这些场景背后和互联网上的一切都让我们的生活更加便利。
和互联网一样,我们不会考虑它背后的技术,只知道它一贯、可靠地一直在工作。
作者:Arthur & Kathleen Breitman | 编译者:Flora | 来源:Coindesk
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场