当前位置:网站首页>EOS的共识机制与区块生成
EOS的共识机制与区块生成
2022-08-05 11:08:00 【智慧浩海】
在《EOSIO 技术白皮书》中,对 EOS 的共识机制 BFT-DPOS(拜占庭容错算法+权益委托共识机制)进行了说明。其中拜占庭容错算法(Byzantin eFault Tolerance)的用途是:
所有的出块者都要对所有区块签名,以确保在同一时间戳或者同一区块高度上,没有区块生产者能够同时在两个区块上签名。一旦一个区块有了 15 个区块生产者的签名,该区块就被认为是不可逆的。任一区块生产者如果想在同一时间戳或者同一区块高度的两个区块上签名,就会留下密码学证据。在这一模式下,一秒之内就可以达成不可逆的共识。
在白皮书中,EOS 对其区块的出块机制进行了介绍,转摘如下:
根据这一算法,在使用 EOSIO 软件构建的区块链上持有通证的人,可以通过一个持续进行的投票系统来选择区块生产者。任何人都可以选择参加区块生产,只要能够说服通证持有人为其投票,就会有机会参与区块的生产。
EOSIO 软件可以让区块每 0.5 秒生成一个。在任何时刻,只有一个生产者被授权生产区块。如果在计划的某个时间内没有成功出块,则跳过该块。如果有一个或更多的区块被跳过,则在区块链上会有 0.5 秒或者更久的空白。
使用 EOSIO 软件,区块的产生以 126 个区块(每个出块者六个区块,乘以 21 个出块者)为一个周期。在每个出块周期开始时,软件会根据通证持有人所投票数选出 21 个区块生产者。被选中的区块生产者的出块顺序要获得 15 个及以上的区块生产者的同意。
如果出块者错过了一个块,并且在最近 24 小时内没有产生任何块,则这个出块者将被剔除在考虑范围之外,直到他们通知区块链可以重新开始产生区块。这确保了网络的顺利运行,把被证明为不可靠的区块生产者排除在出块排序之外,这一方式使得错过区块的数量最小化。
边栏推荐
- 解决2022Visual Studio中scanf返回值被忽略问题
- Three methods for extracting facial features
- gradle尚硅谷笔记
- Detailed explanation of PPOCR detector configuration file parameters
- 导火索:OAuth 2.0四种授权登录方式必读
- Integration testing of software testing
- PostgreSQL 2022 Report: Rising popularity, open source, reliability and scaling key
- 微服务结合领域驱动设计落地
- UDP通信
- I'm going crazy.Again A few days can not be A problem
猜你喜欢
012_SSS_ Improving Diffusion Model Efficiency Through Patching
DocuWare平台——文档管理的内容服务和工作流自动化的平台详细介绍(下)
How to choose coins and determine the corresponding strategy research
Support Vector Machine SVM
#yyds干货盘点#【愚公系列】2022年08月 Go教学课程 001-Go语言前提简介
并非富人专属,一文让你对NFT改观
Android development with Kotlin programming language II Conditional control
Naive bayes
PostgreSQL 2022 报告:流行度上涨,开源、可靠性和扩展是关键
朴素贝叶斯
随机推荐
Go学习笔记(篇二)初识Go
Use KUSTO query statement (KQL) to query LOG on Azure Data Explorer Database
The fuse: OAuth 2.0 four authorized login methods must read
Chapter 4: activiti RuntimeService settings get and get process variables, and the difference from taskService, set process variables when starting and completing tasks [easy to understand]
软件测试之集成测试
Machine Learning - Ensemble Learning
DocuWare平台——文档管理的内容服务和工作流自动化的平台详细介绍(下)
【MySQL基础】-【数据处理之增删改】
[Android] How to use RecycleView in Kotlin project
What are the standards for electrical engineering
2022 极术通讯-基于安谋科技 “星辰” STAR-MC1的灵动MM32F2570开发板深度评测
Integration testing of software testing
Opencv算术操作
华为分析&联运活动,助您提升游戏总体付费
PCB layout must know: teach you to correctly lay out the circuit board of the op amp
SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
机器学习——逻辑回归
How to write a blog with Golang - Milu.blog development summary
Can't get in to ask questions.I want to ask you a question about the return value (traversal of the graph), please give Xiaobai an answer.
Http-Sumggling缓存漏洞分析