拜占庭容错(BFT)算法介绍

本文探讨了比特币的局限性,特别是其工作量证明(PoW)机制的能耗和效率问题。作为替代方案,文章介绍了基于拜占庭容错(BFT)的权益证明(PoS)共识机制——BFT-PoS。这种机制不仅节能高效,还能提供比PoW更高的安全性和更快的交易确认速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【原文作者:Jae Kwon,译者:郭光华】

2011年比特币将世界的注意力引向到了区块链。但可惜的是,比特币版本的区块链不能解决区块链行业的很多问题。那是因为:

1、比特币的POW共识会浪费大量能源。

2、交易非常缓慢,一笔交易需要花一个小时甚至更长的时间。

3、没有什么激励机制来激励POW矿工忠于一条链,所以会导致升级很困难。

我们需要一种安全的共识,并且不会给我们的地球施加巨大的能源成本。这种方法就是基于拜占庭容错(BFT)的权益证明(POS )。我们称之为BFT-PoS。

在我们深入了解BFT-PoS之前,我们只需要知道拜占庭错误,而不需要知道拜占庭将军问题 的细节。 在分布式系统中,数据需要在数百或数千个节点上进行复制,而计算机时不时会网络中断或脱机,所以需要有一些容错机制或共识算法。那么如果这些节点的一部分失败,整个系统仍然需要达成共识。

标准的容错共识算法(如Raft 和Paxos)假设当一个节点出现故障时,它只是停止工作而不回复消息。谷歌,Facebook和一些现有的数据库产品已经在他们的防火墙内使用了这一系列的共识算法,使机器有故障产生时也能确保服务仍然可用。

但这些算法不适用于公有区块链,因为公有区块链中没有防火墙。任何拥有算力(PoW)或代币(PoS)的人都可以参与,甚至可以试图破坏网络。为了达成共识,我们需要拜占庭的容错能力。在拜占庭故障中,故障节点能以完全任意的方式运行。节点甚至可以串通来尝试作恶,并最大限度地发挥其破坏力。

因此,本质上,BFT共识算法的目的是在不信任网络(如万维网)中的节点间建立信任。 BFT不是什么新概念,该概念首先在Lamport,Shostak和Pease于1982年的一篇学术论文中引入 。但是Lamport等人只在同步环境中(所有的消息总是及时到达)演示了算法的理论可行性。 但在现实世界中,你不能真正地相信互联网能及时交付任何东西。

所以在1988年,Dwork,Lynch,Stockmeyer(DLS)提出了一种在大多数异步环境中工作的算法。 1999年晚些时候,米格尔·卡斯特罗和芭芭拉·里斯科夫提出了一个实用的解决方案,用于持续的BFT协商一致,这仍然是迄今为止最先进的BFT算法。

但长久以来,主流媒体忽视了这些创作。 没有人明白BFT在学术界和诸如IBM和DARPA之类的主要机构之外的重要性,直到2009年Bitcoin来临。比特币是第一个开放式去中心化应用程序,为全球货币帐本提供BFT共识,但对拜占庭式将军的问题采用了一种全新的解决方案:PoW。在PoW中,谁的算力最强,谁最有可能打包交易出块,获得该块交易费和新产生的比特币。今天,许多矿业公司在生产矿机,也有许多矿工正在加入矿池。

另一方面,PoS完全消除了PoW的能源依赖。在PoS中,矿工被替换为在系统中拥有股权的“验证者”。验证者不必投资昂贵的处理系统,但他们必须购买“股权代币”。任何普通笔记本电脑都足以解决计算。 Peercoin,BitShares,Nxt等已经使用了某种形式的PoS,而Ethereum正在计划于不久的将来进行PoS。然而,虽然PoS具有实际意义,但是很多人都反对使用PoS,声称这是不可能的。但这根本不是事实。使用BFT,您绝对可以保护PoS。只是我们还没有看到任何公有链实现了BFT-PoS。

虽然该理论可能难以解释或理解,但适当的BFT算法提供的最终结果很容易掌握。 与PoW区块链不同,BFT-PoS块链根本不分叉。对于双花攻击,除非1/3或更多的验证者协调进行此类攻击。而且,当1/3或更多的验证者确实导致双重花费攻击时,我们可以计算确定哪些验证者需要对攻击负责,进而可以摧毁它们的权益代币并将其从网络中剔除,就好像矿工联合起来控制整个链一样。

至今,包括POW算法在内,还没有哪种共识算法可以达到BFT-PoS的容错水平。 BFT-PoS表现非常出色。今天,在全球有几百个验证节点的公有链中,你可以在3s内轻松获得交易确认。这一“即时确认”的最佳容错阈值理论已经被tendermint证明。虽然随着验证节点的增加共识速度会变慢,但遵循着Nielsen定律(网络带宽和响应速度增长),每年都可以增加一定的节点,而性能不会变。

此外,BFT-PoS还将增加移动钱包的安全性。目前存在的移动钱包很少充分利用了比特币提供的安全性,因为没有人愿意等待一个小时才能确认交易。相反,大多数钱包只是假设转账的人不会双花。而且,虽然我们没有时间在这里进行深入研究,但高效的移动钱包协议或“轻客户端SPV”协议是未来区块链互操作性的关键。

虽然PoW在比特币方面表现很好,但代价昂贵,速度慢,环境不友好。现在最好的选择是BFT-PoS。它是一种持久、节能的解决方案,在异步环境中运行良好。最重要的是,由于BFT是计算机科学界最好和最聪明的开发机构证明安全的。

引言 非线性函数极值寻优是工程优化和科学计算中的核心问题,传统方法在处理高维、多峰或可导函数时往往效果佳。神经网络与遗传算法的结合为解决这类复杂优化问题提供了新思路。本文将从计算机专业角度,详细分析神经网络遗传算法在非线性函数极值寻优中的原理、实现方法及优化策略。 混合算法原理与架构 遗传算法(GA)与神经网络(NN)的混合架构充分发挥了两者的优势:神经网络提供强大的非线性拟合能力,遗传算法则提供全局搜索能力。该混合系统的工作流程可分为三个关键阶段: 神经网络建模阶段:构建BP神经网络结构(如2-5-1),通过训练数据学习目标函数的输入输出关系。激活函数通常选择Sigmoid或ReLU,损失函数采用均方误差(MSE)。 遗传算法优化阶段:将神经网络参数编码为染色体(实数编码),以网络预测精度作为适应度函数fitness = 1/(1+MSE)。通过选择、交叉(概率0.4-0.9)和变异(概率0.01-0.2)操作进化种群。 协同优化阶段:遗传算法优化后的参数初始化神经网络,再进行BP微调,形成"全局搜索+局部优化"的双重机制。 关键技术实现 神经网络建模 采用MATLAB的Neural Network Toolbox实现,关键步骤包括: net = feedforwardnet([5]); % 单隐藏层5神经元 net.trainFcn = 'trainlm'; % Levenberg-Marquardt算法 net = train(net, input, target); % 网络训练 遗传算法优化 适应度函数设计与参数编码是核心: function fitness = ga_fitness(x) = sim(net, x'); % 神经网络预测 fitness = 1/(1+mse(y-target)); end 种群规模建议50-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值