北京大学肖臻老师《区块链技术与应用》ETH笔记 - 12.0 反思

12.0 反思

1、智能合约的反思——智能合约真的智能吗?(Is smart contract really smart?)

首先我们必须了解智能合约里面并没有用到任何人工智能的技术,所以有人认为应该把它叫做自动合约,按照事先写好的代码,自动执行某些操作,现实世界当中,有什么自动合约的例子吗?ATM取款机可以看作物理世界上的一个自动合约,按照事先规定好的逻辑去做某些事情。所以智能合约其实并不智能,而且挺笨的,一旦写好了之后就改不了了,就是作为代码合同。(Smart contract is anything but smart.)

2、不可篡改性是把双刃剑(Irrevocability is a double edged sword.)

一般来说我们提到区块链的不可篡改性都认为这个是区块链的一个优点,很多区块链的应用都利用了不可篡改的特性,比如防伪、溯源。但是从“The DAO”事件当中,可以看出不可篡改性其实是一个双刃剑。一方面,不可篡改性增加了合约的公信力,但另一方面,不可篡改性也意味着如果规则中有漏洞,我们想要修补这个漏洞,想软件升级都是很困难的。The DAO的盗币事件有传闻说The DAO的开发团队在发生盗币事件前几天已经收到了有关智能合约中存在安全漏洞的消息,但是没有来的及发布更新后的软件。这个如果是对于一个中心化的系统,大家可能会觉得是很难想象的,如果你发现你的软件中的安全漏洞,你干嘛不及时发布一个安全补丁呢。但是问题在于在区块链的世界里你怎么发布补丁,软件更新需要硬分叉来实现,还需要得到大部分矿工的支持。无论是比特币还是以太坊,硬分叉都不是随便搞的,这次以太坊搞的硬分叉,最后就造成了两条平行的链,而且要搞硬分叉要说明理由,否则别的矿工为什么要升级你的软件,而你一旦说明理由的话,那就会把安全漏洞的信息泄露出去,那么有恶意的攻击者在还没有来得及升级软件之前抢先发动攻击,这些都是区块链上不可篡改性带来的一些问题。

不可篡改性还导致另一个问题,即使我们发现了这个安全漏洞,已经有人进行恶意攻击了,我们想要冻结账户,终止交易都是很困难的。这个和我们如常生活的体验不太一样的地方,比如说你的银行卡的信息被泄露了,第一反应是通知银行,冻结账户,修改密码。很多人在刚接触区块链的时候也是同样的反应,发现比特币账户的私钥泄露出去了,怎么办,赶紧通知谁把账户给冻结了,没有办法冻结,要冻结的话只能软分叉,实质上要发布一个软件更新,有关要冻结的账户的交易都不予执行,这才可以冻结࿰

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值