区块链领域里被提到最多的概念p2p,p2p网络对整个区块链会产生重叠性

  

  区块链的技术定义   

  

  区块链是分布式数据库,提供拜占庭容错,保证最终的一致性;从数据结构上看,是基于时间序列的链式数据块结构;从节点拓扑来看,其所有节点都是冗余备份;在操作上,它提供了一个基于加密技术的公钥和私钥管理系统来管理帐户。   

  

  你可以理解为有100台电脑分布在世界各地。这100台电脑之间的网络是广域网,这100台电脑的主人是否相互信任。那么,我们可以采用什么样的算法(共识机制)来为它提供一个可信的环境,并使:   

  

  节点间的数据交换过程不可篡改,生成的历史不可篡改;各节点的数据将与最新数据同步,并验证最新数据的有效性;基于少数服从多数的原则,全节点维护的数据能够客观反映交换历史。P2P网络协议是区块链的核心技术,是整个区块链的最底层模块,负责交易数据的网络传输和广播、节点发现和维护。   

  

  我们通常使用比特币P2P网络协议模块,遵循一定的交互原理。   

  

  这个P2P交互协议也有自己的一套指令,这些指令体现在消息头的命令字段中。这些命令为上层提供了节点发现、节点获取、块头获取、块获取等功能。   

  

  一致性算法在经典的分布式计算领域,我们有以Raft和Paxos算法族为代表的非拜占庭容错算法,以及具有拜占庭容错特性的PBFT共识算法。   

  

  从技术演进的角度,我们可以画出区块链技术对原有分布式算法进行经济扩展的示意图。   

  

     

  

  一开始计算机应用多为单点应用,为了高可用性和方便性,采用了冷容灾。后来发展到异地多活动。这些在不同地方的多活动可能采用负载均衡和路由技术。随着分布式系统技术的发展,我们已经过渡到Paxos和基于Raft的分布式系统。   

  

  在区块链领域,主要使用PoW工作量证明算法、PoS权限证明算法和DPoS代理权限证明算法。以上三种是业界主流的共识算法。这些算法不同于经典的分布式一致性算法,因为它们包含了经济博弈的概念。这里我将分别简单介绍这三种共识算法。   

  

  PoW:它通常指在给定的约束条件下解决一个有特定难度的数学问题。谁能快速解决,谁就能获得记账权(分块分配)。这个求解过程往往会变成一个计算问题,所以在比拼速度的情况下,就变成了谁的计算方法更好,谁的设备性能更好。PoS:这是一个股权认证机制。它的基本概念是,生成块的难度要和你在网络中的股权(所有权比例)成正比。其实现的核心思想是:使用您的锁定令牌的硬币和一个小工作量证书来计算一个目标值。当达到目标值时,你可能会正确记账。DPoS:简单来说,就是把PoS共识算法中的记账人转换成一个由指定数量的节点组成的小圈子,而不是所有人都参与记账。这个圆可能是21个节点,也可能是101个节点。这个要看设计,只有这个圈子里的节点才能把记账做对。这将大大提高系统的吞吐量,因为节点越少意味着网络和节点是可控的。在区块链加密算法领域,哈希算法是应用最广泛的算法。哈希算法具有防碰撞、原始图像不可逆、问题友好等特点。   

  

  其中,问题友好性是许多PoW货币的基础。在比特币中,使用SHA256算法作为工作量证明的计算方法,也就是我们所说的挖掘算法。   

  

  从技术上讲,我们从生成私钥开始,然后从私钥生成公钥,最后从公钥生成地址。以上每一步都是不可逆的过程,也就是说,不可能从地址推导出公钥,也不可能从公钥推导出私钥。   

  

     

相关文章