共识协议属性

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.

XRP共识算法的更多相关文章

  1. Proof of Elapsed Time--Hyperledger Sawtooth 共识算法

    这一片文章中我们介绍一下Hyperledger Sawtooth项目中所提出的PoET共识算法, 现有的区块链共识算法大概可以分为两种: Nakamoto consensus:通过乐透的方式选择出一个 ...

  2. RChain的Casper共识算法

    RChain的Casper共识算法是基于Vlad Zamfir的correct-by-construction共识协议和CTO Greg Meredith和其他RChain成员讨论而来的.他们还为Ca ...

  3. [区块链] 共识算法之争(PBFT,Raft,PoW,PoS,DPoS,Ripple)

    近几天对区块链中几种常见的共识机制(PBFT,Raft,PoW,PoS,DPoS,Ripple)进行了总结.尽量使用简单易懂语言,篇幅较大,想了解的可以只读每个算法介绍中前边的原理.本篇文章主要参考& ...

  4. go-ethereum源码分析 PartII 共识算法

    首先从共识引擎-Engine开始记录 Engine是一个独立于具体算法的共识引擎接口 Author(header) (common.Address, error) 返回打包header对应的区块的矿工 ...

  5. raft共识算法

    raft共识算法 分布式一致性问题 如果说,服务器只有一个节点,那么,要保证一致性,没有任何问题,因为所有读写都在一个节点上发生.那如果server端有2个.3个甚至更多节点,要怎么达成一致性呢?下面 ...

  6. (二)区块链的共识算法:PoS 及其 例子 代码 实现

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  7. 共识算法之POW

    简介 POW是proof-of-work的缩写,中译为:工作量证明,是比特币中采用的共识机制,也被许多公有区块链系统所采用(比如以太坊).工作量证明机制基础是哈希运算,因此要理解pow首先要明白哈希函 ...

  8. 浅析Hyperledger Fabric共识算法 摘自http://www.cocoachina.com/blockchain/20180829/24728.html

    Hyperledger Fabric共识算法 区块链系统是一个分布式架构,交易账本信息由各个节点管理,组成一个庞大的分布式账本.在分布式系统中,各个节点收到的交易信息的顺序可能存在差异(例如,网络延迟 ...

  9. 共识算法:PBFT、RAFT

    转自:https://www.cnblogs.com/davidwang456/articles/9001331.html 区块链技术中,共识算法是其中核心的一个组成部分.首先我们来思考一个问题:什么 ...

随机推荐

  1. 【.net】Dictionary<TKey, TValue>源码分析

    一图胜过千言万语~

  2. PARTITION BY函数

    1.PARTITION BY 开窗函数, 使用场景,在合同表里,获取所有房源在最新的合同编号.或者获取每个班级每次考试的第一名. 区别聚合函数:对于每个每个分组返回多行,而聚合函数对于每个分组只返回一 ...

  3. UWP开发砸手机系列(二)—— “讲述人”识别自定义控件Command

    上一篇我们提到如何让“讲述人”读出自定义的CanReadGrid,但“讲述人”仍然无法识别CanReadGrid上绑定的Command.XAML代码如下: <StackPanel> < ...

  4. iOS 安装包瘦身 (上篇)

    本文来自网易云社区 作者:饶梦云 1. 安装包组成 谈到 App 瘦身,最直接的想法莫过于分析一个安装包内部结构,了解其每一部分的来源.解压一个 ipa 包,拿到其 payload 中 app 文件的 ...

  5. KindEditor的使用

    KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本 ...

  6. Problem I: GJJ的日常之玩游戏(GDC)

    Contest - 河南省多校连萌(四) Problem I: GJJ的日常之玩游戏 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 107  Solve ...

  7. [转] 红帽7搭建Zabbix监控

    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决 ...

  8. oracle中表空间的相关操作

    Oracle 创建表空间 注意点: 1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执行 2.确保路径存在,比如[E:\app\Quentin\oradata\orcl] ...

  9. php 内存分配新

    https://yq.aliyun.com/articles/38307 https://yq.aliyun.com/ziliao/132720 http://blog.liyiwei.cn/%E3% ...

  10. Python 字符串前面加u,r,b,f的含义

    1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用: 后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时 ...