区块链的概念。区块链应用了分布式数据存储技术,采用点对点传输数据,在数据信任方面采用共识机制,同时应用加密算法保障数据的安全。
区块链就是一种链式数据结构,数据被划分为许多个区块,按照时间的先后连接起来,进而采用加密算法保障更新数据、生成数据、传输数据,同时保障了数据和访问安全,通过自动化脚本、采用智能合约操作数据。
区块链系统不同操作者建立的信任是分布式的信任,并依托于大量的计算,产生凭据,并且计算量越大信任越强。
区块都有区块头,区块头后面则连接有交易数据,区块头和交易数据以及其它区块紧密有序相连,组成了区块链的基本结构。首区块在最底部,其它区块则基于时间戳顺序进行堆叠,各个区块都和前一个区块紧密相连。
区块链Hash运算值同区块一一对应,经过Hash加密的区块头信息标识唯一可识别区块,通过对区块头的Hash运算可以得到指针,其指针指向父区块。每个区块的区块头都有上一个区块的信息,也就是说Hash值包括自身以及上一个区块链的Hash。因此,我们就可以追溯到每一个区块的链条,保证区块链信息的完整安全可验证。
假如修改一个区块块头,那么所有的子块的块头也要相应修改,其计算量极为巨大。这种级联效应确保了块不会被修改,因为每个块都需要大量的计算。除非有强大的设计力量迫使重新计算块的所有后续块。
因此,工作负载确保了块的安全性。一个很长的区块链使得修改区块历史几乎是不可能的。我们可以将区块链的这一优势应用于股票交易信息的安全性,这为公平、安全的交易提供了基础保障。
区块是包含许多事务信息的容器,其结构通常包括块大小、块头、事务数量和事务等。在这里,使用工作负荷证明机制的共识。这个机制的共识标题通常有以下结构:第一个是前一个块上的指针。
第二个是难度值、时间戳和随机数。第三个是事务数据的假想根,它与工作量证明机制的共识有关。区块标识符是通过分割块头获得的数字指纹。我们只使用块头来执行操作。块头的哈希值可以是唯一的,并且可以清楚地标识块。
每个节点通过简单地切碎块头独立地获得块的切碎值。区块链节点间的共识是自发的共识机制,这种自发性不是选举产生的,也没有固定的时间。可以说,共识是许多独立的节点是根据简单的规则自发形成的。
共识包括几个步骤:首先,整个网络中的每个节点独立检查每个事务。其次,通过完成负载证明算法的计算,事务被独立地打包成块。第三,当有多个链时,每个节点将独立选择。在负载证明机制下,选择累积负载最大的块链。
总而言之,区块链是一种技术解决方案,其工作原理是使用密码学来记录数据并生成数字签名,以验证其真实性和有效性。前后连接的数据块来形成一个主渠道,系统的所有节点,即用户账户的账,共同管理,以确保数据不会被篡改或伪造,并进行分散维修效果很好。
区块链机制及技术。区块链主要基于共识机制,分布式网络分散系统的问题之一是在许多节点上达成共识,然而区块链的架构分散,难以协调的节点问题随之而来的是决策问题,因而需要建立一个共识机制,也就是针对不同的节点,基于一种算法,建立统一信息交互的权利体系。
在这个系统中,使用数学工具,非信任成员之间建立了相互信任,并达成了共识。工作证明机制是目前主要共识机制之一,其它的还有证明权益的权益证明机制、证明算力贡献的授权股份证明机制、解决拜占庭问题的容错共识机制等。
(1)工作量证明机制。核心就是在信息传播过程中,引入工作量,工作量就是节点在解答复杂数学问题的算力,也就是传统所说的挖矿,这样来确保共识安全可信。每个节点都解决了一个数学问题,这个问题很难解,但很容易验证。比特币系统的账户权利和奖励可以简单地理解为工作报酬。
POW算法可以最大限度地解决整个分散场景中的共识问题:生成的计算节点越多,欺诈风险越低,因此可以用组信任和会计权利来代替工作量。然而,这个方法的数学问题解决进程没有影响区块链的本职工作,即大量计算能力的共识的过程中被浪费了,这也会导致能耗巨大。矿工计算机也会导致计算机部件价格的波动。
(2)权益证明机制。权益证明机制就是系统权益,是对工作量证明机制的改进,权益越大那么成为记账节点的概率越大,好处是保留了工作量证明的优势,但是对于潜在的安全问题语义解决,虽然节点仍然对新的区块进行验证,但是奖励和资金量成正比,如果某节点采取在多个主链上的恶意行为,那么系统会收回其所在链上的资金。
年8月,桑尼.金提出了P0W的应用方案。它的目的是利用其机制发行一种新的货币并确保网络的运行,公平的证据取代了P0W的权力证据。系统中某一金额货币的最多节点获得开票权,开票权可以简单地理解为资本配置。
(3)授权股份证明机制。授权股份证明机制也是在工作量证明机制基础上的,能够进一步解决不公平现象,授权股份证明机制同董事会的决议类似,普通节点基于其算力可以进入董事会。
从而对于区块链的活动能否进行参与决策,每个节点都可以自由选择进入哪个决策组,并取得记账资格,同时还要对其它节点的决策负责,如果未能遵守契约完成共识,那么这个节点就会退出董事会。
(4)拜占庭容错共识机制。拜占庭容错共识机制解决了拜占庭将军问题,而且解决了低效算法的拜占庭容错和减少这种算法的复杂性,这使得它可以实际使用。
PBFT算法的主要目标是在可靠但可能出现节点故障的通信中达成共识,并具有明确的故障容忍度。PBFT机制简单,共识有效性高。它适用于具有基本信任的场景。目前,它广泛应用于联盟和私人频道。例如,Hyperledger采用了这种协商一致机制。区块链技术主要包括非对称加密、分布式网络、默克尔树和Hash等技术。
(1)分布式网络。区块链网络其实就是分布式网络,同传统网络最大的不同就是没有中心节点,每个节点都同其它地位平等的节点相连而形成扁平拓扑网络。每个节点都可以参与新事务的发布,产生新块,对信息真实性的炎症,发现新节点,建立共识等。区块链传播事务信息,并为每个传播生成一个新的块。
发起事务的节点将信息传播到相邻的节点,相邻的节点将在验证信息后重新传播信息,并将其传播到整个网络的节点。如果一个节点认为信息有问题,它将停止下一次广播。事实上只要超过50%的节点接收并检查信息,整个区块链就认为信息是真实的。
(2)非对称加密。对称加密以及非对称加密都归属于加密算法,因为加密密钥和解密密钥不同而形成非对称加密,如果相同就是对称加密。如果每个节点都知道公钥,那么私钥就非常重要了,必须要保密。
其他用户不能使用公钥来获得相应的私钥。在加密过程中,在使用公钥加密或私钥加密后,只能解锁相应的密钥,也只能从公钥加密中解密公钥。
为了简化存储内容和提高业务效率,一般不会存储所有的区块链数据,但储存数据的散列值由散列函数,即转换为字符串组成的固定长度数据链和信件。区块链通常使用SHA哈希函数将任何数据长度转换为位二进制数。
哈希函数的输入值是不能由输出而反向推出的,它是单向的,可以对数据进行初始化。输入数据是不同的,输出值也不同,从而完整性能够得到快速检查。哈希功能也是防撞的,避免了不同条目的相同输出,满足了块链记录的要求。
在特定的记录中,以比特币为例,一个区块记录一个事务和其交易时间。
结语
为了方便和存贮区块数据,Merkle树在区块链中被采用,默克尔树就是一个类似树的数据结构,父节点就是子节点Hash运算结果,最顶端节点就是默克尔树根,数据块或哈希存储在区块头中,这样块头得到了大幅“瘦身”,并且通过块头还可也检验完整和安全性,从而能够提高区块链效率。