(三)智能合约的功能 智能合约是运行在区块链内、主要对 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) 。人是有限理性的,不可能预见到未来所有可能的情况,即便预见到也没法写进契约里,因此契约注定是不完全的。这就是现实中法律合同存在例外情形,以及发生争端时 需要司法仲裁的原因。智能合约作为计算机协议,很难处理不完全契约。
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.