区块链技术原理简介

一、区块链最主要的技术特点:去中心化、不可篡改、可追溯。
1)去中心化。在区块链的网络中分布着众多的节点,节点和节点之间地位平等,可以自由连接进行数据交换,不存在中心节点。所谓的去中心化和传统的分布式有稍微意义上的不同,传统分布式还是有中心的节点,最常见的就是所谓的负载均衡节点(Load Balance),只不过在中心节点后有很多其它节点,在数据结构上通常会形成“树”的形式,去中心化是“图”的结构,“图”的结构中每个节点是对等的。

2)不可篡改性。利用密码学的技术保证区块链上的数据不可被篡改,主要是两个点:哈希和非对称加密。

3)可追溯性。区块链的数据结构保证了从第一个区块(创世区块)开始所有的数据形成了一条链,在链上的任何记录都可以通过链的结构追溯到本源(也就是创世区块的信息)。

二、保证区块链落地应用的技术基石
第一块基石是 P2P 网络,P2P 的网络去中心化,高性能,高可靠通讯的保证。
第二块基石是密码学,密码学保证数据无法被篡改而且是安全并可验证的。
第三块基石是共识算法,区块链网络各节点达成一致性的保障,也是现在评判区块链技术的核心指标之一。

1)P2P 网络是什么?
传统的网络是中心化的网络,所有的机器、通讯都要走过一个中心化的节点完成通讯,一旦这个节点出现了问题整个网络就瘫痪了。而 P2P 网络并没有一个中心化的节点,所有的节点之间直接互联互通。同时也因为没有中心化的节点,其中任意一点出现问题依旧能够保证整个网络还能通讯,因为你可以连接到其它节点上。所以 P2P 网络是去中心化的,参与各方地位对等,从而保证网络的健壮性、扩展性、高性能。

2)密码学在区块链当中用的非常多。
这里着重看如何通过“Merkle Tree”保证区块链上的数据不可被篡改。下图中的区块链数据结构,上方每一个大长方形就是一个区块 (block),该区块内所有的交易数据都被存储在这个区块上;最下方的第三个交易 Tx3,简单说每一个交易会生成一个哈希,Hash3 就是第三笔交易 Tx3 的哈希值。Hash2 下面没有画,是第二笔交易 Tx2 的值,Hash3 和 Hash2 组合在一起就是 Hash23,最后变成“Merkle Tree”的根节点“Merkle Root”。

每一个区块都有 Merkle Tree,区块上所有的交易都会被存储在 Merkle Tree 上。区块和区块之间也是相互链接的,每一个区块都知道上一个区块的 Hash 值。那为什么这样的区块结构能实现数据不可篡改呢?假设我要篡改 Tx3,那我们将要篡改 Hash3 的值,接下来改变了 Hash3 就要改变 Hash23,以此类推一直要改变 Merkle Root 的 Hash 值。因为区块的 HASH 中包括了该区块 Merkle Tree Root 的 HASH 值,所以一旦你改变了区块的 HASH,就必须要修改之后所有区块的哈希值。同时这样的修改还要被网络中超过共识算法要求的节点接受。这就造成了篡改数据树的成本极高,几乎是不可能的。比特币网络运行了那么久,在没有一个人去专门维护它的情况下,从来没有发生过任何篡改,也就是这个道理。

