共识系列
文章平均质量分 57
介绍各种区块链共识
搬砖魁首
区块链从入门到宁静
展开
-
区块链知识系列 - Algorand的BA*共识
BA* 算法BA*,是 PBFT 算法的改进。BA* 算法分为三阶段:区块生成、GC 和 BBA*。算法的停止时间是不确定的,但大概率保证在有限步内结束。BA*由三个部分组成生成区块(s=1,即第一步):所有节点检查自己是不是potential leader,如果是,则生成区块并广播GC协议(2≤s≤3):有点像PBFT的后两个阶段,verifier 会生成1个二进制值BBA(s≥4):BBA共识的修改版。每次 BBA都由3步组成,会不断地循环。什么时候结束是不确定的,依概率结束。BA*将原创 2021-03-04 10:28:22 · 955 阅读 · 1 评论 -
Fabric系列 - 体验Fabric v1.4版本
开发环境# 下载1.4.8版本的release版本的 fabric 和 fabric-samples https://github.com/hyperledger/fabric/releases/tag/v1.4.8https://github.com/hyperledger/fabric-samples/releases/tag/v1.4.8# 测试部署智能合约cd fabric-samples/chaincode-docker-devmode# 终端1-启动网络docker-compo原创 2021-02-25 09:55:20 · 1078 阅读 · 2 评论 -
区块链知识系列 - PBFT 共识
了解 BFT拜占庭容错(Byzantine Fault Tolerance), 是算法的属性共识协议要解决的核心问题是在网络中有节点作恶时如何能够达成共识。要解决这个困难,首先需要了解“拜占庭将军问题”。 1982 年, Leslie Lamport、Robert Shostak 和 Marshall Pease 发表论文《拜占庭将军问题》 [23] ,提出一项思维实验:假设一组将军分别统领拜占庭军队的一部分,共同围困一座城市。这些将军只能通过信使将自己的策略相互传递。但是,这组将军中有一人或多人可原创 2020-12-17 17:44:00 · 3089 阅读 · 1 评论 -
EOS系列 - 区块最终确认数 LIB 的计算方法
LIBLIB:last Irreversible Block,最后一个不能修改的区块将被标注为LIBEOS上一笔交易的不可逆转时间163秒是怎么算出来的?前提:主网 21个超级节点,每个节点连续出12个块,每个块用时0.5秒通过BM与V神的讨论,DPOS的节点确认被定义为两轮。所以总确认时间为:T = 2*(2/3) *21 *12 = 336块时间而理论上一个区块达到最终确认需要的块数: T = 12*(14+13) + 1 = 325整个网络需要15个人确认才能达成共识。每个人默认会对自己出原创 2020-12-03 10:54:42 · 1056 阅读 · 4 评论 -
区块链知识系列 - DPoS+Pipelined BFT共识机制
EOS 目前采用DPoS+Pipelined BFT 共识机制。DPoS共识 - 如何成为出块节点DPoS(Delegated Proof of Stake)是权益委托证明机制。相比于比特币的PoW机制,DPoS不用浪费算力资源争夺记账权,而是通过赋予通证持有人投票权,EOS 将投票选出21个“超级节点”来担任记账人(Block Producer:区块生产者简称BP)的角色,保证整个网络的正常运行。出块机制每0.5秒生产一个区块。超级节点轮流出块,每轮每个超级节点连续出12个块。以 21*12 .原创 2020-09-22 13:58:04 · 1455 阅读 · 1 评论 -
区块链知识系列 - Raft 共识
Raft算法由斯坦福大学的Diego Ongaro和John Ousterhout于2014年在论文《In Search of anUnderstandable Consensus Algorithm》中提出。Raft算法面向对多个决策达成一致的问题,分解了Leader选举、日志复制和安全方面的考虑,并通过约束减少了不确定性的状态空间。典型的过程包括以下两个主要阶段:Leader选举:开始所有节点都是Follower,在随机超时发生后未收到来自Leader或Candidate消息,则转变角色为Cand原创 2020-09-15 11:20:07 · 3233 阅读 · 1 评论 -
密码学系列 - 可验证时延加密算法(VDF)
可验证时延加密函数(Verifiable Time-Delay Encoding Function): VDF有两大要求,即时间要求(加密时间长,而解密时间短)和可验证要求(证明与验证过程高效)。目前,设计使用的VDF算法是学术界研究的热点。两种解决方案❑ 迭代SNARK哈希链,迭代过程实现时延特性,zk-SNARK本身满足可验证特性。目前已小范围被应用。❑ 模的平方根方法,这也是一种常见的可验证加密方法。缺点是,生成证明的时间最好的情况和最坏的情况差一个数量级,因此很难控制加密时间。现阶段可验证原创 2020-08-05 00:27:14 · 4068 阅读 · 1 评论 -
公链分析报告(3)--Cosmos
调研主打跨链的公链Cosmos 互联链采用Tendermint Core区块链共识引擎 (POS+BFT)Cosmos是由众多独立并行的区块链组成的分布式网络,每个区块链都由BFT一致性算法(如Tendermint共识)提供支持。Cosmos是一个可扩展和互操作的区块链生态系统。在Cosmos之前,区块链是孤立的,无法相互沟通。它们很难构建,每秒只能处理少量事务。Cosmos通过新的技...原创 2019-04-23 13:39:43 · 3357 阅读 · 0 评论 -
IPFS系列 - 分布式哈希表(DHT)
分布式账本技术(DLT)的分支有向无环图(DAG)哈希图(Hashgraph)分布式散列表(DHT)区块链(Blockchain)DHTDHT的全称是Distributed Hash Table,即分布式哈希表技术,是一种分布式的存储方法。这种分布式网络不需要中心节点服务器,而是每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。DHT网络还在于关键字最接近的节点上复制备份冗余信息,避免了单一节点失效问题。简单地说,DHT就是一种分布式的存储和寻址技原创 2020-05-18 10:36:09 · 5058 阅读 · 1 评论 -
区块链知识系列 - HotStuff 共识
共识协议 HotStuff 由 VMware Research 等团队于2018年3月提出,其预印版经过五轮迭代修改,并将于并行与分布计算领域著名的国际会议 PODC 2019上正式发表。HotStuff 是一个基于主节点(Leader)的拜占庭容错共识协议共识协议的目标是在去中心化的网络中就系统的状态达成统一的认识,以便所有的(诚实)节点统一从一个状态迁移到另一个状态。PBFT 采用...原创 2020-05-04 00:21:17 · 5342 阅读 · 1 评论 -
以太坊系列 - 君士坦丁堡升级(2)
以太坊君士坦丁堡及彼得斯堡硬分叉据ambcrypto报道,以太坊硬分叉协调员和Parity Technologies的发布经理AfriSchoedon在Reddit上表示,君士坦丁堡硬分叉预计将于2月25日UTC时间11:54:02启动。这次升级将与此前提出的不同,因为将在同一个区块上进行两个分叉,第一个是初始分叉君士坦丁堡,第二个是彼得斯堡(Petersburg)分叉。据此前报道,以太坊改进...原创 2019-03-02 00:46:21 · 412 阅读 · 0 评论 -
公链分析报告(5)--2019年知名公链对比
往期精彩回顾:区块链知识系列密码学系列共识系列公链调研系列以太坊系列EOS系列智能合约系列Token系列原创 2019-06-17 10:58:13 · 1962 阅读 · 1 评论 -
区块链知识系列 - 比较PoW, PoS和DPoS共识
共识 - PoW PoS DPoS分布式系统与共识高可用方案 (主备切换)唯一订单号|id方案 (redis原子递增与guid)Memcached集群与一致性哈希 (根据key的哈希值确定数据在环上的位置)可信的,可以借助观察者和组件解决容错与一致性区块链网络不可信需要用去中心化的链内治理方法激励与惩罚机制从矿工|节点角度看共识的作用域组装新区块(区块头与交易列表)...原创 2019-05-31 14:57:28 · 1644 阅读 · 0 评论 -
以太坊系列 - 源码分析 - 共识
以太坊共识的源码分析讲述一个新区块被挖掘出的过程1.挖矿对于一个新区块被挖掘出的过程,代码实现上基本分为两个环节:一是组装出一个新区块,这个区块的数据基本完整,包括成员Header的部分属性,和叔区块组uncles[],以及交易列表txs,并且所有交易已经执行完毕,所有收据(Receipt)也已收集完毕,这部分主要由worker完成;二是填补该区块剩余的成员属性,比如H...原创 2019-05-30 21:50:17 · 1784 阅读 · 0 评论 -
联盟链系列 - 适用于联盟链的PoA共识
Clique PoA技术原理Geth的PoA实现1.Ethereum的PoAEthereum存在两个PoA测试网,分别是Kovan(PoA算法,Parity专用,Rust 语言)和Rinkeby(Clique PoA共识算法,Geth专用(版本号>=1.6),Go语言)KovanPoA (Immune to spam attacks)Supported by parity on...原创 2019-02-17 15:35:07 · 3262 阅读 · 0 评论