蔡维德:智能合约3个重要原则



  • 2019年1月17日

    今天我们要谈论的是智能合约,智能合约这个题目一直都是有争议性的。记得笔者在2015年7月在北航跟Vitalik 讨论智能合约的时候,当时就提出以太坊的智能合约既不智能也不是合约,当时Vitalik 说他同意观点。他虽然同意笔者的观点, 但是不愿意更改名字,他认为这个名字是非常吸引人的,所以继续使用这个名字。

    在2016年出了这个The DAO事件,美国主流媒体大肆批评智能合约,认为它第一不智能,第二不是合法合规的合约,与传统的法律意义上的合同有混淆之嫌。虽说这事件引起了巨大的风波和困扰,可是人们的反应不是说放弃智能合约,而是加速智能合约的研究,以至于今天关于智能合约的研究有许多新思路。其中一个新的研究方向是把法律法规放在智能合约上,目的是为了实现法规的部分自动执行,这是原来以太坊没有做到的。如果没有法律法规,智能合约只能是“链上代码”。

    经过多年的思考,笔者认为智能合約有很大的价值,主要是因为智能合约可以与区块链发生关系。其价值体现在在于智能合约的数据来源于区块链链上,执行在链上,输出结果在区块链上,而区块链上承载着一个国家的法律,这是区块链被称为“主权区块链”的原因。智能合约与区块链的结合形成了智能合约法规自动执行系统,系统系统不同于互联网系统,不同于其它软件系统,因为这上面承载着国家法律,代表国家的主权在区块链上面,可被智能合约执行,这是一个非常重要的概念!

    该系统有三个重要的原则:

    1)首先,智能合约数据来源于链上。这是指智能合约的输入是从区块链的数据库里面出来的。这些数据是由区块链保证的,具有真实难以篡改的特征。

    2)其次,智能合约的执行在链上。这是指智能合约是在多个节点上面执行,而所执行的结果必须是相同,智能合约所出的结果一定要被共识才能被接受。

    3)再者,智能合约输出在链上。这是指智能合约的输出结果必须存在区块链上面,这样保证结果的真实与可追溯性,并且为其他相衔接的智能合约提供输入数据的准确性保障。

    根据以上三个原则,我们可以判定一个自称“智能合约”的系统是不是真的是智能合约?

    1) 如果使用不在区块链上的数据,那执行结果可能不可靠,若作为证据,证据的可信力低。

    2) 如果执行的结果没有被共识过,这结果也不值得信任, 参与方可以不认这结果,同样,证据可信力低。

    3) 如果产生的结果没有写在区块链上面,就会有被更改过的可能性,也难以作为可信的证据。

    4) 如果智能合约上不是执行相关的法律法规,那么智能合约只能是链上代码,而不能被称为智能合约。

    5) 如果智能合约没有在区块链系统上运行,例如在类似区块链系统上运行或是在链下运行,这结果也不能信任。类似区块链现在还有许多问题,许多系统的共识机制都被挑战, 链下活动也不能够被信任因为计算没有在链上。
    原文出自:https://www.bishijie.com/shendu_17518


  • Reward

    同意,期待Vite的智能合约


Log in to reply