区快链(英语:Blockchain或Block chain)是一种分布式数据库,大家可能都有所耳闻的比特币,核心技术用的就是它。区快链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次网络交易的信息,用于验证其信息的有效性和生成下一个区块。用通俗的概念讲,区快链就是一本人人可记的账。在一个公司或机构里,多数人只有看账的份儿,而只有少数受过专业训练的人,才有权提笔记账。当然,区快链并非传统意义上的账本,它在技术原理上有以下三个关键点:
第一,去中心化;
一个践行区快链技术的网络中,其所涵盖的每台计算机均可读取、添加记录,从账本这个角度讲,他们就是共同记账的人,而没有权威人士从中指导、修正。
第二,非对称加密;
别看这本账人人可记,可若非局内人,一定读不懂。因为,在记账过程中,每个人都遵从统一的加密规则,但读取时,却必须使用自己独有的解密方式。因此,虽然每个人都保存着这本不断更新的账,但能读懂的部分,却仅限于自己能解密的那一块,也就是与自己相关的那一部分。
第三,时间印记;
也就是时间戳(英语:Timestamp),是指字符串或编码信息用于辨识记录下来的时间日期。区快链上的每一个区块,是按照其所生成的时间按先后顺序排列的,并经过集体认证,确认成立。而且,之前的记录是无法被修改的。就像在一本账里,我们可以通过一个时间点之后的记录,索引、验证之前的内容。而这些内容一旦被确认,再行篡改就难上加难。
区快链技术是维护一个不断增长的数据记录的分布式数据库,这些数据通过密码学的技术和之前被写入的所有数据关联,使得第三方甚至是节点的拥有者难以篡改。区块(block)包含有数据库中实际需要保存的数据,这些数据通过区块组织起来被写入数据库。链(chain)通常指的是利用Merkle tree等方式来校验当前所有区块是否被修改,这一点用过Git的码农们早就熟悉了,回想一下如何修改Git的历史记录吧。