共识协议属性
XRP Ledger使用的共识协议不同于之前的任何区块链。该协议称为XRP Ledger
共识协议,旨在具有以下重要属性:
- 使用XRP Ledger服务的每个人都可以就最新状态达成一致,且交易都是按顺序执行。
- 单个节点或者管理员无法操作所有有效的交易
- 即使某些节点的加入, 离开,或者其他原因,整个服务也不会瘫痪。
- 如果太多参与者无法访问或作恶,则交易无效
- 与大多数其他区块链系统不同,确认交易不需要浪费资源
账本历史
XRP Ledger处理区块中的交易称为账本版本
或简称账本
, 每个账本 包含三个部分:
- 存储在账本中账户的所有余额和当前状态
- 已应用于前一个账本来产生此账本的一组交易
- 有关当前账本的元数据,如其账本的索引,唯一标识的Hash值,以及有关用作构建此账本的基础的父账本的信息。
每一个账本都使用账本索引进行编号, 并构建在前一个的账本之上, 账本的索引起始值为1 , 由当前的账本的索引可以一直追溯到第一个账本. 如同Bitcoin 和Eth一样, 使得所有的交易及结果都记录在链上并完全公开 . 与许多区块链技术不同,XRP Ledger中的每个新“块” 都包含整个当前状态 , 所以你不需要收集整个历史( 区块)就知道现在发生了什么 .
XRP Ledger Consensus Protocol
的主要工作是将前一个账本的一组交易达成共识 , 以明确定义他们的执行顺序,确认每个人都得到相同的结果 . 如果成功发生这种情况,则认为账本已经过验证 . 然后 ,该过程将继续构建下一个分类帐版本
信任的验证
XRP Ledger共识机制背后的核心原则是,一点点信任都有很长的路要走。p2p 网络中的每个参与者都选择一组( 专门配置为积极参与共识的服务器)validators, 更重要的是,所选择的验证者(节点)不应该相互串通,以完全相同的方式打破做虚假验证 。 此列表有时称为唯一节点列表(Unique Node List)或UNL .
随着网络的发展,每个节点都会监听其可信任的节点 , 只要有足够的比例同意一组交易并且结果是指定的账本,节点服务器就会宣布达成共识。 如果他们不同意,验证人会修改他们的提案,以便与他们信任的其他验证人,重复这一过程,直到他们达成共识
只要可信任的节点出现故障的比率没有超过20%, 整个网络依然可以共识 , 也就是说若想确认一笔无效的交易, 需要全网80%以上的信任节点达成共识 . 如果超过20%但不到80%的可信节点(验证人)出现故障,网络就会停止进展。
关于更多共识安全参考 : Consensus Protections Against Attacks and Failure Modes.