主页 > 怎样下载imtoken > 阅读笔记-《通俗易懂的比特币工作机制详解》

阅读笔记-《通俗易懂的比特币工作机制详解》

怎样下载imtoken 2023-03-20 07:34:43

1.比特币运行机制概述

账本(块)

掌握核心概念是学习任何学科的关键。

区块、区块链、交易顺序、比特币、交易是比特币系统中的重要概念。

比特币区块链可以被视为世界上唯一的账本。

一个区块可以被认为是账本中的一个页面。

交易单是页面上的交易记录。

只要清楚地记住分类帐收支,就不需要单独的货币进行交易。就像现在的刷卡支付,或者支付宝、微信支付一样,不需要现金。

节点上的比特币系统会临时记录10分钟内的交易(存储在内存中),然后用这些交易创建一个区块

比特币的起源

比特币是货币,账本上记录的钱,最初的钱是从哪里来的?在商品货币时代,多少黄金才能赚多少钱。在信用货币时代,当政府打开印钞机时,就会有钱。在比特币世界中,最初的货币是“谁创建账本(区块),谁就给谁钱”,一石二鸟,既激励了别人创建账本,也解决了比特币的问题。创建一个区块并奖励 50 个比特币。请注意,没有独立的货币,只有数字。 “50”记录在交易单中。

旷工挖矿除了新的币种奖励外,还有交易费比特币怎么运行的,也称为旷工费。

交易

假设张三给李四转了10个币,张三用比特币交易软件把10个币转给李四的地址,那么区块中的交易列表会是这样的:

张三的资金来源(如王二)

王二在基金上的签名

李斯的账号

数量 10 个硬币

张三的签名

在比特币世界中,每个用户都由一串数字表示,可以查明任何交易的来源和目的地,但不知道现实中对应的是谁

比特币世界中的钱基本上是创造区块奖励的钱。

每个人有 3 种资金来源:创建块奖励、旷工费和其他转给你

2.安全机制

中心化机构发行的信用货币存在诸多弊端,而银行等中介机构提供的金融服务也存在诸多不便和高成本。如果通货膨胀不再膨胀比特币怎么运行的,如果可以像发送电子邮件一样进行直接交易,这表明世界会变得更好。

去中心化交易的前提是安全,否则一切都不可能。

想象一下,张三给李四转了10块钱的场景。要进行安全交易,需要满足以下条件:钱确实是张三支付的;张三有10块钱(类似于生活中的钱是真的,不是假的);张三没有把这10块钱给别人(生活中的纸币没有这个问题,因为给一个人就不能给另一个人,这是数字货币特有的问题)

SHA-256 是一个哈希函数,输入可以是任意长度的字符串,输出是固定的 256 位长度的字符串。 2^256 是一个非常大的数字,比地球上所有的沙粒都多。

256bit,32Byte,64位十六进制数

数字签名

签名者有一个只有他知道密码的密钥(私钥),可以对任何信息进行签名。签名者向他人发布公钥(公钥),公钥可以用私钥解密。加密信息。如果在解密之前就知道加密后的明文,那么如果解密后的内容与明文一致,就可以证明签名确实是私钥的拥有者,私钥的拥有者不能否认。

解决方案是否有人为此付费

交易单据的签署和验证

签名:

A像B一样支付,构建交易订单T;

交易单T上有B的“公钥”(这里加了引号,表示不是公钥,而是公钥的哈希值),还有交易单的数据来自源A 的资金;

使用B的公钥和之前的交易得到一个哈希值h

A用私钥对哈希值h签名得到s,签名信息保存在交易单中

身份验证:

B得到交易订单T后,从之前的交易订单中得到A的公钥,解密签名s得到x

B用自己的公钥和之前的交易数据进行哈希运算,得到哈希值y

如果x等于y,就证明交易订单确实是A签名的,A不能否认,因为全世界只有A有能力做这个签名,因为这个私钥是不会得到的其他人。

如果有足够的钱可以解决

