深度解析 BSV 智能合约平台 Tokenized 的设计哲学和商业展望
刚刚过去的多伦多大会吸引了行业内外的注意力,大会发布了很多目前 BSV 上的应用进展。短短半年的时间,BSV 上的应用如井喷一般涌现出来,令人目不暇接。新概念,新应用出现的速度已经远远超过了我学习和研究的速度,感觉如果不能努力学习跟上技术潮流,就会被时代给抛弃,总有一种来自内心深处的紧迫感,用一个比较币圈的词来形容我现在的心情,就是 FOMO(fear of missing out)。
在多伦多大会之前,我就在业余时间研究 Tokenized,包括白皮书和源代码。中间有很长一段时间,他们的网站都在停机维护,github 的 master 分支也没有更新,让人一度以为该项目搁浅了。其实不然,如果你关注他们的 develop 分支,和一个 curtis 分支,你会发现他们的开发进程一直没有停止,只是在默默地打造产品,准备在多伦多大会上一鸣惊人。果然,多伦多大会上,伴随着各个新应用的涌现,以及 Satoshi Vision 扩容路线的进一步清晰,BSV 在短期内实现爆发式增长,市值跃居第 8。多伦多大会的录像,建议大家多看几遍,里面的新东西非常的多,让人大开眼界。从 Token 系统的实现,到内容分享的模式,再到结合传统邮箱协议的身份认证 Paymail,再到供应链 EDI,再到链上游戏实现等等等等。之后有机会会继续分享里面的有趣内容。今天主要分享大家最为关注的智能合约平台 Tokenized,由于这是一个相对比较庞大和复杂的系统,限于篇幅限制,这里用比较科普性质的描述,来简单介绍一下这个平台的理念,在 BSV 上的实现方式,以及可能的商业模式展望。
智能合约的思考
提起智能合约,我们的第一印象就是 ETH 上用 Solidity 写的那些程序。ETH 的理念是 Code is Law,代码即法律。换句话说,如果代码规定了怎样的执行逻辑,那系统就会一丝不苟地执行,排除一切人治的因素,实现所谓的去中心化自治组织。但是,在以太坊上尝试了那么多项目之后,人们发现,现实世界的复杂程度远远超过计算机语言或者代码可以描述的范围。以太坊是希望成为去中心化的裁决中心,人们预先指定好裁决的代码,把裁决的规则交给代码去做,这里的裁决包括但不限制于链上资产的归属权。但是以太坊的思维在这里过度的依赖代码规则的完备性,而忽视带有主观思维的人在其中的作用,而且现在并没有一种程序具备高等智能,可以像人类一样拥有发散性的和主观性的思维(人工智能还差很远,而且严格来讲,人工智能已经超出了代码的范畴,进入了智能层次,也就和人本身在系统中的作用一样)。
以太坊这种代码即法律的理念在实施起来是非常困难的。实际上,以太坊上很多的复杂智能合约依旧离不开人治,比方说依赖于外部信息导入的预言机,借贷关系的清结算,投票选举等等都是需要依靠人来做出决策影响系统状态的代码。最为嘲讽的是,当时的 DAO 出现 bug,早期投资者损失惨重的时候,以太坊的社区怎么处理的呢?如果按照以太坊的理念,代码即法律,就算代码有 bug,也应该严格遵循代码的处理结果,这样才叫真正践行了什么叫做代码即法律。历史我们都知道,有小部分人真正坚守代码即法律的核心思想,接受了被攻击的结果,产生了 etc(etc 才是真正的以太坊),而以 V 神为主导的开发团队为了保护早期投资人的利益,选择从被攻击高度硬分叉,修复了 bug,背离了代码即法律的根本理念,产生了现在的 ETH。另外,由于 ETH 过度依赖代码的去中心化和不可篡改,需要所有的节点都在虚拟机中执行一遍代码(无论是否与自己有关),加上十几秒级的出块时间,很多节点来不及执行合约,永远追不上最新高度。这些极大的限制了以太坊的扩容能力,使得以太坊和 btc 一样,又贵又慢。
分析了以太坊现在面临的困境,我们来重新审视一下智能合约本身。CSW 说过,code is not law,law is law。代码不是法律,法律本身才是法律。我们永远不要忽视一点,那就是系统与人之间的关系。我们希望借助区块链技术来服务人类,来提高生产效率,降低建立信任的成本,提高各个参与方的透明度,智能合约只是我们实现这一目的的一个工具,我们需要明确这一基础,不能本末倒置。现实中有各种各样的复杂场景可以使用区块链技术来解决,我们是区块链技术的使用者,而不应该去反过来拿着代码去强制要求现在的场景按照代码的要求来设计。正确的使用落地路径,是遵循现在的法制社会信用社会的运行规则,尊重现实,尊重与人之间的交互。
智能合约的一个最常见的场景,就是需要将现实社会的资产映射到数字世界,实现资产数据化,方便确权和交易流通。从公司的股权,到房产地产,再到飞机票电影票,再到内容版权,一切现实中抽象或具象的资产,都可以通过某些规则来映射到区块链网络中,从而让这些资产可以使用区块链的优势,去信任,易确权,易流通,同时透明公开,并间接跨平台跨行业统一链上信息等等。但是这些现实应用的实现,必须依赖一个组织来保证确权的过程,以及在遭遇侵权时的强制维权。一个不可篡改的账本只能保证记录是公开的,但是保证不了其资产的拥有者本身。如果资产所有人遭遇到暴力胁迫,或者欺诈勒索等非法伤害,而迫于无奈暂时交出其链上资产,代码是没有办法帮所有人去追回损失的。以太坊那样的代码即法律逻辑,无法处理现实世界的这些复杂情形,代码只能保护数据本身,保护不了使用数据的人,只有真实世界的法律可以保护使用者。因此,如果执法机关无法接入到合约中,来按照法律来修改合约状态,那么现实中的资产也很难在链上得到保证。Tokenized 的设计,首要需要面对的问题就是如何接入监管和执法机关,以及接入适用的法律条文,原因很简单,Tokenized 的目标并不仅仅是什么 IXO 这么无聊的资金盘游戏,而是真实世界那纷繁复杂的,难以统一化难以被代码化的资产。
商户发行 token 的目的不仅仅是为了炒作,它更基本的逻辑是在商户和用户之间建立一个经济激励系统。这个经济系统能够同时给商户和他们的用户带来双赢(win-win),比方说一个积分系统,商户可以使用积分来进行推广,降低推广费用,而用户可以积攒积分来换取更多商品和服务。因此,设计一个 token 系统,必须能够允许各种各样的经济激励模式可行。我们知道,在以太坊上经常使用发行的代币标准 erc20(标准化 token,如 BNB,HT 等),以及 erc721(特异化 token,如加密猫)就可以实现两种不同模式的经济激励。当然,tokenized 的设计需要允许实现各种复杂的经济激励模型,以方便 token 系统能够运转起来。以太坊的上述模型比较简单,参与方只有发行方(开发者)和使用者,而 tokenized 的系统,为了支持真实世界的复杂情形,模型的参与方可以有用户,合规监管者,执法者,比特币矿工,以及发行方等。
之所以单独提及发行方,因为信任发行方是 token 系统的信任基石。这个是任何 token 系统都不能绕过的根本问题,比如 erc20 发行的 ICO,投资者需要信任发行方的项目,需要信任他们会按照他们的白皮书来运作,也需要信任他们不会卷款跑路。以太坊只能帮助发行方发币,但是无法解决信任发行方的问题,也无法阻止或者惩罚发行方违背契约,事实上不止以太坊实现不了,目前没有代码可以解决这些现实中的问题,现代的社会解决这个问题依靠的是法律和法院。我们现在就生活在一个需要无时无刻不在信任别人的社会中,从我们的衣食住行等基本需求,到医疗养老安全等社会需求,都需要我们信任别人,包括信任政府。因为信任是契约的基石,而契约,则是现代社会的基石。当然,也无可避免地存在背信弃义的行为,作假的商家可以背信弃义,ICO 发行方也可以背信弃义,甚至政府也可能背信弃义,这不是信任带来的问题,而恰恰是不够信任,无法鉴别作假,作假成本太低导致的。而区块链技术的存在,不是杜绝背信弃义的行为,也不是让人们无需信任他人,而是通过技术手段提高透明度,增加作假时掩盖的成本,增加作恶的难度,保存作恶的证据,让人们可以更容易地信任别人,信任发行方,信任政府,降低获取信任的成本。因此,tokenized 系统作为 token 系统的一种,也需要信任发行方可以履约,同时引入监管和执法,来惩罚违约的情形。打个比方,发行电影票 token 的商户需要保证他们的电影票可以兑换成观影服务,发行飞机票 token 的商户需要保证 token 的持有者可以乘坐飞机,发行房产 token 的政府,需要保证合法的 token 持有者拥有房产。无法否认,这一切都离不开我们对发行方的信任。
之后就是关于经济自由的论点的思考,区块链还有一个重要的特性,就是免许可(permissionless)。免许可的含义就是任何人都可以参与到这个系统里,不需要别人的同意。比如中国想使用 Tokenized 协议来发行某种产权证明,那么不需要征得美国人的同意。协议本身是免许可的,任何人都可以作为主体发行属于自己的 token。但是免许可不代表无法无天,因为 token 的最终目的是映射真实世界的资产,真实世界的资产就要在真实世界的框架下运行,虽然任何人都有发行任何 token 的自由,但是如果你希望你的 token 能够获取到主流社会的支持,那么你的 token 就要在监管和执法的框架下运行。发行自由和使用自由是两个方面,就好比支持言论自由,不代表支持诽谤侮辱攻击他人的言论。
总结一下我对智能合约的看法,智能合约应该是依托于区块链技术,为现实世界的合约提供执行的透明性,系统的简洁性,历史的可靠性,监管的便利性,以及免许可,跨平台,去信任等各种优势的一个工具,智能合约只是工具,不是目的。而对 token 的看法,就是现实社会中的各种资产的数字区块链化表示,具备流通的便利,鉴权防伪的简单高效,手续费低摩擦,清结算高效快速等特点。token 运行在合约的框架下,需要同时满足链上的技术属性以及真实社会中的法律和监管属性。
Tokenized 的设计方案
基于刚才提到的通证系统和智能合约的要素,Tokenized 就需要设计和实现这样一个系统。而实现方案,简单来说就是利用 BSV 区块链的各种优势,将 token 资产以及操作写入到比特币的交易中,并利用比特币的公私钥地址系统来进行鉴权(authentication)和授权(authorization),使用自动代理节点来执行智能合约的二层网络解决方案。
这里分析一下为什么要在 BSV 上做,以及为什么只能在 BSV 上做。首先是得益于基础设施的稳定性。BSV 的核心思想就是稳定协议,要让基础设施像磐石一样稳定坚固。试想一个 token 系统,如果上面运行了大量的有真实社会的价值的合约和数字资产,经常频繁的更改协议是绝对不可取的,如果出现像这次 bch 硬分叉升级所遭遇的 3 小时网络瘫痪的问题,那造成的经济损失和信任损失是不可估量的。其次,需要 PoW 来保证基础区块链的公平性。目前不存在比 PoW 这种直接将电力能源转化成熵减(分布式系统达成一致的稳定态)的更为高效的方案,所有 PoS 或者 DPoS 等变种要么有严重的中心化问题,要么不是免许可链,要么流动性堪忧。再次,由于大部分的 token 都是价值相对低廉的积分系统,因此在交易时的手续费低廉和清结算实效性上有更强的要求,像以太坊那样昂贵的 gas 费以及十几秒的确认时间对于微支付是及其不友好的,因此需要借助于小额支付的 0 确认稳定而可靠。最后,因为真实世界的 token 是一个非常巨大的市场,最终应用一旦普及,链上交易量一定会爆发,为了避免交易爆发导致的手续费暴涨,需要一个巨大容量(无上限)的区块链系统来容纳那么多的交易。满足上面条件并坚定地实施扩容路线的区块链系统只有 BSV,其他的链不是太慢就是太小就是太贵就是太折腾。
Tokenized 技术上的实现简单地讲,就是定义了一系列的概念和操作,并将数据置入交易的 OP_RETURN 的空间内,并使用一个或多个自动代理节点来运行智能合约,由这些代理节点执行智能合约的代码,并将结果发布到链上。所有的步骤和中间数据都是公开在比特币交易历史中可供校验的。这样的设计有很多好处,首先对底层区块链而言,没有额外的负担。矿工或比特币客户端不需要对这些交易进行特殊的计算,不像以太坊那样需要在虚拟机中执行代码,对他们来说,这些 token 合约交易只是普通的比特币交易,而且是微型交易,只需要按照比特币的交易确认流程来处理就可以,以后可以和比特币的交易一样进行并行交易校验,极大的提升处理性能(以太坊的机制很难实现并行校验)。其次,由于我们前文提到,token 系统需要信任发行者,在 tokenized 的系统中,智能合约的执行节点由发行者或发行者所委托的机构来运行,执行节点也只运行和自己业务相关的智能合约,不需要消耗计算资源来运行其他人的合约,而普通用户则不需要运行执行节点,只需要运行可以构造 token 交易以及解析 token 交易的客户端钱包即可,并且由于历史记录可以公开查询,客户可以轻易发现 token 发行者作恶,并可以使用法律手段申请维权,这样一方面节省了运算资源,一方面可以将 token 世界和显示世界连接起来。再次,由于 tokenized 借助比特币的地址系统来进行身份认证和确权,因此天生集成了地址系统非对称加密的特性,可以使用签名机制来确保资产和相关操作不会被第三方伪造,同时私钥既保证了发行者的发行权,也保证了用户的持有权。最后,通过一些灵活多变的操作定义,可以更方便的实现资产的监管和执法,比如冻结,没收,解冻等操作,预留给监管一些机制可以保证监管者有权利进行执法。
在系统地了解 tokenized 的设计之前,需要对里面的一些常用的概念,以及这些概念在区块链中的表现进行定义。
首先是合约(contract)。合约的含义是,预设了一些资产,给定一些条件和条款,对一些给定的操作进行运算和处理,并返回最终的处理结果。因此,tokenized 的智能合约在设计的时候,考虑的内容和传统世界合约所考虑的内容是类似的,重点是条款和条件的约定,以及甲方乙方以及第三方监管等各种角色的分配,角色的任务和职责等。Tokenized 支持两种类型的合约,静态合约和动态合约。静态合约就是那种不需要一个执行节点来执行运算并长期维护,在发布之后就可以独立工作的合约,比如保密协议,用户协议,现金欠条,雇佣合同等静态内容。而动态合约则需要发行方来运行维护执行节点,由各个参与人不断提供数据输入并由代码计算结果的合约,常见的如 token,股权,票证,会员卡等合约。而此处的智能合约指代的就是动态合约。动态合约由发行者拟定合约内容(定义合约的各个方面,以及哪些内容可以修改),并向执行节点发送一个 Offer 合约的指令,并由执行节点返回一个合约构造(contract formation)的返回交易,才算创建合约成功。如果没有合约构造交易,则合约无效。另外,发行者也可以向执行节点发送修正案,修正案所可以修正的内容取决于合约的定义,如果合约中规定有些字段不可修改,则无法修改合约的这些字段。
权限标志(Authorization Flag),这个就是上文中提到的合约条款的一部分,归定了哪些字段是否可以被修改,哪些字段可以被谁修改等条款,此条款在合约或资产被创建的时候,随着 Offer 函数被定义好,之后就按照这个条款执行。
比特币交易(transaction)。Tokenized 系统使用的是标准 P2PKH(Pay to Public Key Hash,也就是我们常用的最简单的交易脚本格式)格式的交易。而 token 指令和数据被称为负载(payload),装载一笔交易最后一个输出的 op_return 中。注意,这里一个操作只能由一个交易完成,一个交易也只能表示一个操作。
操作(actions)。操作也可以理解为动作,就是负责将 token 的状态进行改变的一个过程。Tokenized 使用一种称为请求与响应(request and response)的机制来执行动作(除了 message 和 registry)。关于操作,这里有两个重要组件,Requester(请求者)和 Responser(响应者)。所有希望执行操作的角色,包括用户和发行者以及监管者等作为请求者,而执行合约的节点作为响应者。所有动作必须发送给合约对应的地址,而这些动作是否合法以及是否能生效,取决于执行节点使用合约地址对外发送的响应,只有正确响应了的动作才合法,执行节点也可以根据各种条款或监管来拒绝这次操作。请求和响应各是一笔交易,请求的交易接收方为合约地址,而响应的交易发送方为合约地址。操作的类型有很多,包括但不限于发行合约,修改合约,静态合约,定义资产 token,修改 token,token 转账和结算,投票选举等治理,执法操作如冻结资产,没收资产,解冻和恢复资产,注册白名单,黑名单,以及发送消息等等,具体的操作类型可以参考官方的定义或者白皮书。
资产(token),资产 token 是一个用来指代现实世界的资产的一个数据模型。资产可以被一个或多个合约来进行操作,资产本身只是代表所有权,但是可以衍生为身份,投票权等等一切抽象资产。每一个 token 在链上都是唯一的,资产的定义,使用合约地址加一个 AssetId(Asset ID = Asset Type + base58 (Asset Code + checksum))来确保资产的唯一性。资产的本质是对现实生活中某项权益的等价替代物,如果 token 资产丧失,对应的现实中的权益也应该丧失。现在的 Tokenized 协议支持的资产包括:优惠券(Coupons),用户积分(Loyalty Points),会员卡(Membership),普通公司股(Common Share),票证(Admission Ticket),稳定币等法币(Currency)。
资产转移(transfer),区别于比特币交易,这是 token 那一层网络的概念,指的是 token 所有权的交换,将 token 转送给其他人。转移 token 或发送 token,可以指定一个或多个接收者,转移了 token 就等同于转移了 token 所赋予的权利。另外 token 的转移要根据合约的条款来执行,比如 token 的转移需要支持身份验证 kyc,支持反洗钱 aml 等等。Tokenized 不止支持简单的 token 发送,还支持通过智能合约来进行 token 和比特币(BSV)的原子交换,token 与 token 之间的原子交换等等功能。
治理(governance)。Tokenized 智能合约平台支持选举,投票等政治治理方式。前文提到的权限标志(authorization flag)是一种治理方式,定义了合约和 token 的定义权,解释权和修改权等权限。当然也可以实现各种变种的投票选举。比如相对阈值投票,绝对阈值投票,选区投票(如美国大选),加权投票等等花式投票方案。投票有这样几个过程,首先管理员需要给出提案,以及预先定义好票数的分派,然后由各个成员进行投票,最后由执行节点进行票数统计并宣布投票结果。每一步操作都是一笔智能合约的交易。
执法(Enforcemence)。执法就是指监管部门在发现违法或违规行为后,按照当地的法律法规对资产进行强制性地管理。执法的主体可以是第三方监管,也可以是发行者,甚至可能是多数投票者,取决于合约和资产的定义。执法操作包括资产冻结,资产解冻,资产没收,资产归还等。和前面的操作一样,需要由执法者向合约执行节点发送执法命令(Order),并由执法节点返回执法结果来完成执法。链上执法的情形和现实社会中的执法情形是相似的,不同的是,链上执法的过程和步骤透明公开,受到所有人的监督,这也就反过来监控执法者,避免执法者滥用权力和违规执法。
预言机(oracle)。预言机或者叫做 “神谕”,是一个将现实生活中的某个场景条件转换为数据,导入到区块链系统中,并用自己的签名来为其信用做背书的一个角色。比如一些赌博合约,需要依赖某场球赛的结果,或者依赖美国大选谁获胜,再比如一些依靠某地法律的合约,法律的某修正案是否通过会影响这个合约的状态和执行,这时就需要一个大家都信任的角色将这些真实世界的事件结果导入到区块链中。只要可以获得别人的信任,任何人都可以成为预言机,甚至可以通过提供信用背书来盈利,合约也可以引入外部的可信预言机来影响合约的执行。比如在 token 系统中常见的预言机有第三方 kyc,第三方征信,第三方反洗钱系统等,都可以作为合约执行的某个条件之一。
注册表(register)。注册表也是一种操作,可以预先指定一个列表,然后合约在执行过程中会根据这个列表的结果进行决策,列表在合约启动之后可以自由增删改。常用的注册表有白名单,黑名单,可信任网站,可信任证书或敏感内容等等。
消息(message)。消息可以由一个地址发给另一个地址,作为聊天或者记录聊天的工具。同时消息也是执行节点在收到请求后返回处理结果的一个重要手段,根据不同的操作,对请求的地址返回操作结果,就是以成功消息或拒绝消息而存在的。
其他注意事项。
由于每一步操作以及其返回值都是一笔比特币交易(类似于以太坊收取 gas 费),所以操作都是付费 BSV 的。作为发行者或者执行节点,不用预留比特币来进行计算(与以太坊不同,以太坊的合约需要预留 gas 费用才能推动合约执行)。用户在发起请求的时候,所构造的交易必须预留足够用来返回的金额(返回时的矿工费)发送给合约执行节点,如果金额不足,则执行节点则不会返回结果,请求的操作也不会生效。这样的模式可以有效避免垃圾请求消耗掉节点预留的比特币,同时免除对合约计算步骤的计费(以太坊根据合约的计算类型收取不同的 gas),因为合约执行节点的性能要强大很多。这样既降低了发行方的成本,也降低了使用方的成本。
另外,token 操作交易一定是发往合约地址或者来自合约地址,这是为了保证使用比特币的 address 来进行权限认证。
一个操作只能用一笔交易来完成,同样一个交易也只能代表一个操作,这是为了保证操作的原子性(要么执行,要么不执行)。
action 必须位于最后一个输出。
如果一个交易非法,并且没有正确设置资金返回地址,则资金和消息返回给管理员。
所有的资产转移操作必须明确资产的 id,并且该资产是正确创建过的。
资产转移之前,必须要求拥有资产(即合约执行节点返回过资产转移成功的交易)。这一系列操作可以 0 确认完成,也可以链下构造再统一上链。
其他注意事项请参考官方文档:
关于更多的技术方面的细节,我以后会陆续写一些技术性的文档,说明如何搭建和构造节点,如何发币等等。
商业模型分析和展望
为了了解 Tokenized 的强大之处,以及应用场景,我们可以通过官网给出的一个示例来加以说明。
这里有一个航空公司,称为 TokenAir,他们有一套可以通过增加飞行时间来累积的积分系统。而我们的 Bob 是一个需要经常坐飞机的销售,因为经常坐飞机,所以他积攒了 400 万飞行积分(frequent flyer point,后文简称为 FFP)。他并不打算使用这些积分来消费,而是决定把这些积分赠送给他的姐姐 Dianne。
根据航空公司的智能合约,使用 token 进行消费必须通过 kyc 认证,如果 Dianne 没有经过 kyc 认证,那么 Bob 无法将积分送给她。而这个 kyc 认证是一个第三方提供的身份验证服务,有点类似我们的支付宝授权登录这样的实名服务。Dianne 在这个第三方预言机中成功注册了自己并通过了认证,并且向这个预言机发送请求,要求预言机发送一个签名消息的交易证明自己的身份。在获得了这个消息之后,她就可以从 Bob 那里接受 FFP 了。
Bob 此时构造一个 token 转移的请求给航空公司,请求转移 200 万个 FFP 给 Dianne 的地址。航空公司收到这个请求后,会通过身份预言机之前发出的签名交易,来判断 Dianne 是否通过了身份认证,如果签名合法,那么航空公司的执行节点会通知 Bob,token 转移成功,而 Dianne 则会在钱包里看到自己多了 200 万 FFP。
Dianne 就要拿着这些积分进行消费了。接下来我们来看一下 tokenized 如何实现一些复杂的消费逻辑。
Dianne 希望从航空公司预定一系列的服务套餐,这个套餐包括 3 张去斐济的商务舱机票,1 张超额行李的优惠券,6 张休息室的休息门票,7 晚的酒店家庭房入住券,21 张早餐券,一张 spa 优惠券,3 张高尔夫券,3 天的儿童俱乐部游玩权限,3 张豪华晚餐美食的享用券(之所以写这么多乱七八糟的套餐赠品,正是为了体现 token 系统的细粒度和跨平台优势。试想对比一下传统酒店服务的各种纸质优惠券)。而麻烦的是,这些服务套餐仅仅用 200 万 FFP 并不够,需要额外支付 0.2324 个比特币来补齐费用。
这个场景构成了一个复杂的多输入,多输出的消费模型。我们来看下 tokenized 如何实现这个模型,并保证 Dianne 能够精确计量和消费这些服务。
Dianna 在预定之前,从航空公司的节点上获取了一个交易模板,只要她按照这个模板正确填入自己的签名,并正确发送比特币的余额就可以成功下单。这些都可以由钱包的软件来实现,Dianne 需要做的就是查看一下套餐的内容,查看一下自己的比特币和 FFP 余额,然后选择是否订购这个服务即可。
交易模板里面规定了套餐的服务,以及需要的花费,并留出了签名的空白来给客户端填写,客户端只需要自动化填写好这些签名,补齐比特币,并构造交易来花费 FFP 和比特币给航空公司就可以快速完成订单。
航空公司如果收到了这笔订单交易,就需要由执行节点来完成结算,将对应的 token 发送给 Dianne。于是执行节点校验了这笔交易,发现合法并且满足要求,就将对应的各种服务券发放给 Dianne(这里为了叙述简单,结算过程稍微做了简化),然后 Dianne 就可以在钱包中看到机票酒店以及一系列服务的服务券了。
官方的文档只是描述到这里,我们可以接着畅想,在 Dianne 拿到各种服务券之后,应该如何去消费。而那些对应的提供商如何去校验 Dianne 确实拥有这些权利。
Dinanne 在到达目的地之后,在享受服务之前,将对应的 token 发送给服务提供者,服务提供者在确认 token 真实可信并已经花费之后,给她提供对应的服务。并且可以直接确信 token 是无伪造的,同时还可以确信 Dianne 不会拿着同样的优惠券消费两次服务。
分析了上述的案例,我们来总结一些使用区块链 token 系统给发行方和用户带来了怎样的优质体验。
首先对于航空公司和斐济的这些服务提供商来说,他们建立可靠网络系统的成本被大大降低,无需花费大量的精力在票证和优惠券的系统防伪造,防双花,防入侵等安全措施上,可以更为专注地设计他们自己的 token 系统。
另外,极大的降低了航空公司和这些服务商之间进行数据交换的成本,以前需要独自开发各种各样的适配系统,为了支持一个新服务就需要单独开发一套新的数据交换系统,以至于系统过于复杂臃肿,难以维护和管理。现在有了区块链这个超级跨界平台,各个服务商就可以专注于打造自己的系统和合约,而接入其他生态伙伴也会因为区块链的平台开放性而变得简单。
因为历史记录真实可信,而且永不丢失,这给商家提供了很便利的会计统计工具,用来计算盈亏,调整相应的商业对策。
对于用户而言,一套钱包 app,就可以涵盖如此之多的服务,不用手里拿着各种各样的实体票券来进行消费,省心省力,不怕服务丢失,而且票证真实可信,不怕别人伪造或者顶替自己。
用户也可以精确地计算自己消费了哪些服务,还有哪些服务没有消费,甚至没有消费的一些票券 token 还可以转让给别人(如果满足合约)来进行收益最大化。
还有,用户的消费记录被记载在区块链上,天然就可以作为可信的发票凭证,用来进行个人报税或者报销凭证也是最为便利不过了。
通过上面的分析,我们可以直观地了解到tokenized和BSV结合能够产生的奇妙化学反应,以及一些新兴的消费和服务模式,还有更多的可能和更大的空间等待我们去探索和实现。区块链应用落地,指望不上其他的山寨altcoin,只有像BSV这样务实又贴近监管,贴近主流社会的解决方案才是正道。