共识协议属性

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. EasyUi控件Datagrid

    很久没有打开我的博客园,刚刚大概扫了一眼我之前写的笔记,关于Devexpress那篇居然有四千多的浏览记录,不知道对浏览过的博友有没有起到一点点作用.当然我写笔记仅仅只是给自己留个记忆,如果歪打正着帮 ...

  2. Spring Boot启动过程(六):内嵌Tomcat中StandardHost、StandardContext和StandardWrapper的启动

    看代码有助于线上出现预料之外的事的时候,不至于心慌... StandardEngine[Tomcat].StandardHost[localhost]的启动与StandardEngine不在同一个线程 ...

  3. [Objective-C语言教程]Posing(29)

    Posing,顾名思义,意思是“冒充”,它跟categories类似,但本质上不一样,Posing存在的目的在于子类可以冒充父类,使得后续的代码无需把父类修改为子类,就可以很方便的让父类表现成子类的行 ...

  4. 浅谈HashMap原理,记录entrySet中的一些疑问

    HashMap的底层的一些变量: transient Node<K,V>[] table; //存储数据的Node数组 transient Set<java.util.Map.Ent ...

  5. 修改linux的文件时,如何快速找到要修改的内容

    ♦ 在linux系统下,找到需要修改的文件.使用cd+目录的命令进行文件所在的目录,使用ls命令查看是否有该文件. ♦ 使用vim+文件名,打开该文件 ♦ 快速在文件中找到需要修改的地方.如我们需要修 ...

  6. 通过API方式查看Azure Sign-ins记录

    经确认,目前Sign-ins功能在中国区还没有开通.也没有相关的预计开通时间.您可以通过如下链接随时关注China Azure的最新公告:https://www.azure.cn/zh-cn/what ...

  7. POJ 2215

    //package j; import java.util.*; public class Main { public static void main(String args[]){ int r; ...

  8. 开源系统-edusoho在线教育

    #部署 ```bash [root@localhost ~]# docker run --name edusoho -tid         -p 9900:80         -e DOMAIN= ...

  9. 安装配置python、beautifulsoup4、pip的心酸总结

    1.python下载安装不纠结,但如果要加入到eclipse里面就要注意一下版本,版本不匹配会造成,要不python降级,要不eclipse升级的情况 2.在稍新版本的python立面就附带下载在了p ...

  10. js01--简介、注释、数组、对象、null与undefined

    javascript简介:js,轻量级的脚本语言,插入HTML页面中,用来实现网页的动态交换. 1.js的使用: 写入HTML输出:document.write("<p>This ...