拜占庭专题

共识算法8:拜占庭原理

拜占庭将军问题  拜占庭容错技术来源于拜占庭将军问题  拜占庭将军问题是Leslie Lamport(2013年的图灵奖得主)用来为描述分布式系统一致性问题(Distributed Consensus)在论文中抽象出来一个著名的例子  拜占庭帝国想要进攻一个强大的敌人,为此派出了10支军队去包围这个敌人。这个敌人虽不比拜占庭帝国,但也足以抵御5支常规拜占庭军队的同时袭击。这10支军队在分

一致性hash理解、拜占庭将军问题解读和CAP理论总结

一致性hash理解 白话概述: 比如说存储图片,有10台服务器用来存储,对图片名进行hash(pic_name)%10得到的值就是图片存放的服务器序号。这是正常的hash算法分散图片存储。但是有一天,你觉得服务器不够了,需要加几台机器扩容存储。这时候,假设加了10台,变成20台,那么原先譬如11%10=1现在11%20=11,则存取图片会跑到11号服务器,如果仍旧用原来的算法,那所有图片几乎都要

分布式与一致性协议之拜占庭将军问题(一)

拜占庭将军问题 概述 拜占庭将军问题其实是借拜占庭将军故事展现了分布式共识问题,探讨和论证了解决的办法。实际上,拜占庭将军问题是分布式领域最复杂的一个容错模型,一旦搞懂了它,久能掌握分布式共识问题的解决思路,还能更深刻地理解常用的共识算法,这样在设计分布式系统的时候,就能根据场景特点,更好地选择或者设计合适的算法 什么是拜占庭将军问题? 以战国时期六国抗秦的故事为主线串联 苏秦的困境

分布式理论-拜占庭将军(译)

作者:LESLIE LAMPORT, ROBERT SHOSTAK, and MARSHALL 1982 译者:phylips@bmy  出处:http://duanple.blog.163.com/blog/static/7097176720112643946178/ [序:我一直觉得正是因为通过用一组围坐在圆桌旁的哲学家来表述,Dijkstra 的哲学家就餐问题才变得如此让人关注。(比如

共识算法(二)—— DPoS(股份授权证明)、PBFT(实用拜占庭容错)

DPoS简介 DPoS(Delegated-Proof-of-Stake)即股份授权证明,目的是解决PoS和PoW的不足,DPoS是由被社区选取的可信账户(受托人,得票数为所有委托人得前101位)来创建区块,为了成为正式委托人,用户要去社区拉票,获得足够多的用户信任,用户根据自己持有的加密货币数量占有总量的百分比来进行投票。它就像一个股份制公司,普通员工进不去董事会,但可以推选代表(受托人)代他

拜占庭将军问题相关问题

1、拜占庭将军问题基本描述 问题 当我们讨论区块链共识时,为什么会讨论拜占庭将军问题? 区块链网络的本质是一个分布式系统,在存在恶意节点的情况下,希望整个系统当中的善良节点能够对于重要的信息达成一致,这个机制通常被称作共识机制(consensus)。 而上述问题的本质就是拜占庭将军问题。 解决方案区别 崩溃容错协议(CFT)和拜占庭容错协议(BFT)的区别 在分布式系统当中,依

学习区块链(十一)--从拜占庭将军问题谈谈为什么pow是最好的共识机制

这一节,不再去学习如何写代码,而是想聊聊共识机制,我们知道基于区块链技术现在有很多的共识机制,包括不限于POW,POS,DPOS,PBFT……,我先不说为什么我最认可POW,我们先来看看著名的拜占庭将军问题: 拜占庭帝国即中世纪的土耳其,拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,固若金汤,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦

区块链时代的拜占庭容错:Tendermint (八)

原文题目:《Tendermint: Byzantine Fault Tolerance in the Age of Blockchains》 原文作者:Ethan Buchman 本文为节选   性能和容错 Tendermint被设计为拜占庭容错的状态机复制算法。只要不超过总量的三分之一的验证人是拜占庭节点,就能保证网络的安全性,并且只要网络消息最终得到传递,即使对于gossiping

NO.18 什么是拜占庭将军问题

本文是转载,转载自苏神的博客,原文地址:https://www.jianshu.com/p/5fea30b25f0a   拜占庭将军问题很多人可能听过,但不知道是什么意思,本文从非专业的角度来讲讲,拜占庭将军问题到底是说什么的。   拜占庭将军问题(Byzantine Generals Problem),首先由Leslie Lamport与另外两人在1982年提出,很简单的故事模型

3、漫谈分布式系统、拜占庭将军问题与区块链

分布式系统和一致性问题 拜占庭将军问题 我们前面讨论的一致性协议,有一个重要的前提条件,就是:各个节点都是可以信任的,它们都严格遵守同样的一套规则。这个条件,在一个公司的内部网络中可以认为是基本能满足的。但如果这个条件不满足会怎么样呢?假设网络中有些节点是恶意的,它们不但不遵守协议,还故意捣乱(比如胡乱发送消息),那么其它正常的节点还能够顺利工作吗? 在分布式系统理论中,这个问题被抽象成了一

区块链实验室(28) - 拜占庭节点劫持区块链仿真

在以前的FISCO环境中仿真拜占庭节点攻击区块链网络。该环境共有100个节点,采用PBFT作为共识机制,节点编号分别为:Node0,Node,… ,Node99。这100个节点的前2010区块完全相同,自区块2011开始分叉。 (1)1个拜占庭节点:Node0 Node0 区块长度2020,Node1 - Node99区块长度2030。 在Node0上发起交易,Node0区块同步失败。

