手把手教你实现简易比特币(Golang版) 第1章 初识比特币与区块链

还有没有比特币?你也太OUT了
注册OKEx交易所 快速购买比特币  

1. 比特币发展简史

1、2008年全球金融危机,以美国为首的货币超发引起金融危机,这也就是比特币产生的原因和动机。

  • 2008年金融危机,美国政府无限增发货币(因为有记账权)。
  • 区块链是新型支付体系,区块链网络中的每个人都具有记账权,货币不能超发,整个账本完全公开透明,非常公平。

2、2008年10月,中本聪Satoshi Nakamoto发表比特币论文《bitcoin:A peer to peer electronic cash system》,描述了一种被他称为“比特币”的电子货币及其算法;

  • 中本聪的整体思想是开创性的。其中的技术是已经存在的。P2P、分布式存储、Hash算法、非对称加密等。他将这些技术集成化、系统化、实现了一个可供实践的解决方案。
  • 从发表论文以来,中本聪的真实身份长期不为外界所知,维基解密创始人朱利安·阿桑奇(Julian Assange)宣称中本聪是一位密码朋克(Cypherpunk)。另外,有人称“中本聪是一名无政府主义者,他的初衷并不希望数字加密货币被某国政府或中央银行控制,而是希望其成为全球自由流动、不受政府监管和控制的货币。”

3、2009年1月3日,中本聪开发出首个实现了比特币算法的客户端程序并进行了首次“采矿”(mining)。北京时间2009年1月4日 2:15:05 AM(英国时间约2009年1月3日 18:15:05 PM) 比特币的第一个区块,这就是创世区块产生。

  • 中本聪获得了第一批50个比特币。挖矿奖励比特币数并不是固定的,每产生21万个区块奖励就减半。截止到目前每挖到一个区块奖励为12.5个比特币。
  • 在第一个区块中,没有交易记录。而是将《泰晤士报》2009年1月3日的一条新闻永远记录在了其中。
    • The Times 03/Jan/2009 Chancellor on brink of second bailout for banks
    • 财政大臣濒临第二次银行救助的边缘

http://img.kongyixueyuan.com/1007_aaa.jpg

  • 每个区块都有一个固定的编号,创世区块的编号为0,这个编号叫做该区块的高度,该区块后续区块的个数为区块的深度。

http://img.kongyixueyuan.com/1008_block.jpeg

  • 从0号到第209999号区块的奖励都是50BTC,从21万号到419999号区块的奖励都是25BTC,从第42万个开始奖励是12.5BTC。
  • 比特币区块的产生大约是10分钟,每产生21万个区块大约就需要4年。因此每四年挖矿奖励减半。

http://img.kongyixueyuan.com/1009_%E5%A5%96%E5%8A%B1.jpeg

4、2010年,中本聪销声匿迹,将项目移交给比特币社区的核心成员嘉文.安德烈森。中本聪据信持有约一百万个比特币。目前价值约79.3亿。

  • 中本聪是密码朋克(CypherPunk)组织的成员,强调匿名和隐私,不重视物质。密码朋克的成员约1400人,讨论话题:数学、加密、计算机、政治、哲学。成员中包括很多IT精英。wiki创始人阿桑奇,BT下载作者布拉奇.科恩,万维网发明者蒂姆.博纳斯,Facebook创始人肖恩.帕克。
  • 2010年5月22日,美国程序员拉斯勒用10000个比特币购买25美元的Pizza。这是比特币第一次有了价值,引起轰动。每年5月22日被比特币爱好者成为:比特币披萨日。(当前价值6亿港元的披萨)

##2. 比特币是什么?

1、比特币是加密数字货币,没有现钞,没有比特币实物货币,也没有银行网点;

2、所有账目公开透明、可查询;https://blockexplorer.com/

3、比特币是基于P2P网络的一种分布式系统;

4、比特币是基于非对称加密技术(公开密钥算法)的交易;

5、法币是通过央行来发行,而比特币是通过挖矿产生。

6、比特币的特性

  • 硬通货:比特币是加密数字货币中的黄金。比特币市场价格定位:1比特币>1盎司黄金。目前全球部分国家可以交易
  • 易携带:只需要携带一个私钥即可
  • 隐秘性:只暴露钱包地址,无需任何其他个人信息
  • 无货币超发:通货紧缩
  • 比特币的最小单位是:聪。1聪 = 一亿分之一比特币

##3. 比特币是如何发行的?

