区块链核心算法1:拜占庭协议
拜占庭的故事大概是这样的:拜占庭帝国财源广进,周边10个邻居历史悠久,但拜占庭屹立不倒,没有一个邻居能成功入侵。单个邻居的任何入侵都会失败,可能会被其他 9个邻居入侵。拜占庭帝国的防御能力如此之强,以至于周边十国中至少有一半同时进攻,才有可能取得突破。但是,如果一个或几个邻居答应一起进攻,但实际过程是背叛,入侵者可以全军覆没。所以双方都很谨慎,不敢轻易相信邻国。这就是拜占庭将军的问题。
区块链论坛 区块链中文社区_哪家区块链开发公司是好的区块链开发公司?_所有算法的区块链
在这个分布式网络中:每个将军都有一个与其他将军实时同步的信息簿。每个将军的签名都可以验证他的身份。如果有任何不一致的消息,你可以知道哪些将军是不一致的。虽然消息不一致,但只要一半以上的人同意攻击,少数人服从大多数人,就可以达成共识。
因此,在分布式系统中,虽然有坏人,但坏人可以做任何事情(不受限制),如不响应、发送错误信息、向不同节点发送不同决策、做坏事等。. 然而,只要大多数人都是好人,就有可能达成分散的共识
非对称加密技术
区块链论坛 区块链中文社区_哪家区块链开发公司是好的区块链开发公司?_所有算法的区块链
在上述拜占庭协议中,如果10名将军中的几名同时发送消息,必然会造成系统混乱,导致他们谈论自己的进攻时间计划,行动难以统一. 任何人都可以发起攻击,但谁发送呢?事实上,只需要增加一个成本,即只有一个节点可以在一段时间内传输信息。当一个节点发送统一的攻击信息时,每个节点必须签名并密封发起人的信息,以确认其身份。
今天,区块链的所有算法和非对称加密技术都可以完全解决这个签名问题。非对称加密算法的加密和解密使用两个不同的密钥。这两个密钥就是我们常说的公钥和私钥。公钥和私钥通常成对出现。如果消息是用公钥加密的,公钥对应的私钥需要解密;类似地,如果消息是用私钥加密的,私钥对应的公钥需要解密。
所有算法的区块链_区块链论坛 区块链中文社区_哪家区块链开发公司是好的区块链开发公司?
区块链核心算法3:容错
我们假设在这个网络中,消息可能会丢失、损坏、延迟、重复发送和接收顺序与发送顺序不一致。此外,节点的行为可以是任意的:可以随时添加和离开网络、丢弃信息、伪造信息、停止工作等,并可能发生各种人为或非人为故障。我们的算法为任何网络环境中由共识节点组成的共识系统提供了容错性。
区块链核心算法4:Paxos算法(一致性算法)
Paxos 算法解决的问题是分布式系统如何就某个值(分辨率)达成一致。一个典型的场景是,在分布式数据库系统中,如果每个节点的初始状态是一致的,并且每个节点执行相同的操作序列,它们最终可以得到一致的状态。为了确保每个节点执行相同的命令序列,需要执行每个指令的一致性算法,以确保每个节点看到的指令是一致的。一般的共识算法可以应用于许多场景,这是分布式计算中的一个重要问题。节点通信有两种模型:共享内存和信息传输。Paxos 算法是基于消息传输模型的共识算法。
区块链核心算法5:共识机制
区块链共识算法主要是工作量证明和权益证明。以比特币为例,从技术角度看,PoW事实上,它可以被认为是可重用的,工作量的产生证明是一个概率的随机过程。挖掘一种新的加密货币,有参与者的同意,矿工必须在块中获得所有数据PoW工作证明。同时,矿工应不时观察和调整工作难度,因为网络要求平均每 10分钟产生一个块。
区块链核心算法6:分布式存储
分布式存储是数据存储技术区块链的所有算法。它利用每台机器上的磁盘空间,将这些分散的存储资源形成虚拟存储设备,数据存储在网络的各个角落。因此,分布式存储技术不是在每台计算机上存储完整的数据,而是在不同的计算机上切割数据。这就像存储100个鸡蛋,不是在同一个篮子里,而是在不同的地方,加起来是100个鸡蛋。