Rapid chain

  • 这篇文章中提到 Elastico 运行6个epoch就会退化到公式失败率高达 0.97

  • omnileger 在第一个epoch需要一个初始化的随机种子,来初始化 VRF。这需要 O ( n 2 ) O(n^2) O(n2) 的复杂度,并且OminLedger 需要通过轻节点驱动枷锁和解锁的过程,这户家中节点的负担。

  • 会导致DoS攻击

  • 之前的协议中都要求总的恶意节点数不超过 1/4,这说明他们的防御能力弱。但是这个Rapidchain提升到1/3是因为committee内部使用的同步共识协议。

  • 在每个委员会内部使用同步共识,只需要收集 1/2以上的票,就能证明提交成功

Bootstrap

  • 根据 hardcode 的硬编码随机种子进行初始化

  • 用hardcode 的硬编码种子,减少对于第三方可靠性随机的依赖

  • 每个节点都能根据seed将整个网络建模成一个二分图,L node是普通节点,R node是 group,这样一个节点可以属于好几个group,每个 group中运行分布式随机数生成算法,生成随机数 s,每个节点建立 ID 得到哈希值 h = H(s || ID),选举h最小的e个节点进入下一轮。直到选出 root group
    请添加图片描述

  • 根小组负责选择参考委员会成员

  • 参考委员会将所有节点的集合随机划分为各个分片委员会,随后进入第一个时代

Consensus

IDA-gossip

  • 当一个节点要发送较大的一块数据,使用EC码,将数据分散成小块发送,并让节点之间进行互相广播。
  • 将large message分成 ( 1 − ϕ ) k (1 - \phi)k (1ϕ)k 个chunk, ϕ \phi ϕ 是恶意节点的比例, 并添加 ϕ k \phi k ϕk 个冗余块。
  • 将 k个chunk分成d个不相交的集合,发送给他相邻的d个节点。
  • 为了验证正确性,建立merkle tree,发送Mi块时还需要发送Mi个merkle proof

同步共识

  • 认为诚实节点之间是通过同步网络连接的,只需要收集到 1/2+1 的投票就行。
  • 因此每个委员会内部对于恶意节点之间的容忍性为 1/2

跨分片交易

将跨分片交易的驱动,从client 转移到shard的leader。
output shard的leader向utxo中的input shard发送相关的交易,input shard执行结束后,output shard处理相关交易。

Inter-Committee Routing

简单来说就是每个节点存储同委员会成员全部节点的路由信息,同时只存储属于距离自己所在委员会最近的log(n)个委员会内的log log(n)个节点的信息
在这里插入图片描述

POW

  • 也是通过pow来建立身份,加入下一个epoch
  • pow 的结果需要交给 reference commiittee 来认证

committee recofiguration

为了保证安全性,要时常将委员会中的节点替换掉。
这篇文章中使用了有限Cuckoo Rule

Cuckoo Rule

[ 0 , 1 ) [0,1) [0,1) 分成k个区域,每个节点被映射到一个区域中。当一个新的节点想要个加入到网络中,他被随机映射到一个区域中,这个点固定区域周围的点被驱逐出这个区域,并加入到其他区域中。

Bounded Cuckoo Rule

进入新的echo,新的节点必须要通过POW进行新身份的建立,为了保证在进入新的echo同时也能进行共识,因此原先committe中的节点还在原committee中。

将committee中节点多的记作acitvate committee,新的节点加入activate committee,activate committee中节点根据 Cuckoo Rule 剔除并加入其他的committee。

这也算个创新吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/149133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

主键问题以及分布式 id

分布式 id 需要处理的问题主要是同一时间在多台机器中保证生成的 id 唯一,为了这么做我们可以这么做: 分布式 id 生成策略 先说几个已经被淘汰的策略引出分布式 id 的问题 1,UUID:UUID 随机并且唯一,在单一的数据库…

Android问题笔记四十六:解决open failed: EACCES (Permission denied) 问题

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列点击跳转>ChatGPT和AIGC 👉关于作者 专…

[算法学习笔记](超全)概率与期望

引子 先来讲个故事 话说在神奇的OI大陆上,有一只paper mouse 有一天,它去商场购物,正好是11.11,商店有活动 它很荣幸被选上给1832抽奖 在抽奖箱里,有3个篮蓝球,12个红球 paper mouse能抽3次 蒟蒻的p…

Cascade-MVSNet论文笔记

Cascade-MVSNet论文笔记 摘要1 立体匹配(Stereo Matching)2 多视图立体视觉(Multi-View Stereo)3 立体视觉和立体视觉的高分辨率输出4 代价体表达方式(Cost volume Formulation)4.1 多视图立体视觉的3D代价…

RT-DETR优化改进:SEAM、MultiSEAM分割物与物相互遮挡、分割小目标性能

🚀🚀🚀本文改进:SEAM、MultiSEAM分割物体与物体相互遮挡性能 🚀🚀🚀SEAM、MultiSEAM分割物与物相互遮挡、分割小目标性能 🚀🚀🚀RT-DETR改进创新专栏:http://t.csdnimg.cn/vuQTz 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; RT-DETR模型创新…

数字化时代,VR全景如何助力商企抢占市场份额?

