首页 > 区块链博客 > 【区块链课堂】第16课:比特币区块链如何运作?

【区块链课堂】第16课:比特币区块链如何运作?

2018-05-04 19:50:00 阅读量:

全文摘要:

比特币网络从2009年1月开始至今,在没有专人维护的情况下已经平稳运行7年多,期间没有出现一次宕机,下图以Bob接收来自Alice的比特币的场景,详细描述了比特币区块链的工作方式,一并解释了涉及到的钱包和地址(Walletsand Addresses)、私钥和公钥(Private Key and Public Key)、加密哈

比特币网络从2009年1月开始至今,在没有专人维护的情况下已经平稳运行7年多,期间没有出现一次宕机,下图以Bob接收来自Alice的比特币的场景,详细描述了比特币区块链的工作方式,一并解释了涉及到的钱包和地址(Walletsand Addresses)、私钥和公钥(Private Key and Public Key)、加密哈希(CryptographicHashes)、随机数(Nonces)等概念。

1. Bob和Alice的电脑上都有比特币钱包。

2. 钱包是一种文件,可以让用户访问多个比特币地址。

3. 一个地址是一串由字母和数字组成的字符串。

4.每一个地址都有自己的比特币余额。

5. Bob创建一个新的比特币地址,用于接收Alice的付款。

6.当Bob创建一个新地址时,他真正在做的是生成一个密钥对,由一个私钥和一个公钥组成。如果你使用私钥(只有你知道)对一个消息进行签名,它可以被对应的公钥(所有人都知道)所验证。Bob的新地址代表一个唯一的公钥,对应的私钥则保存在他的钱包里,公钥允许所有人来验证被私钥签名的消息的有效性。

7.可以将地址看做银行账号,但工作方式稍有不同。比特币用户可以任意创建多个地址,并且被鼓励为每一个新的交易单独创建新地址,以增强隐私性。只要没有人知道哪些地址是Alice的,她的匿名就受到保护。提交一个支付:

8. Alice告诉她的比特币客户端,她要向Bob的收款地址转账。

9.Alice的钱包里有她的每一个比特币地址的私钥。比特币客户端用Alice此次使用的付款地址的私钥,对她的这一交易申请进行签名。

10.此时,网络上的任何人都可以使用公钥来验证,这个交易申请实际来自一个合法的账户所有者。

11. Gary、Garth和Glenn都是比特币矿工。

12. 他们的电脑将过去约10分钟内的交易打包成一个新的交易区块。

13.矿工的电脑被设置用于计算加密哈希(Cryptographic Hash)函数。

14.加密哈希函数将一个数据集转换成特定长度的包含字母和数字的字符串,称为哈希值。源数据的细微改变会彻底改变哈希值的结果。并且基本不可能预测初始的数据集将会产生的特定哈希值。

15.为相同的数据创建不同的哈希值,比特币使用随机数来实现。随机数是在进行哈希计算之前,在数据中添加的随机数字。改变这个随机数会产生极不相同的哈希值。

16.每一个新的哈希值包含关于此前所有比特币交易的信息。

17. 矿工的电脑基于前一个区块的哈希值、新交易区块和随机数,来计算新的哈希值。

18.创建哈希在计算上微不足道,但比特币系统要求新的哈希值拥有特定格式——必须以特定数量的0作为开始。

19. 矿工无法预测哪个随机数会产生以要求的数量的0作为开始的哈希值,所以他们被迫用不同的随机数创建很多哈希,直到获得有效的那一个。

20.每一个区块都包含一个名为coinbase的初始交易,这是给胜出矿工的50比特币的支付(见注1)——在这个例子中是矿工Gary。Gray的钱包里生成了一个新地址,里面的余额是新挖到的比特币数量。

21.随着时间流逝,Alice向Bob的转账被埋在了其它更近期的交易下面。任何人要想修改历史交易的细节,就必须重做一遍Gary的工作,然后再重做所有下一级矿工的工作,因为所有的改变都需要一个完全不同的胜出随机数,这样的操作几乎不可能成功。

注1

在比特币发行的阶段1,每一个区块的coinbase支付给胜出矿工的新币是50个。从2009年1月3日创世区块诞生开始,新比特币的发行大约每4年减半,2012年11月28日,阶段2开始,每一个区块包含的新币减为25个,这是历史上第一次减半;预计今年7月11日,挖矿奖励会再次减半;直到第33次减半时,每一个区块从产生0.0021个新币直接减为0个,比特币的总量固定在将近2100万个。

来源:币乎


上一篇:【热搜热说】 为何以太坊大涨?摩根大通、微软、英特尔联合成立的“企业以太坊联盟”归来,公布最新线路图
下一篇:【空投资讯】6月15日,Chaince通证—CET免费领!

微信

微信

微信

微信