区块链开源项目Ripple二、相关概念介绍及思考

2024-06-06 18:38

本文主要是介绍区块链开源项目Ripple二、相关概念介绍及思考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、UNL

     配置文件中的可信任列表。

     其实Ripple中的这个东西有好处也有诟病,好处是可以控制链的安全性,不管链上有多少不安全的作弊的验证节点,只要节点不信任你,作弊的就无计可施。坏处是,Ripple也因此被认为不是完全去中心化的网络,违背了初衷。

二、validation_quorum

    validation_quorum是达成共识的门槛数量。

三、普通节点与验证节点

      普通节点只转发交易,信任UNL中的信任节点,参与共识。

      验证节点可以被普通节点信任,决定共识。

四、公钥和私钥

     Ripple和Bitcoin采用椭圆曲线算法,生成一对公私钥,公钥可以根据私钥生成,但是反过来不行。私钥用来签名,公钥验证,具体后面专门讲解。

六、双花

     Ripple和Bitcoin都面临的问题是双花和分叉。

双花通俗的说,就是一笔钱花两次,因为Ripple每提交一次交易先本地验证接受,然后提交网络共识,共识过程可能耗费3-8秒。

在共识未成功之前,可以以这笔钱再提交一次交易,本地由于前一次还没有共识通过,所以此次交易还是能验证通过,然后提交网络共识。

Ripple的解决方法看起来很简单,就是依据共识的时间先后,对于上述实例,第一次交易共识通过,第二次交易的共识就通不过。

七、分叉与防作弊

   对于一个Ripple网络,假设有个普通节点的UNL中的验证节点都是作弊节点,或者作弊节点超过UNL总数量的2/3(具体怎么算的,后面专门介绍,涉及到数学证明过程),那么对于这个普通节点的本地区块链就会分叉。

 RIpple是如何防作弊的呢?当分叉后的作弊区块链又连接到网络上时,首先节点会广播区块信息,这是Ripple网络上的节点发现这个区块和自己的接不上或不一致,就把它标记为INSANE,意为我们都不信任你的区块,所以作弊的区块链无效。(具体如何标记,如何比对,后面专门介绍)。

八、共识

 Ripple网络上的每笔交易发出时,先经过本地节点的验证(签名和交易合法性,签名是用公钥验证交易的签名,合法性主要是验证有没有这笔钱可以花费等),再提交网络参与共识。共识就是UNL中的信任节点参与投票的过程,后面会详细讲解。

这篇关于区块链开源项目Ripple二、相关概念介绍及思考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1036910

相关文章

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

springboot项目中使用JOSN解析库的方法

《springboot项目中使用JOSN解析库的方法》JSON,全程是JavaScriptObjectNotation,是一种轻量级的数据交换格式,本文给大家介绍springboot项目中使用JOSN... 目录一、jsON解析简介二、Spring Boot项目中使用JSON解析1、pom.XML文件引入依

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv