区块链入门-概念原理篇

比特币和区块链

2008年,中本聪发布了一篇名为《比特币:一种点对点的电子现金系统》论文,之所以选择在金融危机这年发布,也许别有深意。他认为传统货币最根本的问题在于信任,银行必须让人信任它能帮我们管好钱财,但是银行却在用货币制造信贷泡沫,通货膨胀使人财富缩水。首先中本聪把比特币定义为一种点对点的电子现金系统, 目的很明确:希望这套系统不要依赖任何一个中心,比如中央银行,所以这个系统肯定是分布式系统。
区块链的概念是在中本聪设计比特币系统的时候首次提出,也是区块链技术第一次得以落地并且运用得最成功的一次。比特币是一种业务场景, 区块链是比特币这种业务场景实现的技术基础,要了解区块链,先简单了解比特币的运行机制。

比特币系统.png

图中的橙色方块就是这套系统上的每个节点,散布在世界各地;可以认为每个节点都运行着中本聪开源的比特币客户端,节点之间形成全网通讯。

为什么要去中心中心化?

为了安全和信任。首先来说说安全,这个应该都好理解。比如现在我们用支付宝,所有的转账支付行为都要经过支付宝这个中心,这个中心一旦出问题,所有用户都受影响;这个中心一旦被黑客攻破,数据就非常容易被修改;而分布式系统中,全球每个节点既是客户端也是服务器,除非同时有51%以上节点被篡改,否则所有修改均无效,被“自治”,所有篡改数据难道非常大。安全上的保证也极大解决了信任问题,但是主要的还是数据控制权问题,中心化的系统,被掌握在一个中心中,比如我们的交易数据被掌握在支付宝中,鬼知道有没有被出卖,有没有被利用;而分布式系统中,所有数据透明,不属于任何一个中心;人人都是数据生产者也是拥有者。

比特币系统为什么能有效的运行下去?

第一,比特币的稀缺性;第二,奖励机制。首先要说两个重要的角色: “矿工”和用户。

比特币体系.png

没错,矿工就是比特币系统上的每个节点的维护者,中本聪并不亲自部署这么多节点,而是通过一种奖励机制,让每一个人都能参与维护扩展这套系统,这时候运行在这个节点上的机器也称为“矿机”,矿机的主人就是矿工。在用户交易过程中产生的记录,如果被某个节点来帮忙验证并记录了,这时候矿机的主人就会得到一定的比特币作为奖励。 具体由那个矿工来记录?这个就比较有意思了。

挖矿

发生交易时,全网节点能监听到,通过验证的记录或放入节点内存中,然后所有的矿机都在开始“算题”,拼算力的时候来了,这批交易记录会被分配一个随机数, 每个节点都在“努力”地找这个随机数,谁先找到,谁就得到了这批交易的记账权,然后就开始验证,验证之后打包成一个数据块,就是我们说的区块了(终于提到区块这个概念了,先别着急,后面再慢慢展开。),然后开始全网广播,把这个区块副本广播出去,告诉其他节点不要努力了,我已经找到了,挖到矿了,大家看看是不是“真的”,然后其他节点停止挖矿,逐一验证,51% 以上的节点都验证通过之后就把这个区块加到当前区块链上的末端,交易完成。

比特币价值

为什么有人愿意部署矿机来挖矿, 挖矿的奖励真的有价值么?首先比特币是稀缺的,如果比特币可以无限的产生那就无价了。比特币总量是 2100 万个,从 2009 年开始,每次产生一个区块的奖励是50个,每 4 年奖励减一半。按照比特币大约每十分钟产生一个区块的速度计算,大约到 2134 年比特币全部发完。另外比特币不受一个中央控制,当大多数人都相信它具有代币价值、大多数人都愿意在上面交易的时候它就有价值了,比如纸币,它就是一张纸,当大多数人都相信并认可它的价值并能流通,它就不再是一张纸那么简单了。

核心概念

现在我们对以上内容进行一个总结了。

  1. 比特币是一个完全分布式系统,系统由许多节点组成。
  2. 每个节点都有记账能力。
  3. 每一个记录都需要公证,全网节点共识,共识方式就是以上说的“挖矿”,又叫做工作量共识方式( 共识的方式除了“挖矿”,还有很多种,后面再介绍。)
  4. 随着交易不断进行,区块不断生产,每个节点上的区块按时间顺序串在一起就形成了区块链条。
  5. 系统涉及几个核心概念,节点、链、区块、记录,关系如下:
node_train_block.png

到这里,我们对比特币系统雏形有一个大致了解,下面我们就对这个系统中的核心概念分别展开介绍。

记录

在比特币中成为一个用户很简单,获取一个钱包地址就行了,获取地址:https://blockchain.info/wallet/#/signup。拥有了一个钱包地址之后就可以向全世界任何一个钱包发送比特币了,前提你拥有了比特币。交易记录是加密的、匿名的,每个用户拥有唯一的私钥,交易时候使用私钥生成数字签名,用户之间交易就产生了记录。一条记录是整个区块链中的最小单位,一次操作就会生成一条记录。

区块

一个区块由区块头和区块体组成。

区块.png

区块头