比特币不是任何银行或金融机构发行的,使用比特币不需要绑定银行卡,不需要任何身份证明,不需要手机短信认证。只要能上网,只要安装了比特币客户端软件(钱包),就可以转账、收款,甚至是挖矿。比特币的生产就是靠挖矿。

1、挖矿

  • 挖矿是重复计算区块头的hash,不断修改随机数nonce,直到与难度目标值匹配。
  • 挖矿就是在争取记账权,对一段时间内比特币网络中的交易进行确认,并记录在区块链上的过程。
  • 挖矿的人是矿工,挖矿过程就是争取记账的过程;矿工是记账员,区块链是账本,每个区块就是整个账本中的每一个账页。
  • 挖矿成功,比特币系统会新产生一笔比特币,目前是12.5BTC,将次奖励给挖矿成功的矿工。
  • 挖矿成功,矿工争取到了区块的记账权,这10分钟内被打包的所有未确认的交易的手续费都会奖励给该矿工。

2、比特币钱包

“钱包”一词在比特币中有多重含义。

  • 广义上,钱包是一个应用程序,为用户提供交互界面。 钱包控制用户访问权限、管理比特币地址及其密钥、跟踪余额、创建交易和签名交易。
  • 狭义上,即从程序员的角度来看,“钱包”是指用于存储和管理用户密钥的数据结构。
  • 钱包是私钥的容器,一般是通过结构化文件或简单数据库来实现。
  • 一个常见误解是,比特币钱包里含有比特币。 事实上,钱包里只含有钥匙。 “钱币”被记录在比特币网络的区块链中。 用户通过钱包中的密钥签名交易,从而来控制网络上的钱币。 在某种意义上,比特币钱包是密钥链。
  • 比特币钱包只含有密钥,而不是钱币。 每个用户有一个包含多个密钥的钱包。 钱包只包含私钥/公钥对的密钥链。 用户用密钥签名交易,从而证明他们拥有交易输出(他们的钱币)。

3、比特币节点

  • 运行区块链软件的计算机就是一个节点
    • 每个比特币钱包都是一个节点。
  • 全节点
    • 拥有完整区块链账本的节点叫做全节点,负责比特币转账交易的广播和验证。
    • 同步整个区块链并对交易做验证,同时中继区块的在网络上的传播
  • 轻节点
    • 不保存所有区块,依赖全节点做交易验证
  • 挖矿节点
    • 带挖矿功能的全节点。
    • 转账交易发生后由所有节点共同广播至全网,挖矿节点验证该交易正确后会记录至区块链账本。
  • 因为不需要全节点也可以进行比特币转账,所以比特币全节点个数只占全部节点数的一小部分。
  • https://bitnodes.earn.com/ Node Counter是一个分析型的网站,跟踪整个比特币节点。

4、挖矿三部曲:记录、打包、挂链

http://img.kongyixueyuan.com/1010_%E8%8A%82%E7%82%B9%E5%88%86%E5%B8%83.png

##4. 比特币与区块链的关系

1、区块链是比特币的底层技术,比特币是区块链的第一个应用。

2、比特币是钱的话,区块链就是账本,是记录比特币转账记录的。但是区块链不单单是比特币独有,除了数字货币外,区块链将在其他应用领域有更多用武之地。

3、中本聪在其比特币白皮书里面其实并没有提到过区块链(blockchain)这个名词,但是提到了两个概念block和chain。直到2014年金融机构开始重视比特币的底层支撑技术,于是区块链这个概念才被正式确认。

4、区块链并不是新技术,而是一系列技术的集成。包括非对称加密技术、时间戳、共识机制等。几乎所有的技术在比特币出现之前就已经存在了,但是在比特币之前,这些技术都没有产生如此巨大的影响力,所以说比特币是区块链技术的第一个成功的应用。要想学习区块链技术,比特币是绕不开的东西。然而区块链,却并不仅仅是比特币。

5、比特币是世界公认的第一条区块链,也是目前世界上最强壮最安全的区块链。

● 比特币被称为第一代区块链的代表,主要的应用方向是加密数字货币;

● 以太坊称之为第二代区块链,以太坊不仅有自己的加密数字货币(以太币),更主要是一个区块链开发平台,主要的应用方向是开发智能合约和DApp开发;

● 超级账本是第三代区块链,跟加密数字货币没有关系,是面向企业的分布式账本平台,引入了权限管理。

##5. Block和BlockChain

5.1 BlockChain的本质?

