区块链到底是个什么,区块链到底是个什么鬼

  

  近日,加密货币“混乱期”过后,区块链再度火热,受到各方高度关注和重视,成为资本市场和各领域关注的焦点。连朋友圈的讨论和分享都让人目不暇接。那么,区块链到底是什么?区块链的核心算法是什么?   

  

  区块链核心算法一:拜占庭协定   

  

  拜占庭的故事大概是这样的:拜占庭帝国拥有巨大的财富,10个邻国已经存在很久了。然而,拜占庭的高墙如此坚固,没有一个邻国能够成功入侵。任何单个邻居入侵都会失败,也有可能被其他9个邻居入侵。拜占庭的防御能力如此之强,以至于它的十个邻居中至少有一半要同时进攻才能被攻破。但是,如果它的一个或几个邻国答应一起进攻,但实际过程背叛了,那么入侵者就可能全部被消灭。所以各方都小心翼翼,不能轻易相信邻居。这就是拜占庭将军的问题。   

  

  在这个分布式网络中:每个将军都有一个与其他将军同步的实时消息账本。账本上每个将军的签名都可以用来验证他的身份。如果有什么消息不一致,可以知道哪些将军不一致。虽然有分歧,但只要半数以上同意攻击,少数服从多数,达成共识。   

  

  所以,在分布式系统中,虽然有坏人,但是坏人可以做任何事情(不受协议限制),比如不响应,发送错误消息,向不同的节点发送不同的决策,不同的错误节点联合起来做坏事等等。但是,只要大多数人都是好人,用分散的方式达成共识是完全可能的。   

  

  区块链核心算法二:非对称加密技术   

  

  在上面提到的拜占庭协议中,如果10个将军中的几个同时发起消息,必然会造成系统的混乱,导致进攻时间的计划不同,行动不一致。任何人都可以发起攻击性的信息,但是谁来发呢?其实只需要增加一个成本,即一段时间内只有一个节点可以传播信息。当一个节点发出统一攻击的消息时,每个节点都必须对来自发起者的消息进行签名盖章,以确认自己的身份。   

  

  现在的非对称加密技术完全可以解决这个签名问题。非对称加密算法使用两种不同的密钥进行加密和解密。这两个密钥就是我们经常听到的“公钥”和“私钥”。公钥和私钥通常成对出现。如果消息是用公钥加密的,则需要对应于公钥的私钥来解密它。类似地,如果消息是用私钥加密的,则需要对应于私钥的公钥来解密它。   

  

  区块链核心算法三:容错问题   

  

  我们假设在这个网络中,消息可能会丢失、损坏、延迟和重复发送,并且接收的顺序与发送的顺序不一致。此外,节点的行为可以是任意的:它可以随时加入或退出网络,丢弃消息,伪造消息,停止工作等。各种人为的或非人为的故障都有可能发生。该算法为由共识节点组成的共识系统提供了容错能力,兼顾了安全性和可用性,适用于任何网络环境。   

  

  区块链核心算法四:Paxos 算法(一致性算法)   

  

  Paxos算法解决了分布式系统如何约定某个值(分辨率)的问题。一个典型的场景是,在分布式数据库系统中,如果每个节点的初始状态是一致的,并且每个节点执行相同的操作序列,那么它们最终可以获得一致的状态。为了保证每个节点执行相同的命令序列,需要对每个指令执行一个“一致性算法”,以保证每个节点看到的指令是一致的。一个通用的一致性算法可以应用于多种场景,是分布式计算中的一个重要问题。节点之间的通信有两种模式:共享内存和消息传递。Paxos算法是一种基于消息传递模型的一致性算法。   

  

  区块链核心算法五:共识机制   

  

  区块链共识算法主要是工作量证明和权益证明。以比特币为例。其实从技术角度来说,PoW可以看作是一个可重用的Hashcash。生成工作负载被证明是一个概率上的随机过程。在开采新的机密货币和生成区块时,所有参与者必须同意,开采者必须获得区块中所有数据的PoW工作证书。同时矿工要时刻观察这项工作的调整难度,因为对网络的要求是平均每10分钟生成一个块。   

  

  区块链核心算法六:分布式存储   

  

  分布式存储是一种数据存储技术,通过网络利用每台机器的磁盘空间,将这些分散的存储资源组成一个虚拟的存储设备,将数据分散存储在网络中。   

络中的各个角落。所以,分布式存储技术并不是每台电脑都存放完整的数据,而是把数据切割后存放在不同的电脑里。就像存放100个鸡蛋,不是放在同一个篮子里,而是分开放在不同的地方,加起来的总和是100个。

  

(作者:BYEX,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)

相关文章