交易(transaction)是最基本的经济活动,也是区块链中最基本的数据结构。我当初学习比特币技术的时候,对比特币里的 transcation 数据结构设计狠下过一番功夫研究。然而比特币中的交易是单向的,只包含了资金侧的转账支付(transfer/pay),并不包含商品和服务流一侧的数据。理想的通证经济系统中,交易的双侧都应该表达为通证的流转,也就是代表价值的通证与代表商品与服务权益的通证在交易中进行原子化的所有权对调(exchange)。
麻烦的是,在中文区块链世界里,我们把 transaction 翻译成 “交易”,把 exchange 也翻译成 “交易”,这就摆了乌龙。实际上 transaction 在数据库技术世界中被普遍翻译为 “事务”,强调的是其原子性——要么保持原状,要么完全成功,没有中间状态。Transaction 中既包括 transfer/pay,也包括 exchange,还可以有其他更复杂的操作,因此在区块链世界里,将 transaction 翻译成 “交易” 是不合适的。交易交易,要有来有往,有交有易。所以,exchange 才是交易。
支付(transfer/pay)是单向的,而交易( exchange 中)是双向的。通证经济的基础设施,将会努力将各种价值和权益都通证化,因此在通证经济中的交易,表现为两份通证的对换。你去电商网站购买商品,其实花出去的是数字货币,买到的是一张数字合同,这才是这次交易的本质。至于商家通过快递将商品发送给你,只是对数字合同规定条款的履约行为,是“副作用”。
单向的通证流转(transfer/pay),以及双向的通证对换交易(exchange),这是未来通证经济中最基本的两个事务性操作。后者当然要比前者复杂,但由于包含了完整的交易流信息,因此可以更好的进行验证、追溯、分析和优化,其价值要比前者高得多。
理解了这一点,我们就会明白,在未来的大多数通证经济应用场景下,交易(exchange)将成为最普遍的基本操作。在通证经济里,购物是交易,阅读是交易,发表文章是交易,投票是交易,可能说句话都是交易。我们甚至可以把本来是支付的操作升级为交易——用户的支付行为,实际上是用一笔数字资产交换一个数字收据。这样一来,我们也可以认为未来的世界,交易将是泛在(pervasive)的。
然而看看我们现在的区块链和通证技术圈子,交易这一操作只集中出现在一个场所,那就是交易所。而其他大部分区块链和通证经济应用中,都回避了双向的 exchange,而钟情于单向的 transfer/pay。在这样的架构下,从区块链上,你只能看到交易的一半,看不到另一半。这显然不能被视为通证经济的高级状态。
我在这里大胆猜测,未来每一个区块链和通证经济应用当中,都需要有交易系统的功能,或者内置,或者外包,或者服务化,总之交易系统将无所不在,集合竞价的交易模式将无所不在。
也就是说,在未来,通证经济发展到成熟阶段的时候,交易系统将不独为某一类特别组织所有,而且是泛在的基础设施。交易系统技术,将成为与 Web 后端一样被广泛研究的技术,数以百万计的开发者将会在这个领域工作。因此,学习和研究交易系统技术,对于今天的技术人员来说,绝对是最具价值的投资之一。
遗憾的是,交易系统开发绝非易事,不但涉及面广,而且在性能、并发、安全等核心技术上有极大的挑战。更糟糕的是,市面上探讨交易系统开发技术的资料十分稀缺,高质量的内容更加少见。
由井通生态团队编写的这本开发指南,几乎是目前市面上唯一一本从开发技术层面阐述交易系统的图书,可谓是本类作品一个起点。可贵的是,这个起点相当高,这本书不但内容丰富,覆盖了区块链交易系统的各个方面,而且特别实诚,可谓刀刀见肉,章章都是实料。我本人并非这个领域的专家,但是翻读此书,对于交易系统的认识有了很大提升。如果读者是一位有经验的开发者,那么这本书应该可以引导他走入区块链交易系统开发的大门。
很愿意向技术圈的朋友推荐这本书,我相信这本书会在中国区块链和通证经济的发展进程中留下自己的印记。