首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

最简区块链概论

区块链概念

区块链简而言之,即包含各种信息的区块链条。

它是一种对任何人都完全开放的open ledger分布式账本:在下图的例子中,每个人都可以看到钱在哪里、谁有多少钱、交易信息,每个人会参与决定信息是否合法有效,每个人都会有整个账本备份信息。

这项技术于1991年被一个科研组织首次提出,其最初被用以是给电子文档标记时间,以便于追溯信息或者防止非法篡改。

但是,这项技术一直遭到忽视,直到2009年一个自称中本聪的神秘个人或组织使用区块链技术创造了电子加密货币——比特币,它才从将近二十年的沉默中以席卷全球的姿态爆发出来。

区块链基本构成和安全原理

区块链的核心特性是:记录于其中的数据可以被查看、添加但是很难被改变,这得益于Cryptography加密算法。

一个区块链最为核心的构成包括三个要素:一是信息数据;二是Hash(区块链的加密算法,一般翻译做“散列”,也有直接音译为“哈希”,就是把任意长度的pre-image预映射输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换本质是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数,具体解释见下文);三是前一个区块的hash。

第一,被存储在一个区块的数据信息取决于区块链的性质(如货币交易信息、健康信息、社交信息、媒体信息等),以比特币区块链为例,其存储了诸如发出方、接收方和交易额等细节性信息。

第二,关于hash,可以将其比喻为指纹,每一个区块都有唯一的hash,它标记了一个区块及其所有的内容,一旦一个区块被创立,它的唯一的hash值便被计算出来,对区块的任何修改,也都将导致其hash值得改变。

第三,一个区块链里的所有区块都有前一个区块的hash值(除了第一个区块之外,因为其前面没有区块,它被称为Genesis Block创始区块),应该注意的是这一机制是保证一个区块链安全的关键技所在。下面,我们以一个区块链的前三个区块为例:

如图所见,每一个区块都拥有一个hash值和上一个区块的hash值(除第一个区块之外),所以第三个区块指向第二个区块,第二个指向第一个。

假设非法篡改了第二个区块,这也会导致其hash值发生改变,同时也将使第三个区块及其以下所有的区块无效,因为它们原本存储的前一个区块hash值都变得无效了,类似于滑坡效应。由此可见,改变一个区块将会导致其以下所有的区块无效。但是hash机制,并不足以预防非法篡改的发生,因为现在计算机的运行速度太快,能够在数秒之内计算成千上万的hash值,黑客们可以非法篡改一个区块的同时,重赋予其它区块的相应hash值,以整个区块链看起来重新合法。

鉴于此,现代区块链技术发展出另一项机制——proof-of-work工作证明机制。其基本原理即在添加新的区块时,需要计算合法的工作证明,以减缓新区块创建速度。

重新回到比特币的例子:通常要花费10分钟来计算需要的合法工作证明以使用它在区块链中添加新的区块。这一机制使得非法篡改区块变得越来越难,因为黑客如果篡改了一个区块,那么他将需要重新计算其他所有的区块工作证明,这将花费极大的时间。

应该值得注意的是,区块链还有一种方式使其安全性得以提升,即分散机制或者去中心化——将第三方去掉(节约时间、提高效率、节省费用)。

具体而言,区块链不是使用一个中心实体来对其进行管理,而是使用peer-to-peer network点对点网络,任何人都可以参与进来。当有人加入这个网络时,他得到了整个链条的完整拷贝。每一个用户节点可以根据这种分布式记账的机制来检查监督一切是否仍然正常。

我们来看一下,当一个新的区块被某用户创建的时候,会发生什么(举个例子:当B想给C转5美元时,与传统方式不同的是,B会在网络上Publish公布和broadcast广播这一个交易,这时就会有一个包含“B为了买C 的商品,想向C转5美元”的信息的新区块在网络上传播,每一个用户都能看得到,由于它是新建的,其合法性并未被确认,因此尚未被放入原有的区块链中),如下图所示:

这一个新的区块会被发送到每个人的网络上,每个用户都可以在他们的网络上确认这一区块是否被篡改过,待一切检查完毕后。在上述整个过程中,MINERS挖矿工这一个概念便凸显出来了,其他所有的用户节点(有可能是机器),在例子中A和D是miners,miners在此过程中要做的是:互相竞争,第一个能够完成以下两件事的人将会获得记账权(即匿名将数据块记录在区块链上)同时得到一定的金钱回报:一是判断出此交易是否合法可行(因为所有的账户都是公开的,所以判断B是否真的有5美金转给C很简单);二是计算出所需要的hash值 special key “提取密码”,以使得这一新数据块与前一个数据块相连,从而融入到整个数据链之中(因为寻找这个special key是随机性的,miners需要不断重复地进行计算)。之后计算出方案的miner会把方案发布网上,此时每个节点都会立即将这个新数据块添加到它们自己的区块链上(sychronizing the ledger)。此过程一直循环。可以看出,正式miners获取货币奖励的动机确保了账户的公开性和合法性。

所有这些过程使得所有用户对此区块是否合法达成共识。所以在此机制下,一个黑客如果想成功地篡改一个区块链,他必须在篡改所有的区块,重新计算每个区块的工作证明,同时还要黑进并且控制区块链上至少50%的点对点网络。这几乎是mission impossible!

注意:

谁的算力高谁获得虚拟货币的可能性就越大,而随着现在挖掘的难度越来越高,就需要更加强大的显卡和主板来只撑,并且还要耗费大量的电源。所以说挖矿并不是一件容易的事情,挖矿非常消耗资源,因为虚拟货币生成的计算难度非常高,而且在不断的变化,在全球范围内每生成2016个数据块之后,挖掘虚拟货币的难度就会增加一次,每个数据块中包含大约25个左右的比特币,按照目前生成虚拟货币的难度来看,一台i5cpu处理器,需要进2200年左右才能生成一个比特币,这个难度是非常大的,而且非常消耗资源,所以人们开发出了挖矿机,一种专门针对虚拟货币研发出来的,利用其硬件加速能力,10天左右的时间就会生成一个比特币。因为单个的矿工的产出通常是十分缓慢的,为了获得稳定的利益,就出现了矿场,将所有的矿机集中在一起,矿机越多,算力就会越强,占的比例也就越多,这样也就能保证收益的稳定。

技术发展趋势

区块链技术也在不断地发展演化。最近的一个发展是Smart Contract智能合同技术的发明。它是存储在区块链上的简单程序,可用于特定条件下的货币自动交易。

区块链的应用

区块链真的会颠覆大公司么?至少没有人确切地知道如何运作一个社区自治性的商业组织,其挑战程度不亚于要求在一个民主化社会同时拥有集权式社会的效率。而与此同时,比特币却证明了P2P的商业潜力,我们不得不承认的是,它真的从理念到实际操作对传统大公司(B2C模式)的生意产生了重大的冲击。巴塞罗那大学金融创新中心主管Fabian Schr在给《第一财经周刊》的邮件回复中写道:“区块链有潜力改变任何依赖第三方中介交易的行业。从金融到公证服务、土地登记……基本上,只要一个机构是有中心化数据库的,这种生意都可能被区块链颠覆。”

区块链技术如何影响现实:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180507G1MJYW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券