由于资金来源索引到之前的交易顺序,所以资金来源的交易顺序回溯,直到证明钱来自挖矿奖励

解决重复付款问题

禁止重复支付是比特币技术要解决的核心问题。其核心是在P2P网络体系下,创建一套全球统一且唯一的顺序交易记录。

3.建立全球统一交易记录的P2P解决方案

没有统一交易记录的账本是没有意义的(账簿数据不一致)。生活中这样一个统一的交易记录的账本是由中心节点来保证的。在P2P网络中怎么做?

统一交易记录的核心数据包括每笔交易的内容和每笔交易的先后顺序。

如果确定了交易顺序,就可以解决双花问题(double-spending)。已经支付的钱不能再支付了。

确定账本与账本之间关系的机制采用时间戳机制(TimeStamps),它使用一定的算法来固定区块的顺序,并记录并可以验证。

比特币使用前一个区块的哈希值存储在下一个区块中。

比特币解决了交易的时间问题,防止作弊者被破坏。它基于算法安全,而不是基于信任、法律、中心化、强制、惩罚等手段。

比特币工作量证明算法的图片描述

1、获取在这个世界上已经创建的账本链中最后一个账本,将本账本的内容作为数据,计算一个哈希值

2、继续接收在这个世界上广播的、尚未放入账本链的交易列表。检查这些交易订单(根据交易订单链信息和支付信息),剔除不合理的(如账户余额不足支付)。

3、猜一个幸运的随机数n(例如从0到999999....)

4、将步骤1-3得到的数据整理到数据缓冲区中,发送到sha256,得到一个256bit的哈希值x

5、检查整数x,前几位(如96bit)是否全为0?如果是这样,这个 x 是否符合“工作证明难度”的条件?如果匹配,那么“工作量证明”游戏就结束了!

6,如果没有,则从步骤2开始重复。假设此时收到另一个节点发送的新账本数据块。符合要求的随机数没有被猜到,需要重新开始游戏。

得到幸运随机数n,工作量证明结束。工作量证明的目的是证明节点的诚实性。为了获得记账权,区块被放置在最长链的末端。

获得记账权并不能保证打包后的区块会被添加到最长的链中。如果你打包的交易列表有问题,其他节点也同时得到幸运随机数怎么办。

创建区块的过程:

1.通过工作量证明获取记账权

2.包块,全网广播

3.重复付款检测。其他节点对接收到的区块中的交易订单进行重复支持检测,并根据创建的世界账本链中的交易订单一一查找,判断该临时账本中的所有交易订单以及该临时账本中已发生的所有交易。世界。从未出现在 .如果检测到交易订单有效,节点会将收到的账本临时附加到本地备份的世界账本链的末端

4.区块链分支判断。新创建的临时账本在全网广播。一个节点收到多个区块后,会在本地维护的账本上建立一个分支,然后节点在收到账本后继续进行工作量证明工作。当节点收到最长的工作链账本时,它将丢弃较短的分支。切换到处理最长的链。

创建账簿的过程,即检查交易订单的正确性和顺序的过程,以及保存交易订单的过程。同时也是创造比特币的过程。创建账本的机制是比特币的核心。

交易确认流程:

1.交易订单全网广播

2.挖矿节点收集所有新的有效交易订单并放入新区块

3.节点根据新区块数据和前一个区块的哈希值计算出一个随机数(工作证明)

4.工作量证明成功,区块打包,全网广播

5.其他节点验证新区块的有效性

6.验证成功,正式链接到区块链的末端,在这个区块继续创建新的账本

交易列表被打包到区块中并链接到区块链的末端,然后链接6个账本以确认交易成功。因为要推翻6个街区几乎是不可能的。这确保了比特币系统是不可逆的,不能被篡改。

看完

本文通过易于理解的示例解释了比特币区块链的工作原理。看完之后,对比特币区块链有了更深入的了解。

但是,本文没有仔细解释技术细节,更多技术实现细节在“掌握比特币”中有所描述。