大家好,欢迎收听由区块链第一媒体联盟、第一商学院共同打造的《众说区块链》,我是区块链第一媒体发起单位“B牛财经”,这堂课为大家带来的内容是:什么是智能合约?
一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。智能合约不是人工智能也不是法律合同,它是帮助执行双方约定的计算机程序而已,能保证你的合同能够在不借助于第三方的情况下得到执行。
从用户角度来讲,智能合约通常被认为是一个自动担保账户,例如,当特定的条件满足时,程序就会释放和转移资金。从技术角度来讲,智能合约被认为是网络服务器,只是这些服务器并不是使用IP地址架设在互联网上,而是架设在区块链上。从而可以在其上面运行特定的合约程序。
但是与网络服务器不同的是,所有人都可以看到智能合约,因为这些智能合约的代码和状态都在区块链上(假设区块链是公开的)。而且与网络服务器不同的是,智能合约不依赖某个特定的硬件设备。智能合约是编程在区块链上的汇编语言。通常人们不会自己写字节码,但是会从更高级的语言来编译它,例如用Solidity,与Javascript类似的专用语言。这些字节码确实给区块链的功能性提供了指引,因此代码可以很容易与它进行交互,例如转移密码学货币和记录事件。代码的执行是自动的:要么成功执行,或者所有的状态变化都撤消(包括从当前失败的合约中已经发送或接收的信息。)这是很重要的,因为它避免了合约部分执行的情况(例如,在证券购买交易中,证券所有者已经转移发送了证券,但是密码学货币的支付转移却失败了)。
在区块链环境中,这尤为重要,因为没有办法来撤消执行错误所带来的不好的后果(而且如果对手不配合的话,根本就没有办法逆转交易)。
智能合约的使用案例
证券登记和清算:合约状态包含了证券所有权的信息。如果登记的证券所有者注意到该合约中证券已经出售给了其他的参与者,其他参与者就会把密码学货币发送到担保账户,然后证券登记信息就会更新,货币就会转发给原来的证券持有者。取决于哪个信息先到达,证券或货币都会保管在一个担保账户中以避免双重使用,当交易取消或过时后,担保也将取消。
银行现有账户。区块链本身已经使用了密码学货币账户,因此这里不需要智能合约。然而,现实生活中的人们想说欧元或美元账户,与上面所讲到的证券登记账户类似。使用合约会存在合约对手风险,正如在现实世界中的任何银行一样。这种风险可以通过对手风险监管来转移,或者通过担保来消除这种风险。
衍生产品、博彩:假设对手同意某个在互联网能够访问的数据源,他们就可以对数据源的价值进行衍生合约或博彩。
预付款和再充值:合约可以和移动SIM卡、预支付电费卡等绑定,当收到密码学货币时,就可以进行充值。
智能合约面临的问题
智能合约目前还处在初级阶段,尚未有任何实质进展。关键问题是信任度的问题,这与影响区块链实施的问题类似:这些系统都设计成了无需信任的环境,这意味着无法改正出现的错误。例如,在区块链中,如果你将货币发送给某个地址,这个操作是无法撤销的。因此,如果你与欺诈者进行交易或者你已经将货币发送到错误的地址中,那么金钱损失是无法挽回的。智能合约能够转移欺诈对手的问题,事实上,这就是智能合约设计的原因之一:无论何时,合约都能能够可靠地监控合约中参与方的执行情况,参与方是无法进行欺骗的。然而,问题并没有解决,只不过是出现在了新的层级:例如,合约可能有漏洞,能够转移证券,但却无法转移货币。在现实生活中,这些事情可以通过中心化的系统来撤消。但是如果是去中心化的系统,则只能自己承担风险。
以上就是智能合约的相关知识分享!欢迎大家的收听,本分解内容出品自“B牛财经”,你可以在“公众号BN财经(大写B大写N)”找到我们哦!感谢您对区块链第一媒体联盟及区块链第一商学院持!
加入我们