欢迎各位的到来,匿名科技专业开发区块链项目,为您定制专业的区块链解决方案!
当前位置: > 技术文档 > 正文

区块链六大核心算法概述

2018-12-28 14:05:39 技术文档

一、拜占庭协定

这个协定的主要核心是去中心化和容错,通过分布式的方法,法定人数或者节点足够的群体能达成共识,每一个节点不需要依赖相同的参与者就能决定信任的对象来完成共识。

产生背景:这个协定出自一则故事拜占庭将军问题。据说拜占庭帝国拥有巨大的财富,周围10个邻邦垂诞已久,但没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵,但是10个国家中,一半以上的国家同时入侵就可以攻破。但在此过程中,不能出现叛变,一旦出现,国家将被歼灭。每个将军都有一个消息网用于与其他国家的将军传递消息,而且有验证将军身份的签名,一旦消息发出就可以知道发送消息的具体国家。尽管消息存在不一致的可能,但只要超过半数的一致,就可以达成共识,决定是否发起进攻。

二、非对称加密

非对称加密,即“公钥”“私钥”以及“数字签名”,公钥与私钥是成对出现的,公钥对消息进行加密,私钥对消息进行解密。详情请见:“公钥”“私钥”以及“数字签名”是什么?

三、容错

对于消息可能出现丢失、损坏、延迟、重复发送;节点任意加入推出网络,网络等问题丢弃消息、伪造消息、停止工作等问题,我们的算法对由共识节点组成的共识系统,都提供容错能力,这种容错能力同时包含安全性和可用性,可以适用于任何网络环境。

四、一致性算法(Paxos 算法)

节点通信存在两种模型:共享内存和消息传递。Paxos算法就是一种基于消息传递模型的一致性算法。它可以解决分布式系统如何就某个数据达成共识的问题。例如在一个分布式数据库系统,各个节点的初始状态一致,每个节点都执行相同的系列操作,那么这些节点最后可以达到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。

五、共识机制

区块链共识算法主要用于工作量证明和权益证明。

工作量证明:由于输入散列函数h()的任意值n,会对应到一个h(n)结果,而n只要变动一个比特,就会引起雪崩效应,所以几乎无法从h(n)反推回n,因此借由指定查找h(n)的特征,让用户进行大量的穷举运算,就可以达成工作量证明。

拿比特币来说,开采新的机密货币,生成区块时,必须得到所有参与者的同意,那矿工必须得到区块中所有数据的PoW工作证明。与此同时矿工还要时时观察调整这项工作的难度,因为对网络要求是平均每10分钟生成一个区块。

六、分布式储存

分布式储存主要是通过网络使用每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据就可以分散式的存放在这个设备中,然而并不是所有的磁盘都拥有完整的数据信息,这些信息是被分割开来存储的,在使用这些数据时,需要调回所有磁盘里的信息碎片,才可以完整的被浏览。