从 HotStuff 回看 Tendermint — 实现

进入正题之前先谈谈一个最近的小思考。如何判断一个共识协议的水平在研究了 Tendermint、HotStuff、以太坊 Gasper 之后,我认为评估共识协议水平的标准为以下四个方面: 信任假设的强度。 安全性 Safety。 活性 Liveness。 吞吐量 Throughput每个共识协议无论是中本聪共识还是传统的 BFT 共识,都存在信任假设,不谈其基于什么...
Published on September 15, 2024 | 18 min read

以太坊的 PoS - Part3 Casper FFG

本文是介绍以太坊 PoS 共识的第三部分。最终确定性 Finality最终确定性(Finality)是指区块保证不会被回滚,会永远成为链的一部分。上篇文章介绍了作为以太坊 Fork Choice Rule 的 LMD GHOST,它使得共识协议拥有了不断出块的活性 Liveness,但仍然无法完全保证一个区块不会被恶意节点回滚掉,比如遭遇 Long Range A...
Published on September 06, 2024 | 11 min read

以太坊的 PoS - Part2 LMD GHOST

本文是介绍以太坊 PoS 共识的第二部分。共识协议是个组合学习以太坊 PoS 时,可以发现所谓的共识协议不是一个单一的协议,而是以下三个部分的组合。 Propose Rule: 区块发布规则,负责打包区块并发布到链上,比如以太坊的 Propose Rule 是 Proof of Stake,比特币是 Proof of Work,BFT 共识则是通过多轮投票机制对一个提案进行确认并提交。 Fork ...
Published on August 29, 2024 | 8 min read

以太坊的 PoS - Part1 共识协议总览

我打算写一个系列记录干掉以太坊的过程,系列中包括对以太坊的技术学习也包括自我思考和设计,逐步将好的机制应用到 Shardora 之中。由于之前几篇文章都是针对区块链共识算法的,因此打算先从以太坊的 PoS 入手。在 Shardora 共识协议开发之前我产生过两个疑惑?一个是 BFT 共识居然要求少于 1/3 的恶意节点,这听起来是个很强的信任假设,这真的可行吗?另一个是 HotStuff 共识这么好用,为什么主流的这几条公链不用,只是因为历史原因吗?在了解了以太坊 PoS 设计过程之后,我基本有了答案。接下来我会用三篇文章介绍以太坊 PoS 的设计思路和具体原理。...
Published on August 20, 2024 | 3 min read

关于区块链这几天我想到的

实在不是一个好名字区块链(BlockChain)这个词在中本聪的论文中本来是分开使用的(Block 和 Chain),不知怎么后来被合起来传播。这个名字实在是不好,太 technical 了,无论是「区块」还是「链表」都是软件领域的专业词汇,90% 的人乍一听都不知所云。看看 AI,「人工智能」这个名字简单形象,加上无数科幻小说和电影早已聊透,闭上眼睛就能想象出来是什么东西。再如「操作系统」,虽然偏技术感但也是容易理解的,至少人们知道这是个系统,可以在上面进行一些操作。而「区块链」在我脑袋里永远是一堆被绳子连起来的方...
Published on August 08, 2024 | 0 min read

从 HotStuff 回看 Tendermint — 理论

在生产环境中,Tendermint 是一个比 HotStuff 出现更早、更加成熟的方案,最有名的是 Cosmos 中的应用。我们在 Shardora 实现了 HotStuff 作为共识层之后,学习并参考了 Tendermint,特别是参考其对接 PoS 的部分,以进一步完善 Shardora 共识的效率和安全性。此外,Tendermint 中涉及很多 BFT 的基本概念,是 BFT 类共识发展历史的一个重要节点,了解 Tendermint 能让我们更加熟悉 BFT 类共识的底层原理,更能了解 BFT 类共识普遍面对的问题,以及不同共识算法对应的解决方案。<a h...
Published on August 05, 2024 | 13 min read

Fast HotStuff 理解和思考

原生 HotStuff 的局限相比其他 BFT 类共识算法,HotStuff(下文简称 HS) 通过增加一个投票阶段的方式实现了正常和异常情况下 O(n) 的通讯复杂度,并且没有牺牲响应性(Responsiveness)。具体请参考上篇文章HotStuff 工程设计与实现。然而,HS 有以下两个局限: 交易确认...
Published on July 22, 2024 | 3 min read

HotStuff 工程设计与实现

本文内容源于 Shardora 区块链对 HotStuff 的工程实现。Shardora 是一条基于多分片扩容、多交易池并发共识的高性能区块链,使用改进的 PoS + HotStuff 来保证共识的性能与安全性。1 共识算法概述共识算法用于实现各个副本之间的状态机复制(SMR)协议,是去中心化系统(如区块链)的核心部分,它保...
Published on July 04, 2024 | 17 min read

Sample Post

This post will show you how the content will look like in the post pages and how the headlines, quotes and quotes will be represented. Jekyll is mainly used to write simple markdown and after that it renders out a static pages, so you need to know the basics of writing markdown for that.For m...
Published on April 24, 2020 | 3 min read

How to Install and use WhatATheme?

What is WhatATheme? You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. &gt;You can rebuild the site in many different ways, but the most common way is to run <...
Published on April 22, 2020 | 3 min read

What is Jekyll? How to use it?

Jekyll is a simple, blog-aware, static site generator perfect for personal, project, or organization sites. Think of it like a file-based CMS, without all the complexity. Jekyll takes your content, renders Markdown and Liquid templates, and spits out a complete, static website ready to be serv...
Published on April 21, 2020 | 2 min read