随着5G技术的逐步落地,VR全景已经开始逐渐被应用到各行各业中了,VR餐饮、VR房产、VR景区、VR工厂、VR学校、VR博物馆等等,甚至大家所熟悉的汽车之家中的全景看车、贝壳和链接的全景看房等,所应用的都是VR全景的形式。 前几年电商对…

设计模式(二)-创建者模式(2)-工厂模式

一、为何需要工厂模式(Factory Pattern)? 由于简单工厂模式存在一个缺点,如果工厂类创建的对象过多,使得代码变得越来越臃肿。这样导致工厂类难以扩展新实例,以及难以维护代码逻辑。于是在简单工厂模式的基础上&…

HTML易忽略的角落【目录】

目前已有文章 **** 篇 本专栏是汇集了一些HTML常常被遗忘的知识,这里算是温故而知新,往往这些零碎的知识点,在你开发中能起到炸惊效果。我们每个人都没有过目不忘,过久不忘的本事,就让这一点点知识慢慢渗透你的脑海。 …

用js切割文字,超出省略

因为项目需要,当人员超过两个事则进行超出省略,如将一个 “张三,李四,王五”,这样的字串切割成"张三,李四…" 效果: 主要用的是基础的切割法 isOutlier(text) {if (!text || text "") return;const parts text.split(","); // 使用逗号将字…

【canvas】了解canvas,并实现会议预定记录钟表盘、页面水印

初识canvas Canvas 有什么用 Canvas 允许使用直线、曲线、矩形、圆形等基本图形绘制出复杂的图形 Canvas 可以加载图像,并进行各种处理,如裁剪、缩放、旋转等操作 Canvas 可以通过 JavaScript 控制,所以你可以利用帧动画原理,…

Leetcode2937. 使三个字符串相等

Every day a Leetcode 题目来源:2937. 使三个字符串相等 解法1:枚举 设 len1、len2、len3 分别为字符串 s1、s2、s3 的长度。 min_len 是 3 个字符串长度的最小值。 枚举 len min_len 到 len 1,设 t1、t2、t3 分别是字符串 s1、s2、s…

全链路监控--pinpoint

一、pinpoint架构原理 架构组成 Pinpoint Agent:和自己运行的应用关联起来的探针 Pinpoint Collector:收集各种性能数据 Pinpoint-Web: 将收集到的数据显成为 WEB网页显示 HBase Storage: 存储收集到的数据 工作原理 pinpoint的核心思想是在各个服务节点之间彼此调用时&a…

Unity 6 是下一个 LTS 版本即将发布

Unity 公司宣布,即将发布 Unity 6,并表示其为下一个长期支持版本 (LTS)。 Unity 在大会上演示了全新的 Unity 6引擎,并通过 Syncy Studios 采用 Unity 6 制作的《幻想王国(Fantasy Kingdom)》Demo 进行了演示&#xff…

面试题 三

一、this 手写call //1、定义myCall方法 //3、接收剩余参数并返回结果 Function.prototype.myCall function (thisArg, ...arg) {// console.log(thisArg); //person对象// console.log(this); //func方法//2、设置this并调用原函数//下面三行代码有个缺陷就是如果pers…

「Verilog学习笔记」边沿检测

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 timescale 1ns/1ns module edge_detect(input clk,input rst_n,input a,output reg rise,output reg down );reg a_tem ; always (posedge clk or negedge rst_n) beginif…

我的256天创作纪念日

今天是我成为创作者的第256天纪念日,感谢CSDN官方的纪念信让我铭记这特殊的一天。 机缘 256天前,我怀着满满的好奇和期待,开始了我在CSDN的创作之旅。当时的我,是一个内向的计算机小白,对于写博客这件事还一无所知。…

Windows10 MYSQL Installer 安装(mysql-installer-community-5.7.19.0.msi)

分类 编程技术 1.进入官网找到自己所需的安装包:https://dev.mysql.com/ ,路径:DOWNLOAD-->MYSQL Community Edition(GRL)-->MYSQL on Windows (Installer & Tool) 或直接点击 MySQL :: Download MySQL Installer 查看最新版本。…

bhosts 显示节点 “unreach“ 状态

4.1、bhosts简单使用 查看各节点情况,包括状态和正在运行的 Job 情况等 STATUS列展示节点状态 OK:可用——可接受新的作业的正常状态 unavail:不可用 可能原因:主机关闭,LIM和sbatchd不可达 unreach:无法连…

基于SpringBoot的SSMP整合案例(业务层基础开发与快速开发)

业务层基础开发 接口类public interface BookService {boolean save(Book book);boolean update(Book book);boolean delete(Integer id);Book getById(Integer id);List<Book> getAll();IPage<Book> getByPage(int currentPage,int pageSize);IPage<Book> …

Linux | C语言中volatile关键字的理解

目录 前言 一、代码引入 二、现象解释 三、具体引用 前言 本章主要讲解介绍volatile关键的作用与使用场合&#xff1b;深刻理解volatile关键字&#xff1b;本文你需要有信号相关的基础知识&#xff1b; Linux | 信号-CSDN博客 一、代码引入 首先&#xff0c;我们来查看下面…