区块链之拜占庭将军

拜占庭艺术

拜占庭将军问题是什么问题?

拜占庭将军问题(Byzantine failures),是由莱斯利·兰伯特提出的点对点通信中的基本问题。含义是在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。因此对一致性的研究一般假设信道是可靠的,或不存在本问题。

只有了解历史,才能感知未来

拜占庭位于如今的土耳其的伊思弹布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息。在战争的时候,拜占庭军队内所有将军和副官必需达成一致的共识,决定是否有赢的机会才去攻打敌人的阵营。但是,在军队内有可能存有叛徒和敌军的间谍,左右将军们的决定又扰乱整体军队的秩序。在进行共识时,结果并不代表大多数人的意见。这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,拜占庭问题就此形成。

拜占庭将军问题是一个协议问题

拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒。叛徒可以任意行动以达到以下目标:欺骗某些将军采取进攻行动;促成一个不是所有将军都同意的决定,如当将军们不希望进攻时促成进攻行动;或者迷惑某些将军,使他们无法做出决定。如果叛徒达到了这些目的之一,则任何攻击行动的结果都是注定要失败的,只有完全达成一致的努力才能获得胜利。

拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥堵或断开以及遭到恶意攻击,计算机和网络可能出现不可预料的行为。拜占庭容错协议必须处理这些失效,并且这些协议还要满足所要解决的问题要求的规范。这些算法通常以其弹性t作为特征,t表示算法可以应付的错误进程数。

很多经典算法问题只有在n ≥ 3f+1时才有解,如拜占庭将军问题,其中n是系统中进程的总数。

所谓拜占庭失效指一方向另一方发送消息,另一方没有收到,或者收到了错误的信息的情形。

在容错的分布式计算中,拜占庭失效可以是分布式系统中算法执行过程中的任意一个错误。这些错误被统称为“崩溃失效”和“发送与遗漏式失效”。当拜占庭失效发生时,系统可能会做出任何不可预料的反应。

这些任意的失效可以粗略地分成以下几类:

进行算法的另一步时失效,即崩溃失效;

无法正确执行算法的一个步骤;

执行了任意一个非算法指定的步骤;

各个步骤由各进程执行,算法就是由这些进程执行的。一个错误的进程是在某个点出现了上述情况的进程。没有出现错误的进程是正确的进程。


区块链之PBFT共识算法


PBFT拜占庭容错算法:这是一种基于消息传递的一致性算法,算法经过三个阶段达成一致性,这些阶段可能因为失败而重复进行。

预准备(pre-prepare)、准备(prepare)和确认(commit)。流程如下图所示:


拜占庭共识算法

其中C为发送请求端,0123为服务端,3为宕机的服务端,具体步骤如下:

1. Request:请求端C发送请求到任意一节点,这里是0

2. Pre-Prepare:服务端0收到C的请求后进行广播,扩散至123

3. Prepare:123,收到后记录并再次广播,1->023,2->013,3因为宕机无法广播

4. Commit:0123节点在Prepare阶段,若收到超过一定数量的相同请求,则进入Commit阶段,广播Commit请求

5.Reply:0123节点在Commit阶段,若收到超过一定数量的相同请求,则对C进行反馈

经典算法参考:

在 N ≥ 3F + 1 的情況下一致性是可能解決,N为总计算机数,F为有问题的计算机总数.

假设节点总数为3f+1,f为拜赞庭错误节点:

1、当节点发现leader作恶时,通过算法选举其他的replica为leader。

2、leader通过pre-prepare消息把它选择的 value广播给其他replica节点,其他的replica节点如果接受则发送 prepare,如果失败则不发送。

3、一旦2f个节点接受prepare消息,则节点发送commit消息。

4、当2f+1个节点接受commit消息后,代表该value值被确定

如下图表示了4个节点,0为leader,同时节点3为fault节点,该节点不响应和发出任何消息。最终节点状态达到commited时,表示该轮共识成功达成。

PBFT共识算法也一样都脱离不了币的存在,系统的正常运转必须有币的奖励机制,系统的安全性实际上是由系统币的持有者维护保证。当我们区块链系统实际运用到商业应用时,由其承载的资产价值可能远远超出系统发行的币的价值,如果由币的持有者保证系统的安全及稳定性将是不可靠的。

1)系统运转可以脱离币的存在,pbft算法共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证。

2)共识的时延大约在2~5秒钟,基本达到商用实时处理的要求。

3)共识效率高,可满足高频交易量的需求。

目前使用该技术的区块链项目:zilliqa, 据说是EOS的强劲死敌。


2018.1.27 

lola

心痛小姐姐的辛苦汇总的币豪们,小姐姐接受eos,eth,btc以及各种币币打赏

谢谢比豪和未来的币豪们:

币币打赏地址:

BTC地址:

1PibSCEynK44Q9ef5b5WYurEb5y9dCd79y

ETH地址:

0xe9aab08d1e11b49648c768e1351879e53270c5f2

EOS地址:

0xe9aab08d1e11b49648c768e1351879e53270c5f2

如果有赏其他币币的,可以呼唤我哦,姐姐什么币都不嫌弃。呵呵

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容

  • 但凡关于区块链或比特币相关的书籍,就算是相关问题深入探讨都绕不开一个永恒的话题——拜占庭将军问题(TheByzan...
    叶先生的鱼阅读 2,587评论 -1 13
  • 夜雪照一方,印照云水间,水寒夜透寒。 雪舞同非,夜非非。
    寻源达流阅读 145评论 2 2
  • 元宵是个团圆日,同时也少不了那有趣的猜灯谜啦!今天,明珠小学A区的小朋友们开始了有趣的猜灯谜活动。 孩子们...
    工藤心玥阅读 121评论 0 0
  • 国庆放假第一天,早上睡了个懒觉,醒后不敢再刷手机,否则时间很快就从指缝溜走了,因为我要打扫卫生,家里已经脏得没法看...
    明洁阅读 442评论 0 0
  • 今天又接到大公司德邦的送货电话:喂,你好!请问是谁谁吗? 答:是的。 问:请问下,你的货是送到哪里? 答:上面不是...
    茁骁阅读 344评论 0 1