每天5分钟,学点区块链
今天的主要内容来自于IBM的Glynn Bird的一篇文章,发表于以太坊爱好者论坛。作者用简单易懂的语言和实例为大家介绍了智能合约的使用场景和运行机制。以下内容是对其论述的整理,略去了技术门槛的部分没有引用过来,更为方便大家理解。
什么是智能合约?
这个术语是跨领域法律学者尼克·萨博(Nick Szabo)提出来的,他对智能合约的定义是“一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。”换成更加通俗的描述就是“智能合约是一个在计算机系统上,当一定条件被满足的情况下,可以被自动执行的合约。”
智能合约一定要在区块链技术之上实现吗?答案是否定的。举个大家都熟悉的例子,就是信用卡的自动还款服务,我们就可以把它理解成一种智能合约。在具体的时间(信用卡还款日),当还款条件被满足(储蓄卡余额比信用卡还款金额要多的情况下),计算机系统会自动完成这笔交易(用最初设定的储蓄卡为信用卡还款)。然而这些服务仍是运行在传统的计算机系统之上,而这些系统并没有利用区块链技术。
以太坊和智能合约
第一周的内容中我们为大家系统介绍了区块链的基础知识。我们可以知道,区块链吸引应用开发人员的主要的性质有:
1. 区块链由别人运营。如果你的应用把数据存在大家都用的区块链,它就不需要为数据提供存储机制。区块链中的节点提供存储有奖励:收交易费和发新币。
2. 区块链提供分布共识机制,你自己做很难。
3. 区块链为用户提供匿名机制。一个账号身份标识(ID)是个公钥,它不一定和人直接相关。
4. “价值”可以从一个账号转移到另一个,但是费用要小于传统的真实货币转账机制。
5. 如果某个区块链受信赖,那么存储在那个区块链的交易也受信赖。
以太坊采用区块链的原理,又增加了在区块链上创建智能合约。因为区块链的不可篡改的特性和信任性,为智能合约提供了良好的使用环境。智能合约是一种应用,它能保存价值,存储数据,封装代码,执行计算任务。
智能合约允许匿名的几方进入约束协议,每个参与方对交易完全知情。价值可以在账户间转移,或者放在智能合约中的第三方托管(escrow )。由于合约就是代码,开发者想做什么应用,就能做得出,你的想象力是唯一的限制。
区块链和智能合约能做什么?
以太坊只是智能合约平台的一种,用它可以构建基于区块链的应用。最合适的用例有:
从一方转移价值到另一方
一方或几方需要匿名
价值必须存储在合约本身,并且存储一段时间
希望避免转移真实货币产生的交易费用
需要建立共识
希望显示公开性,把状态存储在公共域
需要确保物理或虚拟材料的来源和真实性
基于此,我们可以马上想到的应用有:拍卖,借贷,遗嘱,注册,众筹,股权,和投票。
从金钱和计算角度看,写操作是很贵的,所以智能合约多用在写操作少,但是数据价值高的应用。
当然,也有很多人对智能合约的应用持消极的态度。比如,如果把智能合约视作参与各方的“合同”,智能合约能否表达出传统的“合同”中双方的真实意思?出现问题纠纷之后,由谁来担任仲裁机构?等等一系列的问题。
那么,今天的5分钟内容就到这里!
明天将为大家详细介绍Dapp的应用场景~
参考资料:https://ethfans.org/posts/block-chain-technology-smart-contracts-and-ethereum干货 | 区块链技术-智能合约-以太坊
网友评论