有了像以太坊这样成熟的智能合约平台,为什么还要去使用 BTC 呢?
发表于2019-11-30 17:09:46
摘要: 原标题:有了像以太坊这样成熟的智能合约平台,为什么还要去使用 BTC 呢? 人们常常将智能合约和以太坊联系起来。的确,以太坊的成功主要便是建立在
  原标题:有了像以太坊这样成熟的智能合约平台,为什么还要去使用 BTC 呢?
 
  人们常常将智能合约和以太坊联系起来。的确,以太坊的成功主要便是建立在为各种 Dapp 开发和实施智能合约之上的。但并非所有人都意识到,其实在 BTC 上,我们也可以使用智能合约。
 
  在了解基于 BTC 的智能合约之前,我们首先必须明白一个问题,那就是既然我们已经有了像以太坊这样成熟的智能合约平台,为什么还要去使用 BTC 呢?
 
  原因
  抛开与生俱来的好奇心不说,相较于 ETH,使用 BTC 作为交换对象可能对于我们中的某些人来说已经是一种优势了(币种优势)。 另一方面,ETH 作为一个智能合约平台,其 Solidity 代码中的错误很难被找到,再加之臭名昭著的 DAO 事件(2016 年 6 月 18 日,黑客利用 ETH 智能合约漏洞,成功盗取并转移了超过 360 万个 ETH),因此在很多方面 ETH 还有改进的空间。
 
  而反观 BTC,黑客们能发现漏洞并攻击的可能性非常之小,因为 BTC 区块链提供更高安全级别的操作环境。说到底,安全性才是最重要的事情,毕竟,谁会需要一个可以轻易被黑客入侵的多功能智能合约?
 
  发展现状 & 现存改进方案
 
  BTC 交易中包含一种脚本语言,在你需要获取一定数量 BTC 的时候,这种脚本语言可以定义所需的条件。当下执行大多数 BTC 交易时设置的条件是交易人能证明其拥有正确的私钥,这也正是智能合约的基本工作方式。但是,它的作用远不止于此,它其实可以输入很多更为复杂的脚本。
 
  例如,你可以设置一个时间条件,来限制他人需要在规定时间内才能获取 BTC,或者需要多个签名,又或者将它们组合起来以制定更加复杂的编程合同。
 
  如果要向基于 BTC 的智能合约添加更加高级的功能,则将会涉及到其他各种改进措施。让我们一起来看看哪些改进措施已经被使用了。
 
  时间锁
 
  如果以常规方式进行 BTC 转账,接收者可以在收到 BTC 之后立即花掉这些数字资产。 但是如果你想让接收者在某个日期之后才可以使用这些资产,那你要怎么做?比如说,你想为你的下个假期攒一些钱,因此你决定将这些钱锁起来,直到你旅行的第一天才能解锁。在这个例子中,一个特定的智能合约可以发挥很大的作用。但是这要如何实现呢?2015 年,在 BTC 的某次软分叉中,人们通过一个叫做 CheckLockTimeVerify 的操作码引入了时间锁的概念。这个操作码允许转账资产受到时间锁的限制。当存在时间锁时,特定的资产就只能在某个特定时间之后才能被使用。
 
  侧链
 
  侧链能解决很多即存的问题,比如可扩展性和交易速度等问题,事实上侧链也可以帮助来实现基于 BTC 的智能合约。
 
  简单来说,当你想执行侧链上的 BTC 智能合约时,你需要把 BTC 转到一个特定的地址上,这些 BTC 会被自动锁定。而与此同时,你将会得到同等数量的侧链通证,你可以使用这些通证来执行智能合约。操作完成后,你可以通过双向绑定把这些通证发送回去,以此解锁主网上的 BTC。
 
  MimbleWimble 协议
 
  神秘的 MimbleWimble 协议建议实现一个值为 0 的、不能被花费的输出内核。 这样你就不能对转账产生任何危害,因为你必须知道可花费输出的数量。加上多重签名之后,这个协议变得几乎不可能被攻克。在早期探索 MimbleWimble 协议的时候,我们提到,不储存转账输入会使节点体积更小,从而更加的去中心化。这意味着更好的隐私性,因为你不能将转账的输入和输出对应起来。这在执行智能合约的时候极其重要。
投稿:lukejiwang@163.com
Copyright © 2002-2020 鹿科技