主页 > imtoken快速下载 > 比特币区块链核心技术详解

比特币区块链核心技术详解

imtoken快速下载 2023-02-20 05:42:55

区块链的出现主要解决了传统中心化网络部署方式带来的诸多问题,包括:

1)交易不公开比特币三大核心技术,中心节点掌握分布式节点信息,子节点不掌握其他节点信息;

2)系统安全取决于中心节点的安全,中心节点存在道德风险,大数据可用于数据变现,存在隐私泄露风险;

3)系统的风险随着网络的扩大而增加;

区块链源自比特币,采用分布式部署P2P网络和同步更新来解决上述问题:

1) 分布式方面:

1)分布式方面:

p>

区块链的每个节点都掌握着每个节点的信息。信息可以匿名,但交易是公开的,系统中的交易审批取决于所有节点的共识原则。这些规则对所有节点都是公平且强制性的。因此,随着网络规模的扩大,系统的风险降低;

2) 同步更新:

因为每个节点都有过去所有交易的历史记录,并且每隔10分钟由交易所组成的相邻区块之间存在逻辑嵌套关系,所以随着时间的推移,交易数量会增加,并且每个节点的同步更新链变得更长,更难被篡改。

比特币完成了区块链“从0到1”的诞生,比特币领域简单的区块链交易流程:

比特币核心钱包中文版_比特币交易技术_比特币三大核心技术

1)事务定义

公钥密码学。比特币区块链 PKC 目前为每个网络参与者提供了两个密钥,一个是其他用户知道的公钥(相当于用户的用户名),一个是只有用户知道的私钥(相当于用户的密码)。 ),任何拥有您的公钥的参与者都可以向您发送只有您可以阅读的加密消息。

使用私钥,发件人可以对加密邮件进行数字签名,以向收件人证明发件人就是您。 KPC采用椭圆非对称加密技术,安全性强。

如何发送比特币?示例:A 向比特币区块链网络发送一条或多条消息,A 在消息中指定发送方和接收方地址。对于每个收件人地址,A 指定发送的比特币数量。

A 使用私钥对消息中的消息进行数字签名,以证明接收者的身份。信息发送完毕后,A等待比特币区块链网络对信息进行验证确认。

2)单节点交易验证

A的交易信息发送后,当比特币区块链网络中任意节点上的机器收到该信息后,开始做如下处理:

检查机器本身是否处理过交易(判断交易的唯一性);检查交易涉及的地址是否合法有效;检查数字签名以确保原始发件人是输入地址。有效所有者;检查发件人的比特币是否已在其他地方花费;检查发送方的比特币金额是否至少与接收方预先收到的比特币金额相同(输入>输出,任何不同的差异就是手续费)。

如果以上检查没有问题,节点会将交易标记为有效,并将其包含在“未确认交易”列表中。

然后将信息广播到网络中的其他节点,网络中的节点开始通过节点共识验证交易并在网络中广播。进行单点验证的矿工可以获得一小部分比特币作为奖励。

3)加入区块并创建区块

交易经过挖矿节点验证,验证成功后加入区块。每个节点必须正确地为这十分钟内的每笔交易打上时间戳,并记录在最新的区块中,这样每个区块就包含了过去十分钟内的所有交易。

比特币三大核心技术_比特币交易技术_比特币核心钱包中文版

4)节点共识验证

每个矿工节点需要解决SHA256算法,在过去十分钟内争夺区块的合法记账权,争取获得12.5比特币奖励(这个数额基本每四年减半) ,到目前为止已经开采了超过 1600 万个比特币)。

如果一个矿工节点解决了十分钟SHA256问题,它将向全网公布该十分钟区块中记录的所有带时间戳的交易,由全网其他矿工节点检查。

5)块成链

全网其他矿工节点检查区块记账的正确性(因为他们也是时间戳记账,但是对合法的区块记账权没有竞争,所以没有奖励),如果没有错误,他们将争夺合法区块之后的下一个区块,从而形成合法的记账区块链,即比特币支付系统的账本——区块链。

一般来说,每笔交易都要经过六次区块确认,也就是六次十分钟,一共需要60分钟,才能最终被确认为区块链上的合法交易。

比特币区块链本身就是一个全球分布式数据库。最大的特点是没有中央管理员,所以不能被单方控制。同时可以实现交易传输数据的可靠性。

网络节点(nodes)是矿工,负责承载网络传输任务,负责交易验证和信息记录存储。

个人用户、商家等可以通过钱包和交易所介入比特币区块链网络,但不涉及区块链上的交易验证和记录存储。

区块链的核心技术之一:数字加密

比特币的所有权由数字密钥、比特币地址和数字签名确认。比特币钱包里只有钥匙。不含比特币。

因为每笔交易都需要一个有效的签名来处理和存储,所以拥有密钥就相当于拥有和控制账户中的比特币。

比特币三大核心技术_比特币核心钱包中文版_比特币交易技术

公钥和私钥以一对一的形式出现。公钥相当于用户名,私钥相当于密码,私钥是随机生成的数字。公钥由不可逆椭圆曲线运算加密函数计算得出。公钥通过哈希函数计算得到比特币地址,可以公开共享。

