每一本讲区块链技术的书籍,几乎都会讲到拜占庭将军问题,看到这个词语时,我曾经一度认为有一位名叫拜占庭的将军带领着一支庞大的军队打仗时遇到了难题,但查阅了一些资料后,发现实际上并没有拜占庭将军,也没有这
拜占庭将军问题其实是虚构出来的一个故事,是为了方便通俗地介绍分布式系统所面临的难题。
但凡关于区块链或比特币相关的书籍,就算是相关问题深入探讨都绕不开一个永恒的话题——拜占庭将军问题(The Byzantine Generals Problem)。每一个想理解和掌握区块链技术原理的人也无法“逃过”拜占庭将军的“手掌心”,网络上关于拜占庭将军问题的讨论、描述、讲解多如牛毛,很多区块链大神,用了论文级别最科学,最严谨的算法、公式来推理,讲解,试图让人们更透彻的理解区块链技术是如何迎刃而解拜占庭将军问题的核心,往往却事与愿违,而本文试图化繁为简,让非技术人员也能理解拜占庭将军问题的前世今生。
“共识机制是区块链的灵魂。”这是业内经常能听到的一句话,共识机制在区块链中的地位可想而知。那么到底什么是共识机制呢?我们不妨从拜占庭将军问题说起。
这是filecoin协议里面对 PFT的解释,power概念就是矿工的影响力(influence),“Power”是filecoin系统的投票权力的大小度量,根据矿工贡献的Power来计算矿工的投票权有多大,根据信达雅的基本要求,所以称为“影响力容错”。之前曾经考虑过“权利容错”和“权益容错”,“权利”这个词本身表达不了大小的概念,而“权益”又跟Proof of Stake(权益证明:EC共识是在这个基础上进行的,有必要区分)有冲突,于是小编把这个词翻译成影响力容错。或许有更贴切的表达方式,欢迎讨论!
“区块链”技术最初是由一位化名中本聪的人为比特币(一种数字货币)而设计出的一种特殊的数据库技术,它基于密码学中的椭圆曲线数字签名算法(ECDSA)来实现去中心化的P2P系统设计。但区块链的作用不仅仅局限在比特币上。现在,人们在使用“区块链”这个词时,有的时候是指数据结构,有时是指数据库,有时则是指数据库技术,但无论是哪种含义,都和比特币没有必然的联系。
区块链是一个融合了点对点传输(P2P),加密算法等技术的分布式数据库,它必须基于计算机网络来进行。 📷 分布式记账的方式带来了的好处就是大家都来记账,每个人手里都有一本完整的账本(数据),某部分(节点)的账本(数据)的丢失不会导致整个账本(数据)的丢失,因为账本(数据)是全网所有(节点)共有,即这个数据有无数个备份,随时可以恢复。 而且随着节点的增加,账本(数据)也越来越安全,很难摧毁。 当然,另外一个好处就是,任意一个或部分(节点)的账本(数据)的篡改,都不可能被全网认同,对于数据的篡改几乎不可能,除非你
01— 拜占庭将军问题的起源 拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息。 在战争的时候,拜占庭军队内所有将军和副官必需达成一致的共识,决定是否有赢的机会才去攻打敌人的阵营。但是,在军队内有可能存有叛徒和敌军的间谍,左右将军们的决定又扰乱整体军队的秩序。在进行共识时,结果并不代表大多数人的意见。这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,拜占庭问题就此形
本篇专栏 ←持续记录本人自学两年走过无数弯路的智能合约学习笔记和经验总结 如果喜欢拜托三连支持~
技术定义是:共识机制是一个群体决策的流程,群体中的个体会执行和支持对群体其他个人最好的决定。这是一个个体需要支持大多数人决定的解决方式,不管他们意愿如何。
接触区块链的同学,多少都听说过拜占庭将军问题,经常看到或听到某某区块链使用某某算法解决了拜占庭将军问题,那么究竟什么是拜占庭将军问题呢什么是拜占庭将军问题 也被称为“拜占庭容错”、“拜占庭将军问题”。 拜占庭将军问题是Leslie Lamport(2013年的图灵讲得住)用来为描述分布式系统一致性问题(Distributed Consensus)在论文中抽象出来一个著名的例子。 这个例子大意是这样的: 拜占庭帝国想要进攻一个强大的敌人,为此派出了10支军队去包围这个敌人。这个敌人虽不比拜占庭帝国,但也足以抵
在区块链的交流和学习中,「共识算法」是一个很频繁被提起的词汇,正是因为共识算法的存在,区块链的可信性才能被保证。
本文目录 分布式系统问题 工作证明POW 比特币的价值 参考 分布式系统问题 拜占庭将军问题 一组拜占庭将军分别各率领一支军队共同围困一座城市。为了简化问题,将各支军队的行动策略限定为进攻或撤
而由于地域上特殊原因,你们这10支军队不能集合在一起单点进攻,必须在分开的状态下同时包围攻击敌国。如果是单支军队单独进攻的话是毫无胜算的,除非有至少有6支军队同时调遣一起袭击才能攻下敌国。你们分散在敌国的四周,依靠通信兵相互通信来协商进攻意向和进攻时间。
本文,作者首先介绍了拜占庭问题和口头消息算法;其次,详细讨论以HyperLedger1.0为基础的系统架构和数据库事务处理流程,并分析该架构与传统中心化数据库的主要区别;最后,以南京政务网建设为例子阐述区块链技术的具体应用。 图 作者 | 丁艺明 拜占庭问题 探究区块链其源头,我们不得不追溯到“拜占庭将军问题”。它是整个区块链技术核心思想的真正根源,也直接决定了区块链技术的种种与众不同的颠覆性特质。 在2013年获得计算机科学领域最高奖项图灵奖的31年前,莱斯利·兰伯特(Leslie Lamport)加入斯
区块链(Blockchain)技术自身仍然在飞速发展中,目前还缺乏统一的规范和标准。Wikipedia 给出的定义为:
拜占庭将军问题首先是由Leslie Lamport等人在1982年提出,被称为The Byzantine Generals Problem或者Byzantine Failure。这个问题是这样描述的:
互联网是因为高速、大量传递信息,而改变了世界。比特币则弥补了互联网不能点对点转账、不能确保信息准确可靠的功能缺陷,因此创造了巨大价值。
目录 1. 引言 2. 区块链介绍 2.1 区块链的起源 2.2 区块链分类和共识算法的选择 3. PBFT 算法介绍 3.1 拜占庭将军问题 3.1.2 口头消息 3.1.3 签名消息 3.2 PBFT 算法流程 3.3 PBFT 算法改进动机 4. PBFT 算法改进 4.1 改进思路 4.2 椭圆曲线 4.3 数字签名 4.4 聚合签名 4.5 改进 PBFT 5. 总结与思考 参考文献 1. 引言 📷 📷 📷 2. 区块链介绍 2.1 区块链的起源 📷 📷 📷 📷 2.2 区块链分类和共识算法的
POW:Proof of Work,工作量证明 特点:比特币莱特币等货币型区块链(公有链) 一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。要得到合理的Block Hash需要经过大量尝试计算,计算时间取决于机器的哈希运算速度。参与挖矿的矿工竞争将前一区块的hash与一个随机的比特串一起来计算出一个hash值,若输出的hash值满足前若干比特为0,即为解出了该难题,当然,并不能得出计算次数的绝对值,因为寻找合理hash是一个概率事件。当节点拥有占全网n%的算力时,该节点即
共识算法是用于保证分布式系统一致性的机制。这里的一致性可以是交易顺序的一致性、账本一致性、节点状态的一致性等。一般地,我们根据容错类型将共识算法分为两类。
0 上一篇我们详细介绍了不可篡改的账本区块链的数据结构的实现。其核心技术第一是数字签名,比特币采用的是椭圆曲线数字签名算法。第二是加密级别的哈希,比特币采用的是SHA256。 然而在我们的系统里,依然只有一个寡头负责记账。我们固然不用担心交易记录被伪造,因为有数字签名。我们也不用担心区块被篡改,因为可以通过哈希值校验。但是我们无法防止这个寡头故意不记账或者故意丢区块。所以这个系统是一个人人可以查账,但是大家却必须相信寡头不作恶的系统。 比特币系统显然不会停留在这个设计上。所以寡头需要被取代掉。比特币的做
拜占庭容错(Byzantine Fault Tolerance,BFT)是一种在分布式计算系统中实现容错的重要机制,旨在确保系统在存在恶意或故障节点的情况下仍能正常运作。本文将详细介绍拜占庭容错算法的基本原理、实现方法及其在实际应用中的重要性。
百花村旁有一座山叫区块链山,属村民集体所有。村外的A公司准备开发区块链山的旅游资源。A公司和村民委员会联合成立了百花旅游开发有限公司,签了股份制合作协议。以下是春节假期期间发生在村民李大和柳五之间的对话:
虽然共识 (Consensus) 和一致性 (Consistency) 在很多文献和应用场景中被认为是近似等价和可互换使用的,但二者涵义还是有着根本的差别。
本文尽可能列出所有主要的共识算法,评估各自的优劣之处。共识算法是区块链的核心技术,本文会跟随作者的理解,持续更新。如果读者发现有所遗漏,或是存在错误,希望能通过评论指出。
随着技术浪潮的涌动,国家政策的推动,区块链又慢慢的进入了我们的视野中。在 2020 年初这个时刻,不妨我们再回头看看区块链的发展,聊聊区块链中的几个技术点,为新的一年打打基础。
区块链本身只是一种数据的记录格式, 与传统的记录格式不同的是, 区块链是将产生的数据按照一定的时间间隔, 分成一个个的数据块记录, 然后再根据数据块的先后关系串联起来, 也就是所谓的区块链了.
最近三个月更新了 8 篇分布式理论和算法的文章,发现这些知识点虽然有一丢丢小枯燥,但是非常重要,于是每篇我都用故事的方式进行讲解,力求每篇都能让大家都能看懂,是不是很用心呢?
区块链是一种分布式数据库技术,已经在金融、物流、医疗等领域得到广泛应用,其中共识机制是确保区块链安全性和可靠性的关键机制之一,共识机制可以确保所有节点对于区块链上的数据和交易的一致性,从而防止双重支付和其他恶意行为,本文将详细介绍区块链共识机制的原理、分类和应用并探讨当前共识机制面临的挑战和未来的发展方向。
FLP 不可能原理(FLP impossibility):在网络可靠,存在节点失效(即便只有一个)的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性算法。1985年 FLP 原理实际上说明对于允许节点失效情况下,纯粹异步系统无法确保一致性在有限时间内完成。 科学告诉你什么是不可能的;工程则告诉你,付出一些代价,我可以把它变成可能。
● 稳定性、可靠性、持续性。因为它是一个分布式的网络架构,没有一个中心节点可以被打击或者攻击,所以在整体的技术布置方面有着更强的稳定性、可靠性和持续性。
之前的几篇文章我们讲了分布式协议里面的Paxos协议和Raft协议。这两个协议主要适用于可信节点的情况,所谓可信节点就是节点只会出现因为系统或者网络问题的宕机情况,不会有恶意节点。
文章来源于知乎 导读:区块链技术的文章泛滥成灾,但大多读起来晦涩难懂。这篇在知乎上点赞量达到1万+的文章,就有点意思了。作者写这篇文章初衷正是苦恼于不知该如何跟弱智室友解释区块链。作者来自浙江大学 • 竺可桢学院、纽约大学 (New York University) • 计算机科学学院,自称区块链黑客,他的文章会迅速让你感觉区块链很弱智的样子。对于这篇文章提出的观点,你是否赞成呢,欢迎在文末留言。以下为汪乐针对《区块链是什么,如何简单易懂地介绍区块链》的回答。区块链大本营采用第一人称保留原汁原味。 作者:汪
行业报道 导读:事情是这样的,最近我的室友Hasaki一直在问我区块链和比特币的事情,我尝试了很多种不通的姿势以求简单通俗形象生动地跟他解释什么是区块链技术,但是最后都失败了。因此我萌生了要写一篇Bl
导读:区块链技术的文章泛滥成灾,但大多读起来晦涩难懂。这篇在知乎上点赞量达到1万+的文章,就有点意思了。作者写这篇文章初衷正是苦恼于不知该如何跟弱智室友解释区块链。作者来自浙江大学 • 竺可桢学院、纽
总览 区块链本质上是一个去中心化的分布式账本数据库其本身是一串使用密码学相关联所产生的数据块,每一个数据块中包含了多次比特币网络交易有效确认的信息。 1,区块链是一个放在非安全环境中的分布式数据库(系统)。 2,区块链采用密码学的方法来保证已有数据不可能被篡改。 3,区块链采用共识算法来对于新增数据达成共识。 具有以上三个性质的系统,就是区块链。 这是区块链的定义,因此要逐步了解区块链,我们需要一步步了解如下东西。 去中心化 先来考虑一个中心化集中式处理的过程。你要在某宝上买一部手机,交易流程是:你将钱打给
本文主要介绍拜占庭算法,并附带一些相关联的概念,进行跨领域的思考,涉及宗教、群体、组织、社交网络、去中心化、涌现、共识算法、人工智能等等。
狗年吉祥,开工利是,我们继续研究以太坊源码。从本篇文章开始,我们会深入到以太坊核心源码中去,进而分析与研究以太坊的核心技术。 关键字:拜占庭,挖矿,矿工,分叉,源码分析,uncle叔块,agent,worker,事件监听 本文基于go-ethereum 1.7.3-stable源码版本。源码范围主要在miner pkg。 miner.start() miner即矿工的意思,矿工要做的工作就是“挖矿”,挖矿就是将一系列最新未封装到块中的交易封装到一个新的区块的过程。学习以太坊挖矿之前,我们要
两年前我写了篇关于货币的未来的文章,我认为比特币不会成为一种主流货币。现在很清楚了比特币实际上已经失败了,比特币社区发展的重要支撑因素正在消失。 比特币失败的原因有很多,包括治理机制,缺乏技术基础设施
按某文分类将共识机制算法分为:证明类(适用于较大范围的区块链平台,可参考分层或者较大用户结合跨链技术一起使用),拜占庭故障类(主要包括拜占庭容错类算法,PBFT、RBFT等一些改进算法,为了解决一些拜占庭将军问题,防止恶意节点影响主节点决策和一些失信问题),失效停止失效(raft类为主,可考虑相关算法PAXO等分布式一致性算法,鲁棒性网络容纳故障节点),能源电力领域考虑多使用POS、POA(以太坊网络共识),PBFT raft(fabric网络使用的共识),所以若有相应的平台选定则可不用考虑共识问题,例如利用POS的原理,选择相对发电贡献大的运营商为主节点共识,又或者权威节点确定情况下采用raft手动超时选定主节点。以下相关算法均列举了国内外典型项目以及电力交易中考虑较多的hash计算量问题 可扩展性问题等。
2016年8月17日上午,腾讯支付基础平台与金融应用线副总经理郭锐在2016中国区块链产业投资论坛发表主旨演讲,郭锐透露,腾讯金融云正积极探索区块链技术,致力构建线上互信金融新生态。 今年年初,央行表态要探索发行数字货币,数字货币背后支撑的技术——区块链引发了金融行业的广泛关注;而作为当前互联网核心技术及金融科技的前沿领域,区块链也引起了投资界越来越大的兴趣。公开资料显示,截至到2016年第一季度,国际上区块链领域累计投资已超10亿美元;投资比特币及区块链领域的初创项目的风险投资公司已近200家。 “区块链
1、区块链技术是一个解决了拜占庭将军(百度百科拜占庭将军问题)节点的分布式数据系统!这是它最大的不同,也导致了这个技术存在诸多限制。
这两年,区块链的技术可以说是非常的火爆,不了解点什么都不好说自己是在互联网混的,有人将区块链称之为互联网2.0,可以说区块链将对现有的互联网技术进行改造升级。那么,就让我们一起来了解下什么是区块链吧。
本文档作为分布式系统的学习基础,通过拜占庭问题取尝试先了解分布式系统里面可能存在的基础问题。拜占庭将军问题,主要为了解决在已知有成员不可靠的情况下,其余忠诚的将军需要在不受叛徒或间谍的影响下达成一致的协议的问题。
共识算法(Consensus Algorithm)是分布式系统中一个关键的概念,主要用于确保多个节点在分布式环境中能够就某一状态达成一致。本文将深入探讨共识算法的基本原理、常见类型及其在实际应用中的重要性。
Proof Of Work,也就是工作量证明。工作量证明系统(或者说协议、函数),是一种应对拒绝服务攻击和其他服务滥用的经济对策。它要求发起者进行一定量的运算,也就意味着需要消耗计算机一定的时间。这种系统要求得到证明的过程是低效且漫长的,可是校验则是高效且迅速,概括起来就是求解难,验证容易。
区块链作为一个去中心化的分布式账本系统,然而在实际运行中,怎么解决因为去中心化后,保证整个系统能有效运行,各个节点诚实记账,在没有所谓的中心的情况下,互相不信任的个体之间就交易的合法性达成共识的共识机制。
拜占庭问题是容错计算中的一个老问题,有莱斯特兰伯特等人在1982年提出。拜占廷帝国为5-15世纪的东罗马帝国,拜占庭城邦拥有巨大的财富,令他的十个邻邦垂涎已久,但是拜占庭高墙耸立,固若金汤,没有任何一个单独的邻邦能够成功入侵,任何单个城邦的入侵行动都会失败,而入侵者的军队也会被歼灭,使得其自身反而容易遭到其它九个城邦的入侵。这十个城邦之间也互相觊觎对方的财富并经常爆发战争。
领取专属 10元无门槛券
手把手带您无忧上云