简单易懂的区块链

Posted Charles梦想家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单易懂的区块链相关的知识,希望对你有一定的参考价值。

区块链是一个公共的分布式账本数据库。下面简要介绍下区块链。

01 传统的网络交易如何进行呢?

举个例子,我的同学阿坤打算结婚了,我打算给他发红包,打开手机的银行APP,发送一条交易指令给银行,我要打1000元给阿坤,银行收到交易信息后,发一条指令给阿坤的账号,阿坤确认收款(欢欣雀跃)。银行从我账户扣1K,从阿坤账户加1K,交易完成。在整个过程中,银行相当于一个大账本,记录着我和阿坤,或者其他所有人的交易。那么问题来了,要是有人想篡改数据怎么办?那么钱不都为零了!
于是有人就想有没有点对点(peer to peer)去中心化地交易呢?像现实生活中的交易一样,交易双方直接交易呢。萌生了这样的想法,才有了最近发展的区块链技术。

02 简单易懂的区块链

对于网络上的区块链,有人出了一个想法,网络上的所有人都有一个账本,共同去记录交易,在每笔交易时,对所有人进行广播–(我要和阿坤交易啦),于是所有人在账本上记录某某年某人给某人转账的信息。这样的话所有人都知道了这笔交易。初步实现了去中心化,也就是不需要银行进行交易记录,而是通过所有人,这样账本就几乎不可能被他人篡改—即分布式账本,只要有51%以上认同便可认定这笔交易。

但是这样就产生了三个问题:

1如何让所有人都知道自己的交易呢?
2如何保证自己的隐私呢?
3要把全世界所有账本进行核对以达到共识,时间需要消耗多少呢?

第一个问题实际上可以通过互联网的的提速实现。第二个问题,发明这项技术的人,采用的是一种特殊的加密技术,将某人给阿坤的交易转化为一个二进制字符串(如哈希的SHA-256技术)。这种加密实际上就是哈希函数,其可以将任意的信息转化为256位的二进制字符串。这样所有人只要在账本上记录交易的字符串即可,在核对账本也只要核对两边的字符串即哈希函数产生的字符串一致性即可。

第三个问题,这里打个比方,我又给阿坤一笔钱,当我对这次交易进行加密时,将上次交易也纳入其中,即第一次交易字符串1XAF…+本次交易进行加密得到新的字符串-222,这样只要核对222就可判断两次交易的一致问题了。同理,如果要进行第三笔交易,把上一笔字符串也纳入,以此类推,这样即使交易1千万次也只要核对最后一次字符串,前面所有交易都核对上了。且以现在的网络实现数万以上交易成为一个字符串也是相对容易的。
实际上这一笔笔交易的账页就是区块。通过加密方式串联起来,进而成为了现在的区块链。如下图中每个区块就记录了网络上的一笔一笔交易。另外,目前,区块链技术不仅仅应用于BTC这类虚拟币,还在金融、医疗、媒体、政府及其他领域出现,如无人驾驶进行实时数据信息交换等应用。

以上是关于简单易懂的区块链的主要内容,如果未能解决你的问题,请参考以下文章

简单易懂的区块链

[易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链]

Github: BlockChain技术开发相关资料

500个《区块链》长尾词/关键词

区块链详解

区块链/比特币——通俗易懂科普