区块链的本质是什么?一句话,它是是一个多方参与、共同维护、持续增长的分布式数据库,也称为分布式共享账本。

首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。

其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。

最后,所有节点共同维护一条不断增长的链,只能添加记录,记录不可删除、不可篡改;

5.2 区块链的最大特点

区块链没有管理员,它是彻底无中心的。

其他的数据库都有管理员,但是区块链没有。如果有人想对区块链添加审核,也实现不了,因为它的设计目标就是防止出现居于中心地位的管理当局。

正是因为无法管理,区块链才能做到无法被控制。否则一旦大公司大集团控制了管理权,他们就会控制整个平台,其他使用者就都必须听命于他们了。

但是,没有了管理员,人人都可以往里面写入数据,怎么才能保证数据是可信的呢?需要了解区块的设计思想。

  • 以比特币为例,区块链通过时间戳和工作量证明机制,解决了双花和拜占庭将军问题。这就保证了同一笔比特币不可能被花费两次,并且在这整个去中心化的区块链网络中,可以让节点保持一致性。
  • 非对称加密机制保证私钥的安全性,时间戳保证区块按顺序链接成链,工作量证明机制解决了在去中心化系统中如何公平地分发比特币的问题。
  • 区块链具有匿名性、去中心化、公开透明、不可篡改等特点。所以区块链被誉为制造信用的机器,实现机器信任;。
  • 区块链本质上解决了信任和价值传递。这种强信任背书的情况下,任何人没有能力,也没有必要质疑数据的质量和真实性。

5.3 Hash

这里,你需要理解什么叫 Hash,这是理解区块链必需的。

hash是一种算法, 是将文本转换成具有相同长度的,不可逆的杂凑字符串散列(很多资料也叫指纹或叫消息摘要Message Digest)。本身词义"切碎,剁碎"。

hash算法的特点:

  • 能将任意长度的二进制值(明文)映射为较短的固定长度二进制值(Hash值)
  • 不同的明文很难映射为相同的Hash值
  • hash算法最大的特点就是不可逆。

HASH主要用于信息安全领域中加密算法,它把一些不同长度的信息转化成杂乱的128位的编码,叫做HASH值. 也可以说,hash就是找到一种数据内容和数据存放地址之间的映射关系。

安全散列算法SHA:

