大数跨境

区块链四大核心技术

区块链四大核心技术 天地之精
2018-07-23
3
导读:区块链的核心技术组成无论是公链还是联盟链,至少需要四个模块组成:P2P 网络协议、分布式一致性算法(共识机制

区块链的核心技术组成

无论是公链还是联盟链,至少需要四个模块组成:P2P 网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。


1. P2P 网络协议

P2P 网络协议是一切区块链的最底层模块,担任买卖数据的网络传输和播送、节点发现和保护。

 

一般咱们所用的都是比特币 P2P 网络协议模块,它遵从必定的交互准则。比方:初次连接到其他节点会被要求按照握手协议来承认状况,在握手之后开端恳求 Peer 节点的地址数据以及区块数据。

 

这套 P2P 交互协议也具有自己的指令调集,指令表现在在消息头(Message Header) 的 指令(command)域中,这些指令为上层供给了节点发现、节点获取、区块头获取、区块获取等功用,这些功用都是十分底层、十分根底的功用。假如你想要深化了解,能够参阅比特币开发者指南中的 Peer Discovery 的章节。

 

2. 分布式一致性算法

在经典分布式核算范畴,咱们有 Raft 和 Paxos 算法家族代表的非拜占庭容错算法,以及具有拜占庭容错特性的 PBFT 一致算法。

 

假如从技能演化的视点来看,咱们能够得出一个图,其中,区块链技能把原来的分布式算法进行了经济学上的拓展。

在图中我们可以看到,计算机使用在最开端多为单点使用,高可用便利选用的是冷灾备,后来发展到异地多活,这些异地多活可能选用的是负载均衡和路由技能,跟着分布式体系技能的发展,我们过渡到了 Paxos 和 Raft 为主的分布式体系。

 

而在区块链领域,多选用 PoW 工作量证明算法、PoS 权益证明算法,以及 DPoS 代理权益证明算法,以上三种是业界主流的一致算法,这些算法与经典分布式一致性算法不同的是,它们融入了经济学博弈的概念,下面我分别简略介绍这三种一致算法。


PoW: 通常是指在给定的束缚下,求解一个特定难度的数学问题,谁解的速度快,谁就能取得记账权(出块)权力。这个求解进程往往会转换成核算问题,所以在比拼速度的情况下,也就变成了谁的核算方法更优,以及谁的设备功能更好。


PoS:这是一种股权证明机制,它的基本概念是你产生区块的难度应该与你在网络里所占的股权(所有权占比)成份额,它完成的核心思路是:运用你所确定代币的币龄(CoinAge)以及一个小的工作量证明,去计算一个目标值,当满足目标值时,你将可能获取记账权。


DPoS:简略来了解就是将 PoS 一致算法中的记账者转换为指定节点数组成的小圈子,而不是所有人都可以参加记账。这个圈子可能是 21 个节点,也有可能是 101 个节点,这一点取决于规划,只要这个圈子中的节点才能取得记账权。这将会极大地进步体系的吞吐量,因为更少的节点也就意味着网络和节点的可控。

 

3. 加密签名算法

由于我不是暗码学专业身世,所以这个部分我会以介绍为主。

 

在区块链范畴,应用得最多的是哈希算法。哈希算法具有抗磕碰性、原像不可逆、难题友好性等特征。

 

其中,难题友好性正是很多 PoW 币种赖以存在的基础,在比特币中,SHA256 算法被用作工作量证明的计算方法,也就是咱们所说的挖矿算法。

 

而在莱特币身上,咱们也会看到 Scrypt 算法,该算法与 SHA256 不同的是,需求大内存支撑。而在其他一些币种身上,咱们也能看到根据 SHA3 算法的挖矿算法。以太坊运用了 Dagger-Hashimoto 算法的改进版别,并命名为 Ethash,这是一个 IO 难解性的算法。

当然,除了挖矿算法,咱们还会运用到 RIPEMD160 算法,首要用于生成地址,很多的比特币衍生代码中,绝大部分都采用了比特币的地址规划。

 

除了地址,咱们还会运用到最中心的,也是区块链 Token 体系的柱石:公私钥暗码算法。

 

在比特币大类的代码中,基本上运用的都是 ECDSA。ECDSA 是 ECC 与 DSA 的结合,整个签名过程与 DSA 相似,所不一样的是签名中采纳的算法为 ECC(椭圆曲线函数)。

 

从技术上看,咱们先从生成私钥开端,其次从私钥生成公钥,最终从公钥生成地址,以上每一步都是不可逆过程,也就是说无法从地址推导出公钥,从公钥推导到私钥。

 

 

4. 账户与交易模型

从一开端的界说我们知道,仅从技能角度能够以为区块链是一种分布式数据库,那么,大都区块链究竟运用了什么类型的数据库呢?

 

我在规划元界区块链时,参阅了多种数据库,有 NoSQL 的 BerkelyDB、LevelDB,也有一些币种选用根据 SQL 的 SQLite。这些作为底层的存储设备,多以轻量级嵌入式数据库为主,由于并不涉及区块链的账本特性,这些存储技能与其他场合下的运用并没有什么不同。

 

区块链的账本特性,一般分为 UTXO 结构以及根据 Accout-Balance 结构的账本结构,我们也称为账本模型。UTXO 是“unspent transaction input/output”的缩写,翻译过来就是指“未花费的买卖输入输出”。

 

这个区块链中 Token 搬运的一种记账方式,每次搬运均以输入输出的方式呈现;而在 Balance 结构中,是没有这个方式的。

 

来源:天地之精


【声明】内容源于网络
0
0
天地之精
天地之精是安徽天地之精电子商务公司的九华山地藏黄精系列,它源于葛洪《抱朴子》记载:“昔人以本品的昆土之气,获天地之精,故名。”而黄精正是天地之精华,自然之精灵。因此有“北有长白人参,南有九华黄精”之美誉。
内容 28
粉丝 0
天地之精 天地之精是安徽天地之精电子商务公司的九华山地藏黄精系列,它源于葛洪《抱朴子》记载:“昔人以本品的昆土之气,获天地之精,故名。”而黄精正是天地之精华,自然之精灵。因此有“北有长白人参,南有九华黄精”之美誉。
总阅读0
粉丝0
内容28