1. 引言
本文中的智能合约涉及到区块链去中心化技术,属于无须当事人行动,也不受外界干预的智能合约 [1]。案例中涉及的加密货币交易所Quoine是创建Liquid平台的加密货币金融科技公司,运作过程中主要是基于以太坊的区块链汇总来自多个交易所的订单和价格。
此类智能合约最早可以追溯到Thornton v Shoe Lane Parking [1971] 2 QB 163,该案中索赔人在被告方的自动停车场内受到人身伤害,被告方试图援引其在停车场内部展示的免责条款,但法官指出在自动收费机箱中,索赔人支付对价之后机器才吐出停车票,票据上展示的合同条款属于嗣后单方增加的,不具有拘束力。该案中强调的仍然是当事人需对合同条款达成合意,但传统合同法理论适用中通过自动方式订立的合同中的单方错误,至今仍未受到过法院的审查 [2]。此类纠纷往往或因金额太小而无法提起诉讼(如自动售货机交易),或涉及金额太大、太复杂而直接由监管部门进行干预(如2010年的闪电崩盘)。而本文将要分析的这个案件恰好提出了一个适合诉讼的事实模式。
2020年2月24日,新加坡最高法院上诉法庭对加密货币量化交易纠纷全球首案作出上诉审判决——Quoine Pte Ltd v B2C2 Ltd [2020] SGCA(I) 2。本案争议涉及交易平台做市程序报价故障,平台做市商(market maker)交易参数设定畸高,平台用户杠杆交易穿仓,平台交易风险告知书是否有效并入平台用户协议,平台用户账户内加密货币是否构成信托资产,程序化交易是否存在认识错误,加密货币的损失赔偿计算等诸多复杂事实法律问题,加之约2000个比特币(“BTC”)的高额争议标的(上诉审判决日市价约2000万美元),使得本案备受法律界和金融科技业的关注和热议。
2. 案情简介
本案原告B2C2与被告Quoine都是做市商,通过积极买卖加密货币在平台上创造流动性以确保可以发起交易,双方都使用确定性算法程序来完成这些交易,这意味着除了最初的编程外,买卖合同没有任何直接人员参与。如上图所示,案例中的B2C2在Quoine的平台上与客户进行了七笔交易,BTC出售ETH (以太币)并购入BTC (比特币),而对手方则出售BTC并购入ETH (见图1)。
Quoine平台主要通过其设定的程序从其他加密货币交易所中检索外部市场价格以此为平台用户之间的订单确定交易价格,交易指令由内置算法在没有人工干预的情况下自动发送交易指令,当用户下订单时,平台的交易策略会筛选平台后台订单簿中已下单的20个最佳买卖订单来确定一个最佳输出价格并为用户构建交易订单。争议的根源可以追溯到2017年4月13日至19日间,由于Quoine在平台运营维护方面的技术疏忽,Quoine没有对其在平台上检索市场价格的报价程序进行某些必要更改,导致平台访问外部加密加密货币交易市场的数据的功能失灵,未能及时补充外部市场实时报价,于是平台开始以最低的可用价格购买相关货币,然后提高现有订单的交易价格,使得其他交易员的报价也逐渐提高。
而巧合的是,针对平台交易深度不足和流动性紧缺的可能性,B2C2的量化算法交易软件设定了一个“deep price”,也是所谓的虚拟价格程序,该虚拟价格被程序员定1ETH to 9.99999 BTC,当平台订单稀薄化导致交易策略无法收到交易平台报价或者有效报价量过低时就会导致“deep price”指令生效。最终在2017年4月19日深夜,B2C2作为卖方在平台以上述价格卖出了309个ETH,成交入账3092个BTC,然而当时市场汇率为1 ETH for 0.04 BTC,该成交价约为当时市场价格的250倍,由于价格波动异常,Quoine在第二天认为成交价格不正常单方面取消了该笔交易。事后B2C2以Quoine违反合同和信托为由向新加坡高等法院提起诉讼,要求Quoine返还其撤销部分约2000个BTC。
3. 争议焦点及法庭意见
基于上述事实概要,双方的争议焦点如下(见表1)。
囿于篇幅限制,笔者将重点关注法院对单方错误问题的审议。此处须厘清的是,案涉合同双方当事人为ETH买方与ETH卖方B2C2,Quoine作为平台提供者仅仅是交易的促进方。
普通法下的单方错误是指一方对合同根本性条款发生认识错误,另一方实际意识到并利用对方的认识错误而订立履行合同 [3]。这样的合同归于无效而不可执行。要确立存在单方错误,Quoine必须证明合约条款存在根本错误,并且B2C2在执行交易时必须知悉该错误。
对于诉争交易来说,根本性条款为交易价格。首先对于ETH买方来说,其确有可能错误地理解相信Quoine平台上的市价成交价格不会与其他主流加密货币交易平台成交均价发生实质性偏离,但Quoine对此已采取了价格偏离识别和风控措施,因此,法院认为ETH买方并没有错误地相信合约的条款,而是错误地假设平台程序不会失灵,这属于ETH买方与Quoine之间的合同条款认识错误,与B2C2无关。
对于ETH卖方B2C2来说,法官认为ETH:BTC = 1:9.99999的deep price是其通过程序事先设定好的,B2C2对该价格并不存在认识错误,在程序化交易的背景下,法官认为程序“没有自己的想法”,并将它们比作“厨房搅拌机——可减轻厨师手动搅拌配料的麻烦”。同时还进一步裁定,交易软件的操作模式所依据的意图或知识是负责使其按其原来的方式工作的人的意图或知识,换言之,是程序编写时的程序员的意图或知识 [4]。因此,在Quoine向B2C2开放接口接受其卖盘报价和ETH买方被系统强制平仓买盘这样的程序化自动交易过程中,买卖双方客观上都没有机会实际意识到另一方可能发生的认识错误并加以利用。
相较于普通法,衡平法下的单方错误有所延展,错误认知的对象不仅限于合同的根本性条款,也可包括与合同订立履行相关的其他根本性错误 [3]。在不能证明一方实际意识到(actual knowledge)对方认知错误,但客观上有付诸于有悖公平正义的行为(unconscionable conduct)或有悖商业道德的行为(sharp practice)的情况下,可以由法律推定其应该或已经实际知道,发生认识错误的一方可主张合同撤销。特别的,对于这样的合同是否给予撤销合同的救济,衡平法还会考虑是否涉及无过错第三人的利益。本案中,除Mance外,其他法官认为B2C2在诉争交易deep price的设定上表现出一定程度的机会主义,但并未达到有悖公平正义或商业道德的程度,同时,Quoine作为诉争交易双方以外的第三方,是其做市程序报价故障导致平台交易深度缺乏进而触发了诉争交易,不应被视作无过错第三人 [5]。故不应通过衡平法下的单方错误给予Quoine撤销回滚诉争交易的救济。
4. 案例分析
本案中的加密货币纠纷很好地反映了过去几十年间与金融相关的诉讼纠纷,例如错误销售、暗示条款以及合同违约等。但本案的特殊价值在于,加密货币纠纷还涉及到自动执行交易,程序算法的错误到底应归因于哪方。
普通法下的单方错误原则可以理解为合同当事双方之间缺乏有效的要约和承诺,法院正是从这一方法出发,重点关注当事人在合同成立前的意图和认识,特别是非错误方必须也在合同订立过程中知悉该错误的发生,如此才能使当事人的同意无效。然而,单方错误原则毕竟可以用来解除一个原本具有约束力的合同,为了防止非错误方滥用这一原则,从衡平法角度看,法院也可以适当关注非错误方在合同订立后的主观想法,特别是本案涉及根据算法自动生成的合同,当事人嗣后才了解到具体的合同条款。在本案中,任何一个理性第三人,在知道相关的市场情况后,都不会认为相差250倍的报价是一个正常价格,法院在判决中只是模糊提及B2C2所表现出的机会主义,即使B2C2的程序员在设计其“deep price”程序时或许利用到了未来合同对方可能出现的错误,但法官的看法是双方当事人既然已经选择了使用算法作为订立合同的手段,当事人的做法属于“wholly artificial” [6],已然承诺以某种不知道是否会订立合同也不知道合同内容条款的这样一种方式进行交易,在这种情况下,合同不应当因当事人的承诺所导致的后果而无效。
但笔者认为,在衡平法的背景下,针对没有当事人意思参与的情况下订立的智能合约,应更关注双方当事人对于各自程序运行的预期,在合同成立后,非错误方当事人消极利用错误方的程序故障而获利时,同样有悖公平正义或者商业道德,正如持反对意见的Mance法官所说,“法律必须适应算法程序和人工智能的新世界,以产生理性和正义所期望的结果。”
新加坡法院是从单方错误理论出发探讨确定性算法出错的解决方法,正如前文所述,在算法的参与下,引起的一个重要问题是时间错配,交易双方的错误一定是在最初的交易点出现或者开始的,而程序员对编程的最后一次人为输入势必在这些交易之前发生,那么在编写程序时,程序员又怎么可能了解这些错误的地方。按照这个逻辑,如果双方都采用程序进行交易,在普通法下找不到可归责的一方,因此才需要衡平法的介入。如果全然按照B2C2所称,只推究程序员设计程序时是否知道或应当知道其所设计的程序会利用对方可能出现的错误,未免看轻了“承诺”的价值,尽管智能合约通过编程技术简化了当事人承诺的步骤,但不能以此而忽略“价格”这一合同关键因素对当事人承诺的影响。计算机语言毕竟不同于日常语言,将后者所要表达的意思用代码写成程序难以避免地无法完整透彻地表达当事人的意思,因此在意思表示方面,会因为编程转化过程的存在而出现误差 [7]。在传统合同上,接受要约方不满意合同价款条件时尚可以提出新的要约,甚至可以在承诺到达对方之前或同时发出撤回通知,然而对于智能合约而言,由于网络程序具有瞬时性,导致要约无法撤回、撤销,承诺也无法撤回,总而言之,基于区块链不可逆、不可篡改和自动执行等特点基础上的智能合约会限制当事人的撤销权,正因如此,才更需要法官从衡平法出发,对当事人予以救济 [8]。
本案对于国内法律加密货币产业发展过程中的司法审查具有较大的启发性,该案判决是在在全球范围内第一次对涉及加密货币量化交易的诸多问题作出了系统性的司法回应。从目前的阶段性结果来说,Quoine作为交易平台方并无返还BTC的义务,且其后续赔偿责任有可能受到用户协议责任限制条款的保护。这也将进一步产生虹吸效益,吸引更多的加密货币交易平台方将用户协议的准据法设定为新加坡法律,将争议解决条款设定为交由新加坡当地法院或新加坡国际仲裁中心裁判处理,最终巩固并加强新加坡作为科技金融加密货币行业监管友好司法区域的地位。
加密货币产业作为金融科技的新兴赛道,以不可阻挡的方式浸透并影响着交易支付手段,尽管目前在中国,加密货币在金融领域是被禁止与法定货币兑换、买卖或进行发行融资交易的,但因为加密货币的去中心化和可离线交易的特点,从技术和监管角度又难以做到让其在国内完全消失,虽然这仍是一个小众市场,但随着数字经济的高速发展,参与加密货币交易的人群越来越多,仍可能对中国金融监管和社会秩序产生影响。
5. 结语
在B2C2 Ltd v Quoine Pte Ltd一案中,新加坡法院采用了一种渐进的方法,在新的时代背景下推演法律观点,并将其法律讨论限制于确定性的算法程序,但对于包含机器学习形式的算法程序所形成的合约则没有武断地进行评价 [9]。当人工智能程序对交易能具有相对独立的决策调整能力时,单方错误理论便不可如本案一般仅仅推演到编写算法的程序员的意图上,可以预见的是,在个案中如何划分既定化程序交易和人工智能交易不是一件简单的事,在金融科技的年轮上,类似或超越Quoine v B2C2一案的复杂争议将可能层出不穷。Mance法官在其判词中表达了法律人本主义的立场,主张通过衡平法的制度弹性弥补普通法判例在科技领域不可避免的滞后性,保留人类对于智能合约给予干预和引导的空间,这可能是智能合约时代司法审查的一种逻辑路径。
正如此案所表明的,加密货币类纠纷相比其他纠纷更可能涉及交易的自动执行,容易引发所谓智能合约性质的诉讼,诸如基于区块链或者其他分布式账本技术的加密货币发行、交易和赎回,计算机代码在多大程度上创造了法律上可执行的合同权利,侵权责任又在多大程度上附加于加密货币交易平台 [10]。鉴于加密货币技术所具有的“破坏性”的潜力 [11],对于这些争端目前很难找准监管的方向,笔者认为利用算法程序进行交易的机构和平台运营商应在其服务合约中针对出现技术故障或异常交易情况下的风险分担做好充足的约定,并对其算法程序实施强有力的监测,以及时发现和遏制任何技术故障的扩大影响。
法律制度作为调整社会关系的重要手段,需要不断完善方能实现稳定社会秩序的价值,在科技日益变革的当下,数字革命和区块链技术的发展已凸显法制革新的需求,法院在进行司法审查时,在收紧监管力度保障投资者权益的同时,也要考虑新兴科技发展的潜力,不可过度遏制,以促进国内加密货币产业在金融安全的前提下健康发展。