时间:2021-11-18|浏览:7428
用戶喜愛的交易所
已有账号登陆后会弹出下载
区块链的『智能合约』这是一个容易引起争议的概念,一次 Vitalik 也后悔使用智能合同(smart contract)这个名字不如当初叫 "persistent scripts"大概是因为这个概念很累。
还有人问:这个东西是程序脚本,哪里智能?但如果是这样的话,现在大概就命名了『智能』没有配得上的东西。智能手机可以称为可以自由安装软件的手机吗?更别说英语了 smart 和 intelligent 翻译成中文『智能』这更容易引起误解。
所以在那次争论中,有人建议叫 "stored procedures"数据库存储过程:如果区块链被视为分布式数据库,从从技术实现的角度来看,智能合同真的很像数据库存储过程。使用新的编程语言并不是根本的区别。如果使用更通用的话 VM编程语言可以和其他程序一模一样。
另外,大家常说的确定性(deterministic),其实也是图灵机本身的特点,只要不引入随机机制,就很难写出来 deterministic 的程序。
为什么要创建新词汇?套用一句俗话,我们在谈论『智能合约』究竟是什么意思?
如果从技术角度看不出太大差异,那么我们将从法律角度看『合约』从角度看。根据维基百科的定义:
Contract: A contract is a legally-binding agreement which recognises and governs the rights and duties of the parties to the agreement.
合同定义了各方的权利和义务,具有法律约束力。也就是说,合同的表现形式其实并不重要,可以是文字,也可以是口头,关键是要有法律约束力。
然后我们应用它『智能合约』以上,也可以说智能合同的表现形式不是关键,关键在于『约束力』…我们在这里给出一个定义:
智能合同定义了各方的权利和义务『约束力』计算机程序。