区块链之公有链

区块链之公有链

区块链是现行非常热门的数字加密货币——比特币的底层技术,区块链有三种类型:公有链,私有链和联盟链,其中以公有链的应用最为成功,下面将结合比特币,讲述公有链的性质。

1. 去中心化

区块链本质是一个去中心化的分布式账本,去中心化就是由于其基于分布式系统机构,每一台参与进区块链的矿机都要对每一笔交易进行验证、记账、存储、维护和传输等,这些没有任何中心机构的参与,每一个参与者都是执行者,因此是去中心化的。

2. 不可篡改性

如上所言,区块链是一本分布式账本,每个参与者都有一份数据,但若每一个人都有更改该账本的权利,那区块链的应用就无从说起了。区块链的不可篡改的特性是其强有力的安全保障。不可篡改特性有两部分:传输过程的不可篡改和存储的数据不可篡改。

2.1 传输过程的不可篡改

对于比特币,每一笔交易都需要写入每个节点(矿机)的区块链数据上,数据写入每个节点前有个通过网络传输的过程,该过程中数据也会遭到黑客的篡改,为了确保数据的安全性,区块链使用了“非对称加密”的方法对数据进行加密。“非对称加密”是指对数据的加密和解密用的是不同的密匙。区块链使用两把密钥:公钥和私钥。下面通过一个例子来阐述该过程:
对于某一笔比特币交易,如:A向B转10个比特币,则“A向B转10个比特币”是明文,系统会对该明文先进行哈希加密,得到一串字符串S1,接着使用A的私钥对S1进行加密,得到另一串字符串S2,称为“数字签名”。完成加密步骤后,A会将其交易明文和公钥广播全网,所有节点都能收到A的明文和公钥,且都要对其信息进行验证,步骤如下:

  1. 对明文进行哈希运算,得到H(M)
  2. 使用公钥对数字签名进行解密,得到H(S)
    3)验证H(M)?= H(S),若H(M)= H(S)成立,则写入区块,否则驳回交易。
    在这里插入图片描述
    传输过程中,如果信息被篡改,则会因验证不通过而被驳回,从而保证交易是按交易者的意愿进行的。

2.2 数据写入的不可篡改性:

数据写入区块后,是不可篡改的,该性质是由Merkle Hash Tree实现的, 其数据结构是一个二叉树,其每个节点均为哈希值,除叶子节点外,每个节点的值是其两个子节点的拼接后进行哈希,最终得到Merkle root的哈希值,存于区
块头,作为区块的标识​

由上文可知,Merkle root 的哈希值与区块内的每一笔交易均有关,由哈希的性质可知,无论输入内容多么微小的改变,输出的哈希值都有巨大的变化,下图分别为“区块链”和“区块。链”的哈希结果,二者仅相差一个“。”,使用的是比特币哈希方法SHA256:
更改前:
在这里插入图片描述
更改后:
​​在这里插入图片描述
由此可知,任何更改,即使非常微小,都会导致该区块头的哈希值与原哈希值完全不同,使得下一个区块记录的该区块头哈希值与其不一样,从而该区块的数据无效。
唯一有效地篡改区块链数据的方法是拥有整个区块链系统51%的算力,但这种方法的成本很高,需要花很多的前去购买大量的矿机,使得个人或团体拥有的矿机的数量是全世界矿机的一半,之后再对每个矿机的该数据进行修改,让自己拥有的51%的节点信任,广播全网后该信息就更改成功了,但代价太高,以至于没有人或团体去实施,甚至随着比特币的发展,越来越多的矿工的加入,篡改成本越高。因此整体来看,区块链是具有不可篡改特性的。

3. 共识算法和激励机制

区块链的激励机制是让所有矿机完成任务即可获得一定数量的比特币,做任务的过程即为“争夺记账权”的过程,而其共识算法是PoW算法,该算法是一个工作量的证明,需要矿工们消耗大量的算力进行哈希计算,找到随机数,该算法可以动态调整难度,使得每10分钟都能产生一个区块,即每10分钟就有一位矿工获利,比特币的巨大价值使得矿工24小时在线挖矿,很好地维持了区块链的正常运行。区块链网络每10分钟即可生成一个区块,但每个区块都有其大小限制,区块链的设计者设定每个区块大小上限为1MB,而如果某一时间交易量巨大,使得交易数据超过1MB,是否会造成超过的交易数据的丢失呢?该问题称为区块链扩容问题,其答案是否定的,对于超过容量后的交易,区块链网络选择延迟交易数据的验证,直到下一个区块的生成,再进行验证和存储,保证了交易的连续性。

4. 结束语

区块链的去中心化性质使得人们的交易更加方便,不需要提供额外的私人信息给中心机构,交易直接到帐而不需经过中间平台,其信息的不可篡改性为区块链网络提供了安全保障,共识算法和激励机制使得矿工源源不断地为平台提供算力和电力支持,平台得以运行。

5. 引用

【1】Satoshi Nakamoto . Bitcion:A Peer-to-Peer Electronic Cash System
【2】ZiBin Zheng. Blockchain Challenges and Opportunities : A Survey
【3】袁勇,王飞跃 ,区块链技术发展现状与展望
【4】https://baijiahao.baidu.com/s?id=1591793699376982174&wfr=spider&for=p
c 区块链大小
【5】https://www.tangshuang.net/4117.html 区块链如何运用merkle tree验证交易真实性
【6】https://www.tangshuang.net/4097.html 区块链中,交易被如何打包进区块
【7】https://blog.csdn.net/wo541075754/article/details/54632929 Merkle >Tree(默克尔树)算法解析

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值