区块链技术具有去中心化、信息不可篡改、信息透明和可共同维护等特点,下面就将进行区块链技术的基本概念和原理的讲解。
1、区块链概念
区块链可以借由密码学,串接并保护内容的串联交易记录(又称区块)。在区块链中,区块内容具有难以篡改的特性,每一个区块都包含了前一个区块的加密散列、相应时间戳记以及交易数据(通常用Hash树计算的散列值表示)。用区块链串接的分布式账本能让交易双方有效地记录交易,且可永久查验。
2、区块链原理
区块链技术可以认为是要解决互联网时代下的“拜占庭将军问题”,即在网络中的中心节点和信息传递通道都缺乏可信度的情况下,如何使网络中的各个节点达成共识。
区块链技术在去中心化、各节点无须事先信任的情况下,通过加密算法、共识机制和特定的数据存储方式,构建一个集体维护的可靠的数据模式,实现数字资产在网络节点之间的转移。
首先,数据被按时间顺序划分成区块,每一个区块存放一段时间内的所有价值交换信息,所有节点存储这段时间内的数据,并且永久保存,各个节点通过特定的计算争夺领导权,将下一时间段的信息进行打包分发,并通过某种特定的信息添加到上一区块的后面,构成区块链结构。
这种区块链结构的特点就是可以保证数据的完整性,因为每一个区块都会存储它被创建之前的所有价值交换信息;还可以保证数据的严谨性,因为一旦新的区块被加入链中,之前的区块就再也不能修改。
区块链实现了从记录到传输再到存储的全面分布式的模式,数据传输、数据验证、数据存储都去中心化,所有参与者共同构建数据库。
区块链采用非对称加密算法以提高数据的可信赖度,非对称加密即指加密和解密使用不同的密码,即公钥和私钥。加密数据所用的密码被称为公钥,是所有人都知道的、可以用来给信息加密的密码;解密数据所用的密码被称为私钥,是只有该信息的接收者知道并用于解密的密码。公钥加密的信息只有使用对应的私钥才可以解密。
实际情况中,假设甲向乙发送一个信息,甲、乙各自生产一对公钥与私钥用以加密和解密,甲、乙分别保管自己的私钥并向对方告知公钥,如果甲向乙发送信息,那么甲用乙的公钥进行加密并向乙发送加密后的信息,乙收到消息后用自己的私钥解密,网络中其他参与者均无法解密。这种算法强度高的加密方式保证了区块链信息的可信度。
区块链使用数学方法解决信任问题,用算法代替中心化的第三方机构,为人们创造信用,帮助人们达成共识。
区块链利用脚本使系统可以直接定义完成价值交换活动所需要的条件,有了脚本,区块链技术就有机会使系统不断成长,去处理一些新出现的交易模式,确保其时效性和实用性。
脚本中包含大量指令,每次价值交换都会记录指令,比如接收价值的一方如何接收,以及花费掉自己曾收到的留存价值需要满足什么附加条件等。脚本的可编程性使其可以灵活改变花费掉留存价值的附加条件,如增加所需公钥的数量。它也可以在发送价值时规定价值再转移的条件。