共识算法——拜占庭问题中的同步、异步

共识算法——拜占庭问题中的同步、异步 前言 最近在研究共识算法,找到原始的paper,在对比拜占庭容错算法(BFT)和实用拜占庭容错算法(PBFT)的时候谈到了同步和异步。 同步VS异步 从论文中看,同步实现的难度更大,异步实现的难度更小。之前学过通信原理,同步传输对时间同步要求高,比如要求多个节点的时间都一样,这样要求会比较高,但是同步传输的效率是高于异步传输的。异步传输能够适应多种情况

实用拜占庭协议(PBFT 99)

文献: 拜占庭容错:Lamport L, Shostak R, Pease M. The Byzantine generals problem[M]//Concurrency: the works of leslie lamport. 2019: 203-226.实用拜占庭容错:Castro Miguel and Barbara Liskov. “Practical byzantine faul

两军问题与拜占庭将军问题

下面这篇文章,感觉讲的非常好: http://www.8btc.com/baizhantingjiangjun   拜占庭将军问题是一个共识问题: 首先由Leslie Lamport与另外两人在1982年提出,被称为The Byzantine Generals Problem或者Byzantine Failure。核心描述是军中可能有叛徒,却要保证进攻一致,由此引申到计算领域,发展成

区块链必知必会之拜占庭问题

让我们用一个简单、直观的例子来理解拜占庭问题。 故事背景: 想象有一个古老的城市,城市有三个门,每个门都有一个将军。这三个将军之间只能通过信使来传递信息。他们需要协调,决定明天是进攻还是撤退。但问题是,其中一些将军可能是叛徒,并可能故意发送虚假信息以误导其他将军。 问题: 在这种情况下,如何确保忠诚的将军能够达成一致的决策,而不受叛徒将军的误导? 拜占庭问题的复杂性: 信使可能被捕

超级账本PBFT(拜占庭容错)算法详解

上一章我们从分布式系统的角度简单叙述了一下 IBM HyperLedger fabric 的一些基本概念、架构和协议信息。其中最为核心的部分就是共识算法(consensus plugin),fabric推荐并实现的就是PBFT这一经典算法。 BFT算法 Client会发送一系列请求给各个replicas节点来执行相应的操作,BFT算法保证所有正常的replicas节点执行相同

拜占庭算法

概述 拜占庭算法是一种用于解决分布式系统中由于各个节点的不可靠性和网络的不稳定性从而导致节点间可能存在的信任问题的算法,它可以保证在一定条件下,即使有部分节点出现故障(不发送消息)或者作恶(只发送相反的消息)的情况下,仍然可以让各个节点之间达成一致的共识。 问题描述 针对拜占庭问题,如果叛徒的数量大于或等于1/3,拜占庭问题不可解。 假设只有3个人,A、B、C,三人中如果其中一个是叛徒。

PBFT使用拜占庭容错系统

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】链客,有问必答! PBFT即实用拜占庭容错系统 英文全称Practical Byzantine Fault Tolerance。它是第一个基于BFT理论并结合实际产生的新的共识算法。但应用场景是私有链和联盟链,如果用于公链,需要和其他共识算法进行灵活的混用。 PBFT算法原理 PBFT是一类状态机拜占庭系统,要求共同维护一个

Hyperledger Fabric以及pbft(实用拜占庭)共识环境配置[ubuntu16.04 docker配置]

工具包: -fabric1.4.4,docker以及pbft工具包百度云链接 链接:https://pan.baidu.com/s/1hshTuQXyFlZA0xeiFF-fwQ 提取码:8888 Go安装 先解压安装包: tar -xf go1.15.linux-amd64.tar.gz 将解压包移到安装路径: mv go /usr/local 创建工作目录: mkdir /usr/loc

区块链100讲:总被提起的拜占庭问题到底是什么鬼?

接触区块链的同学,多少都听说过拜占庭将军问题,经常看到或听到:某某区块链使用某某算法解决了拜占庭将军问题,那么究竟什么是拜占庭将军问题呢?《区块链100讲》今天和大家说说什么是拜占庭将军问题。 1 拜占庭将军问题 这个问题是莱斯利·兰伯特(Leslie Lamport)等在论文The Byzantine Generals Problem论文提出的,部分原文如下: We imagine

【动态】以太坊的拜占庭测试网完成一笔私人交易的验证

点击上方 “蓝色字” 可关注我们! 暴走时评: 以太坊的拜占庭测试网对一笔Zcash交易的zkSNARK部分进行了验证,有利于使以太坊能够在将来拥有Zcash的隐私功能。但是,此次测试也暴露了融合zkSNARK这种技术的问题,比如成本较高。总的来说,要在以太坊上进行私人交易,开发人员还有许多工作需要完成。 作者:Rache

【资讯】Geth发布软件更新,为以太坊“拜占庭”硬分叉做准备

点击上方 “蓝色字” 可关注我们! 暴走时评: 日前,以太坊Geth节点软件发布了新版本,其中包含了对即将推出的以太坊“拜占庭(Byzantium)”升级的支持以及一系列性能提升。拜占庭升级是以太坊四步路线图中第三阶段“Metropolis(大都市)”的第一步升级。据悉,以太坊计划在下月内激活拜占庭硬分叉。而此次发布的Geth软件经过