区块链是一种特殊的、无人管理的分布式数据库,是一个个存储着数据的区块链接起来的,每个区块都是一个节点。在区块链中,没有中心节点,每个节点都是平等的,都保存着整个数据库。向任何一个节点,写入||读取数据,所有节点最后都会同步,来保证区块链一致。
-区块链具有许多重要的特性:
- 去中心化:区块链的基本特征是去中心化,区块链没有中心节点来实现分布式记录,数据存储和更新。不依赖额外的第三方管理机构,不被管理,使得区块链做到无法被控制。
- 透明性:区块链的系统数据是公开透明的,每个人都可以参与进来。网络中每个节点都能够下载存储全网发生的所有数据记录,所有的数据记录及操作对于所有节点都是透明的。网络中的任一节点都可以通过查看整个数据记录来确认数据的真实性,从而保证了区块链中记录的数据可以被全网所有节点审查、追溯。
- 自治性:区块链采用基于协商一致的、公开透明的规范和协议,然后各个节点就按照这个规范来操作,这样所有的东西都由机器完成,没有人为干涉成分。
- 信息不可篡改:如果信息存储到区块链中就被永久保存,是没办法去改变。每个节点都拥有所有数据的副本,通过多数节点间的共识来保证数据的一致性。想更改某一区块的数据,必须控制51%以上的节点才能实现,在现实中是很难实现的。因此可以说区块链区块中的信息是不可篡改的,从而保证了区块链数据记录的安全性与可靠性。
- 匿名性:区块链上面没有个人的信息,那些都是加密的,转换成一堆数字字母组成的字符串。
区块
区块链由一个个区块(block)组成。每次写入数据,就是创建一个区块。
区块包含两个部分:
- 区块头(Head):记录当前区块的元信息
- 区块体(Body):实际数据
区块头包含了当前区块的多种信息。
- 版本号
- 时间戳(区块创建的时间)
- 上一块区块的哈希
- 当前区块体的哈希
- …
哈希
哈希(Hash)算法将任意长度的输入值变换为具有固定长度的二进制值。这个二进制值称 为哈希值,用于检验数据的完整性。
区块链的哈希长度为256位,不管区块里内容是什么,最后一定会得到一个256位的二进制数字,并且只要原始内容不同,得到的哈希值一定是不同的。
区块链中,哈希由区块头唯一决定(Head),每个区块的哈希都是针对区块头(Head)计算的。
Hash = SHA256( 区块头 )
区块头中包含着很多内容,其中有当前区块体的哈希,还有上一个区块的哈希。如果当前区块体的内容变了,或者上一个区块的哈希变了,一定会引起当前区块的哈希改变。
如果有人修改了一个区块,那么该区块的哈希就变了,后面所有的区块都要被修改。而哈希复杂的计算与发明者的设计(故意设置了海量的计算,使得全网区块生成速度保持在每十分钟一个)使得短时间内修改多个区块几乎不可能发生。通过这种机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。
区块链的分叉
如果有两个人同时向区块链中同时写入数据,既添加新的区块,那么区块链就形成了分叉,所以人们规定了哪个分支在分叉点后面,先达到6个新区块(六次确认),哪条分支就是合法的。
区块链的缺陷
1.无隐私性
在区块链公有链中,每一个参与者都能够获得完整的数据备份,所有交易数据都是公开和透明的。如果想知道一些商业机构的帐户和交易信息,就能知道他的所有财富还有重要资产和商业机密等,没有隐私可言。
2.安全性问题
区块链技术一大特点就是不可逆、不可伪造,但前提是私钥是安全的。私钥是用户生成并保管的,没有第三方参与。私钥一旦丢失,便无法对账户的资产做任何操作。随着量子计算机等新计算技术的发展,未来非对称加密算法具有一定的破解可能性,这也是区块链技术面临的潜在安全威胁。
3.数据确认的延迟性
在金融区块链中,数据确认的时间相对较长。拿比特币举例,当前产生的交易有效性受网络传输影响,比特币交易每次的确实时间大约10分钟,6次确认的话需要一个小时。因此区块链的交易数据是有延迟性的。
4.监管
区块链的去中心、自治化的特点淡化了国家监管的概念。然而所有的创新,都需要符合监管的要求。区块链的监管,在某种程序上是促进区块链的商业应用,更好的提供合规性保护。另一方面监管部门对这项新技术的法律和制度建立上存在滞后,也可能会毁掉区块链,需要把握好尺度。
区块链作为一种理念的创新,在特定领域可以产生颠覆式的影响,面对区块链优劣势需要做的是扬长避短,用其所能。那么区块链能否成为新一代金融基础设施的底层技术,这依然是一个问题。