3)共识算法是区块链比较核心的技术之一
保证区块一致性是其主要作用。常用的共识算法有:POW、POS、DPOS、PAXOS、PNFT。
1.POW共识算法。也就是常见的比特币网络的共识算法,它通过哈希算力作为工作量证明去竞争记账权。POW的几个缺点:性能比较低;消耗大量的资源,尤其是算力;出块比较慢,10分钟左右。但它也优点,抗容错性很好,只有超过 51% 的节点攻击网络,网络才会失败,容错性50%。
2.POS共识算法。相对POW,POS是用所谓的权益计算法。相对POW来说它有几大改进:不再消耗资源;提高性能,2 分钟左右出块;同样容错性也是50%。
3.DPOS共识算法。POS实现2分钟左右出块是比较大的提高,但距离业务的要求还有一定距离,所以在此基础上进行优化产生了DPOS,简单来说DPOS不要求每个节点记帐,而是有代理节点来记帐,这比较像现实生活当中的议会制度,大家选出代表帮忙记帐,这样参与记帐的节点会相对集中,性能也就会提高。所以在DPOS情况下基本可以做到秒级出块,容错性也是50%。
4.PBFT共识算法。PBFT也就是所谓的拜占廷容错,它的性能非常非常快,可以达到秒级出块甚至比秒级还要快,但是它的容错性相对差一些,一般是33% 左右。
5.PXOS共识算法。PXOS假设的前提是没有恶意参与者,简单说就是节点不会发送错误的信息,但有可能漏发信息。在这种前提下容错性 50%性能也是很快的,基本上秒级出块。
评判共识算法大概有 3 个标准:
1.效率,达成共识确认的效率,简单就是出块的效率。
2.资源消耗,可能消耗电力、存储或者其他资源;
3.容错性,就是网络可以抵抗多大比例的节点出错。

三、区块链的分代和分类
1)区块链分代
按照《区块链:新经济蓝图》一书中的概念,把比特币以及相关的数字货币划分为区块链1.0,以以太坊为代表的智能合约划分为区块链 2.0,而在非货币和金融领域外,在其他领域里的区块链的应用划分为区块链 3.0。

区块链 1.0 是基础的区块链,实现了数字货币所需的所有特性。区块链 2.0 的核心概念是智能合约,简单说就是可编程的数字货币。虽然只是加了一个前缀,但却是巨大的进步。这意味着不仅仅价值本身,价值相关的商业规则也可以被数字化,是价值互联网的一个巨大进度。关于区块链 3.0,我们无法给出一个统一的评定标准。目前看有几大技术可以算是区块链 3.0 的潜在标准。比如解决链上数据隐私和协作矛盾的零知识证明技术,或者解决连接各种不同链的跨链技术等。

2)区块链的分类
区块链分类目前有三种:1. 公有链;2. 联盟链;3. 私有链。
所谓的公有链是任何人都可读取的、任何人都能发送交易且交易能获得有效确认的、任何人都能参与其中共识过程的区块链。 随着公链规模的扩大,目前一些主流公链的性能都有待提高。 联盟链主要针对有竞争又需要合作的场景,技术上联盟区块链是指其共识过程受到预选节点控制的区块链。只有获准进入联盟的节点才可以参与其中。私有链一般仅在一个公司或者组织内使用,它更像一个分布式账本。

四、围绕区块链技术的两大核心特征
1)数据不可篡改性。 
基于这个特征行业中用的比较多的场景是信托。在市场加速释放的前提下,传统信托行业所存在的如文档安全性、时间有效性等信任问题日益凸显,而利用区块链不可篡改的特性能有效解决信托业务中所存在“互不信任”的市场痛点。如何实现?利用区块链技术可以将信托业务中的关键材料经过哈希加密处理,转换成不可逆推的特征值存储在区块链上,信托公司和用户如需进行数据验证,只要将已有的材料和信息经过哈希加密处理,再次与区块链上与其对应的信息进行对比,即可验证材料是否曾经被进行篡改。

2)可追溯性。 
钻石一直以来被视为是爱情、权利、地位和富贵的象征,一方面因人类的情感赋予让钻石有了高昂的价值,另一方面也因其价格诱人让市场滋生了走私的风气,从而使得产品与价格混乱,国家税收损失和难于监管。而利用区块链的可溯源特性,以构造共享数据库的联盟链为基础,通过多中心的方式与海外钻石平台、钻石交易所等共享数据,以行业 4C 为标准定义每一颗钻石的身份标签和流转体系,促进钻石交易的正规化。通过可溯源让每一颗存储在区块链上的钻石信息都可查证,让市场上存在的黑手无孔可寻,从而让钻石市场真正回归“透明”。

猜你喜欢

转载自blog.csdn.net/zhaocen_1230/article/details/79921067