安全散列算法SHA(Secure Hash Algorithm)是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散列函数,包括 SHA-1、SHA-224、SHA-256、SHA-384 和 SHA-512 等变体。主要适用于数字签名标准(DigitalSignature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。SHA-1已经不是那么安全了,google和微软都已经弃用这个加密算法。为此,我们使用热门的比特币使用过的算法SHA-256作为实例。其它SHA算法,也可以按照这种模式进行使用。

所以, Hash 就是计算机可以对任意内容,计算出一个长度相同的特征值。区块链的 Hash 长度是256位,这就是说,不管原始内容是什么,最后都会计算出一个256位的二进制数字。而且可以保证,只要原始内容不同,对应的 Hash 一定是不同的。

举例来说,字符串123的 Hash 是a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(十六进制),转成二进制就是256位,而且只有123能得到这个 Hash。

因此,就有两个重要的推论。

推论1:每个区块的 Hash 都是不一样的,可以通过 Hash 标识区块。

推论2:如果区块的内容变了,它的 Hash 一定会改变。

我们可以通过下面这个网址,进行hash,block,blockchain等等演示。。

https://anders.com/blockchain/hash.html

不同内容,生成的hash也不相同。

http://img.kongyixueyuan.com/1011_hash.gif

5.4 区块链

区块链由一个个区块(block)组成。区块很像数据库的记录,每次写入数据,就是创建一个区块。

http://img.kongyixueyuan.com/1001_block.jpeg

每个区块包含两个部分:

【区块头(Head)】记录当前区块的元信息。

【区块体(Body)】实际数据。

区块头包含了当前区块的多项元信息。

1、生成时间

2、实际数据(即区块体)的 Hash

3、上一个区块的 Hash

4、等等。。

接下来我们演示一个挖掘新块的过程:

http://img.kongyixueyuan.com/1012_block.gif

产生区块链的过程:

http://img.kongyixueyuan.com/1013_blockchain.gif

5.5 区块链的不可修改性

区块与 Hash 是一一对应的,每个区块的 Hash 都是针对”区块头”(Head)计算的。

Hash = SHA256(区块头)

上面就是区块 Hash 的计算公式,Hash 由区块头唯一决定,SHA256是区块链的 Hash 算法。

前面说过,区块头包含很多内容,其中有当前区块体的 Hash(注意是”区块体”的 Hash,而不是整个区块),还有上一个区块的 Hash。这意味着,如果当前区块的内容变了,或者上一个区块的 Hash 变了,一定会引起当前区块的 Hash 改变。

这一点对区块链有重大意义。如果有人修改了一个区块,该区块的 Hash 就变了。为了让后面的区块还能连到它,该人必须同时修改后面所有的区块,否则被改掉的区块就脱离区块链了。由于后面要提到的原因,Hash 的计算很耗时,同时修改多个区块几乎不可能发生,除非有人掌握了全网51%以上的计算能力。

正是通过这种联动机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。这就像历史一样,发生了就是发生了,从此再无法改变。

每个区块都连着上一个区块,这也是”区块链”这个名字的由来。

5.6 采矿和难度系数

由于必须保证节点之间的同步,所以新区块的添加速度不能太快。试想一下,你刚刚同步了一个区块,准备基于它生成下一个区块,但这时别的节点又有新区块生成,你不得不放弃做了一半的计算,再次去同步。因为每个区块的后面,只能跟着一个区块,你永远只能在最新区块的后面,生成下一个区块。所以,你别无选择,一听到信号,就必须立刻同步。

所以,区块链的发明者中本聪(这是假名,真实身份至今未知)故意让添加新区块,变得很困难。他的设计是,平均每10分钟,全网才能生成一个新区块,一小时也就六个。

这种产出速度不是通过命令达成的,而是故意设置了海量的计算。也就是说,只有通过极其大量的计算,才能得到当前区块的有效 Hash,从而把新区块添加到区块链。由于计算量太大,所以快不起来。

这个过程就叫做采矿(mining),因为计算有效 Hash 的难度,好比在全世界的沙子里面,找到一粒符合条件的沙子。计算 Hash 的机器就叫做矿机,操作矿机的人就叫做矿工。

难度系数

你可能会有一个疑问,人们都说采矿很难,可是采矿不就是用计算机算出一个 Hash 吗,这正是计算机的强项啊,怎么会变得很难,迟迟算不出来呢?

原来不是任意一个 Hash 都可以,只有满足条件的 Hash 才会被区块链接受。这个条件特别苛刻,使得绝大部分 Hash 都不满足要求,必须重算。

原来,区块头包含一个难度系数(difficulty),这个值决定了计算 Hash 的难度。举例来说,第516532个区块的难度系数是 3,511,060,552,899.72。

http://img.kongyixueyuan.com/1004_%E9%9A%BE%E5%BA%A6%E7%B3%BB%E6%95%B0.png

区块链协议规定,使用一个常量除以难度系数,可以得到目标值(target)。显然,难度系数越大,目标值就越小。

Hash 的有效性跟目标值密切相关,只有小于目标值的 Hash 才是有效的,否则 Hash 无效,必须重算。由于目标值非常小,Hash 小于该值的机会极其渺茫,可能计算10亿次,才算中一次。这就是采矿如此之慢的根本原因。

区块头里面还有一个 Nonce 值,记录了 Hash 重算的次数。第 516532 个区块的 Nonce 值是2099127697,即计算了 20.99 亿次,才得到了一个有效的 Hash,该区块才能加入区块链。

难度系数的调整:

就算采矿很难,但也没法保证,正好十分钟产出一个区块,有时一分钟就算出来了,有时几个小时可能也没结果。总体来看,随着硬件设备的提升,以及矿机的数量增长,计算速度一定会越来越快。

为了将产出速率恒定在十分钟,中本聪还设计了难度系数的动态调节机制。他规定,难度系数每两周(2016个区块)调整一次。如果这两周里面,区块的平均生成速度是9分钟,就意味着比法定速度快了10%,因此难度系数就要调高10%;如果平均生成速度是11分钟,就意味着比法定速度慢了10%,因此难度系数就要调低10%。

难度系数越调越高(目标值越来越小),导致了采矿越来越难。

##6. 国内外区块链的知名项目

国外区块链的知名项目

1、EverLedger

  • Everledger成立于2015年,总部位于伦敦,致力于将区块链与机器视觉、物联网、人工智能等技术结合起来,为珠宝提供一站式的追踪及鉴定平台。
  • 世上没有两颗钻石是完全一样的,所以Everledger的软件通过瑞士的一种特殊设备,测量成钻上40个点的数据来生成一个钻石的“数字指纹”,再将信息上链。所有的钻石都有真实的流通记录,保证所有钻石都有自己的来源信息;
  • 目前,已有200多万颗钻石在Everledger的区块链平台上通过认证。

2、Monegraph

  • 区块链——知识产权保护的利器
  • Monegraph使艺术家们从菜单中选择出售、授权、转售以及合成音乐的权利,并允许他们自己确定价格。对于买家们,平台允许他们不通过经纪人就能放心了解到艺术品的信息及艺术家归属,且这些信息都可以通过区块链技术得到证实。
  • 星际文件系统 IPFS

3、GemHealth

用区块链存储医疗记录和数据。

国内区块链的知名项目

1、迅雷链克

  • 前身为“玩客币”,2017年8月,玩客云正式发布,标志着区块链技术加入了共享计算。借助区块链技术,迅雷给通过玩客云智能硬件分享带宽、存储和计算能力等闲置资源的用户发放“链克”,建立公平、透明的奖励机制,激励普通个人参与到数据资源的分享和交换中来。

2、人人坊

  • RRCoin是基于区块链和智能合约技术,针对社交网络激励机制和消费行为制定出来的数字加密虚拟货币。应用于直播、商业推广、社交游戏、钱包应用等场景中。用户、PGC、OGC、开发人员、广告主、平台方等均可在系统内获得或支付RRCoin。

3、网易招财猫

  • 宠物游戏与区块链
  • 网易招财猫限量发售“招财猫”,目前5000金币/只,每个人限购2只。

4、阿里巴巴电商与区块链

  • 内容:2017年3月24日,阿里巴巴与普华永道达成合作,用区块链打造透明、可追溯的跨境食品供应链,搭建更安全的食品市场。目前,蚂蚁金服旗下支付宝已经将区块链技术用在慈善公益,捐助者每一笔款项的资金明细都会在区块链。

5、腾讯黄金红包

  • 黄金红包,应用区块链技术进行数字资产的并行记账,提升了内部多个系统空间对账效率,并从底层保护用户资产安全。

6、小米营销数据链

7、京东:区块链全程溯源。

8、YOYOW:(you own your own words)内容生产领域进行贡献定价和权益回报平台

9、GCS游戏链(Game Chain System)

10、Kcash数字资产钱包:获得数千万元融资。

11、其它:消除中介信用问题。数字货币领域是区块链最好的应用之一;此外在支付领域,区块链技术可以消除第三方而直接点对点支付,而且使支付更安全。溯源的特性可以监管洗钱等违法活动。区块链可以在征信、版权、公证、证券、资产管理等领域逐渐得到应用。

##7. 区块链相关的应用及公司

1、公证防伪:公证通(factom)、Monegraph、Stampery、Bitproof、Uproov、Chronicled、Blockai;

2、智能合约:彩色币(coloredcoin)、闪电网络(lightning­network)、侧链(sidechain)、Tendermint、Chronicled、SuperNET、Blocknet、Tezos、Openchain、Crypti、Rubix、MultiChain、超级账本(hyperledger)、The DAO(the­dao)、WAVES、Synereo、WINGS、cyber miles;

3、物联网:ADEPT、Filament、Tilepay、Slock.it(slock­it);

4、身份验证:BlockScore、Shocard、LaunchKey、BitNation;

5、预测市场:Augur、Truthcoin、Futarchy;

6、资产交易:比原链(bytom)、量子链(qtum)、Medici、SETL、Symbiont、DAH、SETL、小蚁(antshares)、SWARM、Koinify、Lighthouse、Safe Cash(safe­cash)、t0、Linq、Colu、元界(metaverse)、瑞资链金融(reitschain)、公信宝(gxb)、OpenLedger;

7、电子商务:OpenBazaar、Eris、BitXBay、Bitmarkets、Skuchain、Purse;

8、社交通讯:Gems、Codius、比特信(bitmessage)、Twister、Clucker、Diaspora;

9、文件存储:MaidSafe、Enigma、Filecoin、公证通(factom)、Storj、Tau、Dfinity、Bit Cloud、IPFS、Mediachain;

10、数据API:Coinalytics、Blocktrail、BlockCypher、TradeBlock、Scorechain、Gem;

11、其它:Tierion、Safe Cash(safe­cash)、bitwage、Crypti、IPFS、DECENT、亿书(ebookchain)、好扑区块链(hoopox)、Energo、天算(delphy);

12、银行结算:R3CEV、Corda;

13、区块链金融:iCube;

14、操作系统:亦来云(elastos);

##8. 区块链的不足

实际上区块链作为一种新兴技术,价值固然存在,但也显现出了一些劣势。

1、效率低。数据写入区块链,最少要等待十分钟,所有节点都同步数据,则需要更多的时间。拿比特币举例,当前产生的交易有效性受网络传输影响,比特币交易每次的确实时间大约10分钟,6次确认的话需要一个小时。因此区块链的交易数据是有延迟性的。

2、存储数据量少。每个区块只有1至8M。保存数据量有限,如果扩容,则数据同步太费劲。

3、能耗,区块的生成需要矿工进行无数无意义的计算,这是非常耗费能源的。英国一家电力信息网POWER-COMPARE提供的预测数据显示,按照目前比特币挖矿、交易耗电量的增长速度,至2020年比特币耗电量将会与目前全球用电量持平。尽管这一数据备受质疑,但是那些藏在深山老林的“矿场”则实实在在展现了这门生意的耗能景象。

4、区块链的去中心、自治化的特点淡化了国家监管的概念。在监管无法触达的情况下一些,市场的逐利等特性会导致区块链技术应用于非法领域,为黑色产业提供了庇护所。

5、数字货币丢失。区块链技术实现了第一次将资产的所有权、控制权完全交给我们每个人自己受伤,但完整的权利,对应了自己保管资产安全的完整责任。以太坊钱包客户端geth因运行不安全,出现过以太币被盗;除人为盗币风险,用户自身钱包使用不当造成的损失也常有发生。

  • 备份遗失。区块链钱包与传统银行不同,不会因为提供了手机号、身份证等证明自己个人身份的资料就可以找回资产。如果丢失了助记词备份,那么任何人也无法包住找回资产。
  • 不恰当地传输助记词备份。通过截图保存助记词,然后放到网盘、邮箱、通过微信或QQ发送,这些都是大忌。这些操作常常会导致助记词泄露而丢失资产。

6、去中心化应用DApp存在缺点

  • 更新或者修改bug困难,网络中的每个节点都需要更新其节点软件;
  • 验证用户身份变得困难,没有中心化的机构来验证用户身份KYC;
  • 创建去中心化应用困难:不能仅仅实现一个想法,然后不断添加功能,使其规模扩大。而必须从最开始就自行创建并扩大规模,否则分布式记账存储、多节点安全性(51%攻击)就无从谈起;
  • DApp不能依赖中心化应用API,但是可以依赖其他DApp。而目前DApp生态圈太小,所以创建起来困难;
  • DApp无法做到完全去中心化。

##6. 总结

区块链作为无人管理的分布式数据库,从2009年开始已经运行了8年,没有出现大的问题。这证明它是可行的。

但是,为了保证数据的可靠性,区块链也有自己的代价。一是效率,数据写入区块链,最少要等待十分钟,所有节点都同步数据,则需要更多的时间;二是能耗,区块的生成需要矿工进行无数无意义的计算,这是非常耗费能源的。

区块链按准入机制分三类:公有链、联盟链、私有链

1、公有链:公开透明,开放生态的交易网络。自由加入和退出。世界上任何个体或团队都可以在公有链发送交易,且交易能获得该区块链有效确认。每个人都可以竞争记账权。公有链可以为行业链和私有链提供全球交易网络。典型代表:比特币、以太坊。

2、联盟链:半封闭生态的交易网络,存在对等的不信任节点。通说授权加入和退出。是某个群里或组织内部使用的区块链,需要预先指定几个节点为记账人。每个区块的生成由所有预选记账人共同决定,其他节点可以交易,但是没有记账权。如房地产行业A、B、C、D公司。3、私有链:完全封闭生态的存储网络,仅仅采用区块链技术进行记账,但是所有节点都是可信任的。记账权并不公开,且只记录内部的交易,由公司或个人独享。如某大型集团内部多数公司。

接下来的章节,我们就实现一个简易版的比特币项目。

如果大家感兴趣可以下载比特币源代码:https://github.com/bitcoin/bitcoin

未经授权禁止转载、改编,转载请注明出处!

本文由 区块链技术网 作者:区块链 发表,其版权均为 区块链技术网 所有,文章内容系作者个人观点,不代表 区块链技术网 对观点赞同或支持。如需转载,请注明文章来源。

还有没有比特币?你也太OUT了
注册OKEx交易所 快速购买比特币  

发表评论