版本号(version):版本号
哈希值(Hash):当前区块hash值
前驱区块哈希值(Previous Block):前驱区块hash值
后续区块哈希值(Next Block(s)):后续区块hash值
交易总数(Number Of Transactions):交易数量
时间戳(Timestamp):时间戳
随机数(Nonce):随机数,在比特币系统中,“挖矿”就是找这个随机数。
默克尔树根哈希值(Merkle Root):交易记录的默克尔根
区块体装的是记录列表。

Merkle Root 怎么来的?

先说说 Merkle Root 的作用, 交易记录发生任何变化, 这个值都会变,也就是这个值是以交易记录为变量生成的。
生成原理,如下图:

默克尔根.png

这是一棵二叉树,叫做默克尔树(也叫hash树), 把所有记录各自hash值作为叶子节点, 两个叶子节点hash值合起来
又进行一次hash计算,生成父节点;直到最终的树根。树根hash值就是Merkle Root。

一个区块格式:https://blockchain.info/block/0000000000000000003e1641219b1291b53e0c609d53f4d56aadcf0646cdfd36

所有区块通过 Previous Block 或 Next Block 顺序一个链条。区块链系统,例如比特币的区块链系统中每个节点都维护着一条这样的链条,区块链的主要概念就是这么来的。

区块链.png

区块链工作流程

以上我们大致了解了交易记录、区块、链等概念,现在我们把这些概念串起来,看看区块链的工作流程。

工作流程.png
  1. 发生交易记录时发送节点全网广播记录。
  2. 节点监听到新的交易记录。
  3. 节点对交易记录进行验证并放入节点缓存区。
  4. 节点开始"算题",争取到记账权,打包记录生成区块,并向全网广播进行共识。
  5. 经过共识的区块被追加到区块链的尾部。

上文提到的"全网广播",实际上不需要让全网所有节点都收到,只要大部分节点就行了。对于那些没有收到的,丢失的区块,区块链系统是具有容错能力的,如果某个节点么有收到特定区块,这个节点将会发现自己缺失的区块,可以提出自己下载区块的请求。

共识机制

以上流程中,最为重要的就是区块的共识机制了。共识,是指要让全网大多数节点(至少51%)都认为数据真是可靠的过程。目前主流的共识机制有:工作量证明(PoW)、权益证明机制(PoS)、授权股权证明机制(DPOS)和拜占庭共识算法(PBFT)。 比特币中使用的就是工作量证明算法,也就是上面所说的"挖矿",这里重点来讲讲"挖矿"。

节点监听全网记录数据,通过基本的合法性验证之后把记录暂存起来,接下来就开始工作量证明了。回忆下我们在前文中介绍的区块的格式,区中区块头有一个随机数字段:Nonce。节点矿机不断的尝试不同随机数,直到找到这个随机数,然后把记录打包生成区块,把这个区块广播出去,经过其他节点验证通过之后再链接到区块链中。比特币的PoW中, 平均每10分钟有一个节点找到(产生)一个区块,如果两个节点同时一个时间内找到区块,那么网络将根据后续节点和区块生成情况来决定,再给六个区块的生成时间来确定,谁最先找到谁就拥有记账权限。

区块链的运用领域

随着区块链技术的成熟,基于区块链技术的运用领域应还是比较广阔的。

运用场景.png

区块链的分类

区块链按照应用场景、数据读写范围来分,可以分为三类:公共区块链、共同体区块链和私有区块链。
公共区块链:指全世界任何人都可以参与,任何人都可以在上面进行交易、读写、共识的区块链。共有区块链是完全分布式的,数据公开,用户参与度高,便于推广,但是系统运行依赖奖励机制。应用场景有如比特币、以太坊等。
共同体:又称为联盟链,比如多家金融机构,每个机构作为一个节点,一起构成一个区块链的分布式系统。对区块链的对其仅限这些机构之间,或共识过程的参与节点。典型应用场景有如IBM的超级账本(HyperLedger),腾讯等多家互联网巨头已经参与其中;又比如腾讯云联合微众银行,平安科技等二十余家金融机构和科技企业共同发起成立了金融区块链合作联盟(简称“金链盟”),在国内率先尝试探索、研发、实现适用于金融机构的金融联盟区块链。
完全私有链:
完全私有的区块链是指其写入权限仅在一个组织手里的区块链。读取权限或者对外开放,或者被任意程度地进行了限制。区块链链一个重要的特点解决中心化信任问题,个人觉得现阶段,私有链没什么卵用。

如何判断是否需要区块链?

是否需要区块链.jpg

当前区块链存在的问题

区块链技术在面临机遇的同时,也面临着不少问题与挑战。
1、区块链体积过大:随着区块链的发展,节点存储的区块链越来越大,存储和计算负担也越来越大。例如比特币,完整比特币区块链大小已经超过64GB了,客户端要同步完整数据的话,可能三天三夜都同步不完。

2、同步确认时间过长:全网节点共识的机制,共识过程时间问题还是存在不少挑战。例如比特币一次确认时间大约为10分钟。

3、区块链发展受到现行体制的制约: 去中心化,自治等特征,淡化了国家监管的概念,给传统中心机构带来了冲击,比如中央银行。这也是什么现在各种xx币在国内少到打压的原因。

开源项目

区块链的开源项目也是比较多,具体可以参考这里:http://blog.csdn.net/elwingao/article/details/52679475

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容