闪电比特币(LBTC)是一个去中心化的全球价值互联网传输协议,具体应用包括点对点支付和交易平台等。任何接受 LBTC 协议的用户都可以几乎免费地使用 LBTC 来保证交易的实时性以及安全性。
LBTC 实施了 DPoS 与链上治理制度,使用户得以投票给对网络发展做出建设的议案,也能直接选出适合成为闪电记账节点的代理人(Delegates),使人人都能参与进 LBTC 生态中,从而解决 PoW 的中心化问题。
社区自治
链上治理系统将所有用户整合进决策过程中,任何人都可以成为生态的一部分。
迅速
交易能在数秒内完成。
去中心化
用户可票选出 101 个闪电记账节点,以此将记账权与话语权分离。
几乎免费
根据字节大小交易费用最低可达 0.00001LBTC。
可扩展性
DPoS 机制以减少节点数量为 LBTC 带来更高的可扩展性。
安全
整体架构建立在比特币稳定运行了 9 年的基础之上。
1. LBTC 是一个互联网价值传输协议
LBTC 是一个互联网价值传输协议(Internet of Value Protocol)。所谓价值传输,指在特定协议框架下可以实现的价值表达、传递和信用构建,以及基于此的所有经济金融活动,具体可能包括转账汇款、数字资产互换,法币-数字资产交换、信用背书的数字资产发行与交易、去中心化交易所、交易与承兑网关等一系列具备现实功能与社会效用的应用。
LBTC 协议的设计核心是,通过选用适当的技术架构去保证 LBTC 有足够的能力担当全球互联网价值传输的载体系统。LBTC 协议是实现价值传输的基本框架,即一切链上经济行为的母体。因此,我们对 LBTC 适用的技术架构以及各项内在细节提出了很高的要求,创造性地建立了基于 UTXO 的 DPoS 共识机制,并设计了不可逆转块、时间戳共识、Cache 中间件等平衡了这一组合的性能与可靠性,实现了一个比原始比特币更为贴近点对点现金系统设计初衷的协议版本。
2. UTXO 模型:最安全的记账方式
在数据层,LBTC 沿用了比特币采用的 UTXO 模型,作为区块链账本记录的基础架构。UTXO 是 Unspent Transaction Output(未被花费的交易输出)的缩写,是中本聪最早在比特币交易数据结构设计中采用的技术方案,同时也是比特币协议为世界带来的一项极具创新性的数据结构概念。
UTXO 放在比特币协议的数据库中是这样的形式:在链上确认若干笔转账交易目的地指向用户 A,并且 A 尚未花费掉这些交易所指明的资产,所有协议参与者就认可 A 就拥有这些资产。
相较于 UTXO 模型,一般人更容易理解账户模型(Account Model)。账户模型是指在数据库中保存账户的 ID、所有者标识以及该账户中的资产余额;当发生转账交易时,这些账户的余额会依据交易进行调整变动,形成新的账户-余额的 Mapping 关系(即对应关系)。而在 UTXO 模型中,一个账户的余额并不是作为一个数字被储存起来的,而是用占有的 UTXO 的总和计算出来的。也就是说,UTXO 并没有所谓账户-余额的 Mapping 关系,它仅仅是一个对所有历史交易的忠实记录,简约但十分强健。
UTXO 模型具有以下优点:
UTXO 的可靠性
在一个区块结构体中,previousblockhash 和 merkleroot 是两个最重要的字段,都起到了防止交易信息被篡改的可能性。UTXO 模型的核心思想就是保证已经写入的数据不可变,链式的 UTXO 基于这一核心思想,通过哈希指针连接不同交易的输入和输出,保证所有交易的合法性,实现 UTXO 的可溯源性。
UTXO 的一次性
UTXO 模型中的每一笔交易都是由多个交易输入组成的,这些输入其实就是 UTXO + 签名。每一个交易输出(Transaction Output)只有两种状态,已花费和未花费。如此确保了每个 UTXO 仅能被花费一次,抗双花攻击能力极高。
UTXO 的隐匿性
对比起账户模型,UTXO 更加私密。前文已知,每个 UTXO 都是“一次性”的。用户要是每笔交易都换一个地址,那么就很难找到其中两个地址的相关性,保证了交易的隐匿性。如果还有需要进一步提高这种隐匿性,亦可以考虑使用环形交易签名对、交易要素混用等技术手段。
UTXO 的可并行性
UTXO 模型被公认具有潜在的可扩展性,因为 UTXO 允许交易的并行化处理。当一个交易发送者发送两笔独立的交易时,花费独立的 UTXO 也可使交易用任意次序处理。这样可以使一个人的资金分离,在保证隐私的同时具有并行处理交易的能力。
比特币的 UTXO 模型经过了多年较为稳定的运行和测试,性能和安全性都有较大的优势。LBTC 作为比特币的分叉币,采用 UTXO 模型,对于 LBTC 来说是对其底层技术的一种继承。LBTC 采用比特币核心代码为基础进行开发,也是较为谨慎的选择。UTXO 的安全性和并行交易特点也将给 LBTC 带来更高效率的可能。
3. DPoS 架构:最高效的共识机制
在共识协议上,LBTC 采用了委托权益证明(DPoS)的机制。DPoS 是基于 POW 及 POS 的基础上,出现的一种新型的保障数字货币网络安全的共识算法。它既能解决 POW 在挖矿过程中产生的大量能源过耗的问题,也能避免 POS 权益分配下可能产生的“信任天平”偏颇的问题。那么,DPoS 就能顺理成章成为在共识机制 3.0 中的代表性共识机制。
简单阐述 DPoS 共识机制,其原理是让每一个持币者进行投票,选出一定数量的持币者代表,或理解为一定数量的代表节点,并由这些代表节点来完成交易验证和区块生产的工作。持币者可以随时通过投票更换这些代表,以维系链上系统的“长久纯洁性”,保证该协议有充分的去中心化程度。
DPoS 是目前所有共识协议中最快,最有效,最分散,最灵活的共识模式。DPoS 利用利益相关方批准投票的权力以公平和民主的方式解决共识问题。所有网络参数,从简单的交易手续费标准、出块间隔、区块参数到更为复杂的链上治理规则,都可以通过选定的代表进行调整。
DPoS 共识机制具有以下优点:
DPos 的高效能:
更快的确认速度:以 LBTC 为例,每个区块的时间固定为 3 秒,一笔交易(在得到 6-10 个确认后)大约消耗 1 分钟,完整的区块生产周期仅需 5 分钟;每 1-2 个周期即可以生成作为确认点的不可逆块。而在 PoW 机制下,以比特币为例,产出一个区块需要约 10 分钟,而确认一笔交易(得到 6 个确认)至少需要 1 小时。
DPoS 的低功耗:
DPoS 机制将节点数量进一步减少的同时,将节点间的相互关系从竞争改为合作,避免了不必要的算力竞争和互相攻击等无谓的损耗,在保证网络安全的前提下,整个网络的能耗进一步降低,网络运行成本最低。
DPoS 的高效治理:
只要利益相关方批准,开发人员可以实施他们认为合适的任何更改。这项政策不仅可以保护开发者,同时它还可以保护利益相关者,并确保没有任何人单方面控制区块链网络或让区块链网络失控。硬分叉如同替换了 51%的见证者,因此利益相关者参与的越多,其对应的选举证人越多,那么整个系统的安全性就越高。
4. UTXO+DPoS:惊人的奇妙组合
很多人可能会有一个错误的认知,认为 DPoS 只适合于账户模型,不能用于 UTXO 模型。但是实际上 UTXO 模型是存放记录的一种方式,用于交易存储、组织及验证;DPoS 是一种共识算法,用于保证在分布式网络中参与者也可以对交易数据取得一致认识。UTXO 和 DPoS 没有互斥性也没有相关性。
实际上 UTXO 和 DPoS 联合会有许多额外的优势。
更高的性能基础:
因为 UTXO 的分离操作,具有潜在的可并行性。配合 DPoS 的性能支持,使得 LBTC 具有极为优秀的性能基础。实际运行结果来看,LBTC 可以满足 2800TPS 运行要求。
更高的安全性:
在 DPoS 的架构中,节点按照给定的顺序出块,且时间间隔很短。如果使用账户模型,数据库会膨胀的很快,而且极短时间的数据库同步面临网络异常的时候会有许多问题。而采用 UTXO 模型,不仅可以保持数据库的大小,也可以根据特定算法生成锻造周期表,保持全网节点根据相同数据计算出的锻造周期表是一致的,此时全网节点达成共识。当锻造节点出现宕机、网络分区等情况,全网会根据“事务提交”的原则,以最长链为主链自行切换覆盖,保证一致性。
时间戳共识:
UTXO 和 DPoS 结合的一大难点在于时间戳,DPoS 共识基于时间,会严格检查区块时间。全节点系统时间必须设置为和标准时间一样,否则共识一致性会出现问题。而 UTXO 本身也记录了时间戳的功能,但时间戳并不基于标准时间。在 LBTC 里将时间戳统一成标准时间协议,以保证区块的正常运行。当存在作恶节点或者时间不同步的区块时,出块被作为异常块处理,出块节点被作为异常节点处理。
数据快照和投票:
在比特币采用的 UTXO 模型中,并不支持查询地址余额的功能。在比特币中,可以通过全局遍历 UTXO 数据,实时计算地址余额。实时计算的工作量相当巨大,计算时间以小时为单位,现实中不具备可行性。但是比特币不采用 DPoS 共识,并不需要节点注册、投票等功能。
而在 LBTC 系统中,为了 DPoS 算法的需要,LBTC 中新增地址余额计算、节点注册、节点投票新功能。考虑到共识算法的高性能要求、注册节点数目的有限性,把地址余额、节点注册及投票信息保存在内存中,程序退出时,把数据回写磁盘。通过数据库和地址余额、投票信息来链接 UTXO 记账信息和 DPoS 共识机制:
注册、投票的信息由比特币底层协议负责传输。
把注册、投票信息保存在内存数据库中。
DPoS 共识模块查看注册、投票信息,完成共识。
相关链接: