智能合约是编程在qukuailian上的汇编语言。通常人们不会自己写字节码,但是会从更的语言来编译它,例如用Solidity,与Javascript类似的专用语言。这些字节码确实给qukuailian的功能性提供了指引,因此代码可以很容易与它进行交互,例如转移密码学货币和记录事件。
代码的执行是自动的:要么成功执行,或者所有的状态变化都撤销(包括从当前失败的合约中已经送或接收的信息。)这是很重要的,因为它避免了合约部分执行的情况(例如,在证券购买交易中,证券所有者已经转移发送了证券,但是密码学货币的支付转移却失败了)。在qukuailian环境中,这尤为重要,因为没有办法来撤销执行错误所带来的不好的后果(而且如果对手不配合的话,根本就没有办法逆转交易)。
下面这个示意图就是一个智能合约模型:一段代码(智能合约),被部署在分享的、复制的账本上,它可以维持自己的状态,控制自己的资产和对接收到的外界信息或者资产进行回应。
什么是智能合约
智能合约模型:它是运行在可复制、共享的账本上的计算机程序,可以处理信息,接收、储存和发送价值。
智能合约可能用在哪些领域
证券登记和清算。银行现有账户衍生产品预付款和再充值智能合约面临的问题
智能合约目前还处在初级阶段,尚未有任何实质进展。关键问题是信任度的问题,这与影响qukuailian实施的问题类似:这些系统都设计成了无需信任的环境,这意味着无法改正出现的错误。例如,在qukuailian中,如果你将货币发送给某个地址,这个操作是无法撤销的。因此,如果你与欺诈者进行交易–或者你已经将货币发送到错误的地址中–那么金钱损失是无法挽回的。
智能合约能够转移欺诈对手的问题–事实上,这就是智能合约设计的原因之一:无论何时,合约都能能够可靠地监控合约中参与方的执行情况,参与方是无法进行欺骗的。
然而,问题并没有解决,只不过是出现在了新的层级:例如,合约可能有漏洞,能够转移证券,但却无法转移货币。
在现实生活中,这些事情可以通过中心化的系统来撤销。但是如果是去中心化的系统,则只能自己承担风险。