区块链第二核心技术:P2P网络

具有去中心化、抗攻击、辅助传输、弹性强等特点。

区块链第三核心技术:区块链

挖矿过程(1/2)

挖矿由矿工类节点共同参与。由于需要保证节点之间的同步,所以添加新区块的速度不能太快。

由于每个区块只能跟一个区块,矿工只能在最新区块之后生成下一个区块。

所以如果区块添加速度过快,就会出现一个区块刚刚同步,准备基于它生成下一个区块,其他节点产生新区块的情况。因此,比特币区块链白皮书协议中的设置,故意让添加新区块变得更加困难——平均每10分钟,全网可以生成一个新区块。

需要注意的是,这个输出速度并不是白皮书规定的,而是通过大量计算获得有效哈希的前提,从而控制10分钟左右的出块时间。

目标:

比特币核心钱包中文版_比特币三大核心技术_比特币交易技术

解密过程是每个矿工在区块头中包含的叠加内容(见“TheTarget”)。 Block Header”部分)基于一个随机数链(workload,ProofofWork),经过反复SHA256计算达到目标值。

矿工解密操作Hash的有效性与目标值密切相关,只有小于目标值的hash才有效,否则无效,必须重新计算。

每个区块头都包含一个难度系数,它决定了计算哈希的难度。区块链协议规定用一个常数除以难度系数。 (Target=TargetMax/Difficulty),可以得到目标值。难度系数越大,目标值越小。

随着全网算力的增加,难度系数迅速上升。比如第10000个区块难度系数为14,484.16,第504,000个区块难度系数已经上升到2,227,847,638,503.63。

为了保持输出速率恒定在十分钟,比特币区块链白皮书中设计了难度系数的动态调整机制。难度系数每两周调整一次(2016个区块)。

如果在2周内,平均出块速度为8分钟,意味着比法定速度快20%,那么难度系数应该提高20%;如果平均生成速度为 12 分钟,则表示比法定速度慢 20%,难度系数应降低 20%。

TheNonce:

随机数是只能使用一次的密码数。如果哈希值大于目标数,则需要选择一个随机值重新计算,直到找到小于或等于目标数的哈希值。

更具体、更直接地解释整个过程(3)挖矿过程(2/2)

MerkleRoot 是区块头中的 Hash 值,代表区块主体部分的所有交易。在比特币区块链中,每笔交易产生后,都会被哈希成一段代码,并广播到各个节点。

在每个节点的区块中,可能包含成百上千的交易。因此,为了节省存储空间,减少资源消耗,比特币区块链的设计原理采用了MerkleTree机制,让这成百上千笔交易的Hash值通过两种方式处理形成一个新的Hash两组中的值不断重复,直到产生最后一组Hash值,即MerkleTreeRoot。这个最终的 Hash 值会记录在 BlockHeader 中,大小只有 32 Bytes。

MerkleTree 机制可以大大减少数据传输量和计算资源的消耗。验证时,只需验证 MerkleTree 的 Root 值即可。

分叉和六度认证分叉:

比特币三大核心技术_比特币核心钱包中文版_比特币交易技术

p>

在区块链中,每个子块只有一个父块,但是当不同的矿工发现不同的块时(两个矿工同时求解SHA256算法并广播全网),一个父块的A情况暂时有很多子块的称为分叉。

在任何一个区块中,第一个区块都没有转账地址,也就是所谓的CoinBase(挖矿交易),没有人付给矿工这个钱,矿工只写他们已经获得了12.@ > 5 个比特币。

如果所有节点都同意矿工的话,如果你写的话,矿工将获得挖矿收益。不同矿工填块时,数据肯定不一样,因为每个矿工的第一项肯定不一样,矿工只会把挖矿收益转给自己。

例如,矿工 A 的 CoinBase 是“A got 12.5 个比特币”比特币三大核心技术,矿工 B 的 CoinBase 是“B got 12.5 个比特币”。

由于每个矿工的区块数据不同,解决问题得到的结果也不同。都是正确的答案,只是积木不同。

由于距离不同,不同的矿工依次看到这两个区块。通常,矿工会先复制他们看到的区块,然后在这个区块工作后开始新的挖矿。

从分叉的区块来看,由于不同的矿工追随不同的区块,所以两条不同的分叉链上的算力是有差异的,打个比方,就是追随两条链的矿工数量不同。

p>

因为解决问题的能力与矿工数量成正比,所以两条链的增长率也会不同。一段时间后,一条链总是比另一条长。

当矿工发现全网有一条更长的链时,他会放弃当前的链,复制所有新的更长的链,在这条链的基础上继续挖矿。所有矿工都这样做,该链成为主链,被废弃的分叉链消失。

最终,网络中只有一条链会被保留并成为真正的账本,其他所有子链都将失效。交易区块扩展的区块“长度”越长(包括计算能力越强),被网络中其他节点更改或拒绝的可能性就越小。一般来说,一笔交易需要经过 6 次确认才能最终被记录下来。下来,“六级”是比特币用户认可的最终确认级别。