稳定代币系统的区块链技术架构浅谈
一直以来,区块链技术被人们广泛讨论是不是能在金融系统应用场景中落地,那么稳定代币系统的架构可以让区块链技术在金融应用落地成为可能。下面就让一起看看稳定代币系统架构有哪些方面需要注意的。
1. 系统架构
稳定代币不仅需要依赖区块链技术构建系统运行所必须的底层基础设施,依靠复杂的运营机制来维持系统的稳定、合规运行,同时还需要价值稳定机制来协调底层区块链基础设施和上层的运营机制,实现价值稳定。稳定代币系统架构主要包含3个方面:(1)区块链基础设施,即用于构建稳定代币系统核心功能的技术模块;(2)运营机制,即用于维持稳定代币系统健康运行的管理模块;(3)价值稳定机制,即用于调节稳定代币价值的策略模块。其中,“区块链网络”是连接区块链基础设施和运营机制的桥梁。一方面,利用区块链的组网机制、信息传输机制和数据共享机制,构建去中心化的数据交互系统;另一方面,区块链网络体现了运营机制中不同实体的参与模式。价值稳定机制通过链上调控和链下调控手段,对区块链基础设施和运营机制进行管理,调节稳定代币的价值。
从稳定代币系统实现模式的角度,区块链基础设施分类包括:(1)区块链网络,负责实现稳定代币系统基础的组网、通信、交互功能,涵盖传统区块链架构的网络层、共识层、激励层;(2)区块链账本,负责存储稳定代币系统的交易记录和操作记录,主要涉及区块链架构的数据层,此处重点介绍稳定代币系统的数据如何存储在区块链账本中;(3)区块链脚本,负责实现稳定代币系统的交易功能和管理功能,主要涉及区块链架构的合约层。
2. 区块链网络
考虑到稳定代币系统的实际特点,下面从组网模式和共识机制两个方面介绍区块链网络的特性。
首先,组网模式描述了区块链网络中节点的选取机制。区块链网络普遍采用P2P组网模式,但是不同的区块链系统在网络节点选取机制上存在显著区别。其中,区块链公链允许任意节点加入网络,去中心化程度较高。但是由于很难控制区块链网络的规模以及区块链节点的性能,容易导致区块链系统整体的交易性能较低、延迟较高;区块链许可链只允许经过身份认证的用户参与区块链网络的运行,拥有较高的交易性能和隐私保护能力,但是系统的可靠性建立在少数区块链节点的可靠性之上,公信力较低。
其次,共识机制描述了区块链网络中不同节点进行数据交互的协商机制。公链场景中,节点数量多,网络环境复杂,很难在有效时间内使所有节点达成一致性状态,因此通常采用弱一致性设计,如PoW、PoS等。在许可链场景中,节点数量少、性能高,能够高效地实现数据一致性,所以通常采用了强一致性的设计,如PBFT。
3. 区块链账本
区别于传统的数据库,区块链账本通常只支持存储和查询,不支持修改和删除,并且由所有节点冗余存储全部数据。稳定代币系统的数据主要分为两类,即交易数据和操作数据。本质上,稳定代币系统是区块链上的应用,交易数据和操作数据其实都是用户调用稳定代币系统的API实现的。从区块链数据层的角度,稳定代币系统的交易数据和操作数据都是一种特殊的区块链交易,存储方式是一致的。根据稳定代币系统采用的区块链网络,可以将稳定代币分为基于公链的附属稳定代币和基于许可链的独立稳定代币。
基于公链的附属稳定代币,其交易记录和操作记录主要以数据参数的形式存储在区块链交易中。典型的公链系统通常有原生的代币机制,如比特币以太币等。此类交易的本质是不同区块链地址之间进行代币转移的过程。区块链交易中须包括发送方地址、接收方地址、交易金额3个参数。为了扩展区块链交易的功能,公链系统还会设计专门用于存储数据的参数。
4. 区块链脚本
区块链脚本是区块链系统为了实现多样化应用需求而设计的编程语言。脚本的数据存储在区块链账本中,脚本的运行过程由所有节点共同参与。在第一代区块链技术中,比特币系统就已经支持脚本技术,此阶段的脚本技术仅支持顺序执行和少量的API,主要用于延时交易等简单功能。第二代区块链技术体系中,区块链脚本已经成为核心创新技术,典型代表以太坊系统提出了支持图灵完备的脚本技术,被称为“智能合约”。相对于比特币系统的脚本,智能合约功能更加强大,不仅支持循环等复杂操作,还可调用外部API,这使得区块链脚本能够实现更加复杂的功能,解决复杂的实际问题。正是由于智能合约技术的巨大潜力,区块链技术不再局限于金融业务,而是将应用范围向能源、电信、版权保护等众多行业扩展。在正在演进的第三代区块链技术体系中,区块链脚本技术在高效、安全等方面得到了大幅提升。Facebook的Libra项目中采用的新型区块链架构就专门设计了新的脚本语言MOVE,在灵活性、安全性和可验证性方面有较大提升。
相对传统的编程语言,区块链脚本在公信力方面有特殊优势。首先,区块链脚本的代码存储在区块链账本中,由于区块链具有不可篡改的特点,存储在区块链账本中的脚本代码也具有了安全可靠的特点。其次,区块链脚本的代码可被公众验证,区块链应用的算法和安全性可以受到公众监管。最后,区块链脚本的执行过程是由全体节点参与,执行结果由全体节点存储和维护,能够实现安全可信的执行过程。