有人称:区块链(Blockchain)技术也许是继蒸汽机、电力、信息和互联网技术之后,能与大数据、移动互联网、云计算等新技术共同推动经济金融转型升级、最有潜力触发第五轮颠覆式产业革命浪潮的核心技术。
什么是区块链?
区块链有两个主要部分:区块和链。它的本质就是一串链子把区块串起来,然后数据被划分成连续的多个区块的形式,在电脑里储存。举个例子你就明白了,下图中方框代表国家,每个方框里每个国家的一些城市名字。

除此之外,每个方框里面还有一个称作哈希值(hash)的部分,哈希值是由一系列字符组成(比如“1hi515AHA5H”),它的值由每个方框的里面信息决定。

由于技术上哈希值的产生比较复杂,简便起见我们用城市名首字母来代替正轨的哈希值比如 USA 的那个方块里面有 New York,LosAngeles 和 Chicago 三个城市,那么哈希值就是“NYLAC”,每个连续的区块链都包含上一个区块的哈希值,暂把它们称作“前哈希值”(Prev Hash)。
这就有点像 C 语言的指针,把区块连接起来。如果有人想篡改 USA 这个区块,比如加入一个城市 Boston,那么这个区块的新哈希值就会变成“NYLACB”,但是下一个区块 India 中存储的“前哈希值”仍然是“NYLAC”,这样就没法匹配,这个链就此断了。
所以你知道了吧,哈希值的引入就是为了防止有人篡改任何一个区块。
区块链的数据并不是只存在于一台电脑上的,他的数据是在存在于所有接入区块链网络的电脑上的,每个电脑上的数据都是一样的,因为每当你加入区块链网络,你的电脑就会下载所有区块,如果某人篡改了他的版本,网络就会判断是否可信,它的策略是相信大多数人的版本。
还有一点需要说明,在区块链网络里面,除了数据,所有电脑上运行的程序都是一样的,所有电脑一起执行这套程序。这一点和我们日常生活中所见的大多数应用的机制不同,比如微博,所有的数据和处理程序都是集中在微博的服务器上,而手机 APP、PC 应用、网页等终端的主要功能仅仅是用于与处理服务器进行交互。
但在区块链网络里面,是去中心化的,它依靠所有接入区块链网络的用户的计算机共同执行它的程序。这意味着只有区块链网络中的每台电脑都关机了,它才会停止运行。
公共区块链
那这些能防范篡改的区块有什么用?比如大名鼎鼎的比特币。
比特币是一种电子货币,它具有一套自己的支付系统,它的防篡改区块功能就是人们能放心进行所有交易的核心。就像前面说的,需要大家贡献出自己的电脑去执行比特币的程序,作为回报,他们会得到比特币,这些人的电脑被戏称为“矿工(Miner)”。
以太坊(Ethereum,一个开源的有智能合约功能的公共区块链平台)负责处理繁重的工作,被广泛应用于电子货币系统的搭建,比如我们之前提到的委内瑞拉石油币(Petro),毕竟从零开始开发一个区块链并建立自己的社区将是非常困难的,尤其是人们必须贡献他们的电脑。
区块链的应用场景不仅仅是支付系统或加密货币,它可以是任何东西,比如社交网络等。
私有区块链
比特币、以太坊等都是公共区块链的例子,任何人都可以参与其中。如果我们想要创建一个私有的区块链网络呢?它能解决一些生活中更具体的问题。例如:房东和房客之间的关系是通过合同来联结的,既然纸质合同不保险,那不妨试试一份电子智能合同。
那问题来了,代码部署在哪里呢?它应该部署在有关各方的电脑上。房东和房客的银行成为私有区块链网络的一部分,双方将签署一份电子智能合同,然后它被部署在网络上,而且双方的银行都有副本。每个月 1 号 0 点将商定的金额从房客的账户转到房东的账户。
由于私有区块链网络仅限于参与交易的各方,所以上面提到的房东与房客的关系,便是私有区块链的网络,相互是看不到对方的交易的。所以私有区块链能既保障了各自的隐私,又保障了资金的安全。