(三)智能合约的功能 智能合约是运行在区块链内、主要对 Token 进行复杂操作的计算机代码。目前区块链内有限的运行环境,使得这类代码远没达到智能阶段。甚至可以说,目前的智能合约,既不智能,也不是合约。这一小节针对“在一定触发条件下从 A 地址往 B 地址转 X 数量的 Token”这一基本操作总结智能合约的功能。 第一,产权层面的功能。A 地址和 B 地址可以属于账户或智能合约。地址中的 Token 具有产权含义。比如,如果 A 地址属于发行地址,那就对应着 Token的产生(一级市场);如果 B 地址属于销毁地址(即类似 0x0000..0000 的不对应着私钥的特殊地址),那就对应着 Token 的销毁;两个地址之间的 Token 转移,就对应着产权变更。 第二,流程层面的功能。一笔 Token 转让要有效,转让发起者必须拥有对 A地址中 X 数量的 Token 的操作权限,并且智能合约的触发条件被满足。发起者将转让信息传播到分布式网络后,其他节点验证发起者是否拥有 A 地址的操作权限、触发条件是否被满足以及 A 地址中的 Token 数量是否超过 X。其中,对 A 地址的操作权限体现为相关签名操作(往往涉及多重签名),触发条件取决于区块链内外信息(其中区块链外信息需先写入区块链内),转让数量 X 既可以由人工来决定,也可以由公式来决定,从而实现或有支付(contingent payment)或比较复杂的偿付结构(payoff structure)。智能合约的执行只有“成功”、“失败”两种情形,不存在中间情形。特别是,如果转让发起者不能确保 A 地址中的 Token数量超过 X,智能合约的执行就会失败。 第三,经济社会层面的功能:1.投票,往某一地址转 Token 可以理解为投票;2.抵押,先将一定数量的 Token 转给某一智能合约,约定在未来时点并满足一定条件时,Token 可被返还;3.冻结和解冻,冻结是将一定数量的 Token 用时间锁(time lock)锁定,从而暂时放弃 Token 的流动性,到期才解冻。基于投票、抵押以及冻结和解冻等基础功能,智能合约可以支持比较复杂的治理功能(见第三部分第二和第三小节)。然而,智能合约的功能短板不容忽视。第一,在智能合约的触发条件取决于区块链外信息时,这些信息需先写入区块链内,但至今没有普遍适用的去中心化预言机方案。目前讨论得比较多的预言机有两类。一是依赖某一中心化信息源(比如彭博、路透),但这与区块链的去中心化宗旨背道而驰。二是将区块链外信息离散化后用经济激励和投票写入区块链。这类机制依靠群体智慧,根据投票结果对奖惩投票人,投票越接近全体投票的平均值、中位数或其他样本统计量的投票人越有可能得到奖励,反之就越有可能被惩罚,以此来激励投票人认真投票。隐含假设是,参与投票的群体在投票时不存在系统性偏差。但这一假设在现实中不一定成立,因此至今没有普遍适用的去中心化预言机方案。 第二,智能合约难以保证区块链内债务履约。考虑某一债务合约:某一时点从 A 地址往 B 地址转 X 数量的 Token,一段时间后从 B 地址往 A 地址转 Y 数量的Token(一般 Y>X)。在后一时点,智能合约没法保障 B 地址的 Token 数量超过 Y,这样债务就无法履约。因此,只靠智能合约没法消除信用风险。这是根据智能合约构建区块链内贷款、债券和衍生品等面临的共同问题。一个解决方法是对还款地址设置超额抵押(over-collateralization),但超额抵押会造成 Token 资源的闲置和浪费。对衍生品,因为其风险敞口可能大幅变动,更难事先确定超额抵押的规模。 第三,智能合约难以处理不完全契约(incomplete contract) 。人是有限理性的,不可能预见到未来所有可能的情况,即便预见到也没法写进契约里,因此契约注定是不完全的。这就是现实中法律合同存在例外情形,以及发生争端时 需要司法仲裁的原因。智能合约作为计算机协议,很难处理不完全契约。
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.