这篇具有很好参考价值的文章主要介绍了比特币和区块链笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。
Bitcoin |
第一个完全分布式的p2p的数字加密货币
完全分布式 |
没有中心的访问节点,没有任何信用系统 |
P2p |
点对点,网络发行 |
|
比特币价值 |
由挖矿难度决定 |
原理 |
怎么工作的 |
钱包 |
软件—记录着目为止所有比特币的交易—能管理私钥,生成比特币地址—发送、接受、存储比特币 |
私钥 |
独有 一般256位的随机数 可以类比为银行卡密码 |
公钥 |
由私钥生成的 公钥私钥并非一一对应 类似银行卡账号 可以看到余额 |
比特币地址 |
由公钥产生 第一位是1 由于接收比特币 |
|
![比特币和区块链笔记,区块链](https://imgs.yssmx.com/Uploads/2023/12/753288-1.png) ![比特币和区块链笔记,区块链](https://imgs.yssmx.com/Uploads/2023/12/753288-2.png) 加密复杂,验证简单 |
交易过程 |
只有jack能收到btc |
因为bob用jack的公钥加密信息以及bob自己的数字签名 |
生成交易后会全网广播 |
每个人都能收到这个信息但是只有jack能解密,因为是用他的公钥加密的 |
其他人记录这笔交易 |
生成区块 |
|
|
区块 |
|
记录网络的交易信息 |
每个区块就是一个账本 |
大小<=1MB |
|
产生大概在10min |
|
每个区块大概记录4000条交易 |
|
区块链 |
记录比特币交易信息,就是一个账本 |
|
区块头 |
保证区块加密性 |
![比特币和区块链笔记,区块链](https://imgs.yssmx.com/Uploads/2023/12/753288-3.png) trans就是交易记录 |
区块难度 |
保证区块生成;决定挖矿难度 |
Nonce |
Merkle root的关键参数 |
Merkel root |
根据区块的所有交易记录生成的哈希值,保证区块的难度在一定区间内, |
|
Merkel tree |
![比特币和区块链笔记,区块链](https://imgs.yssmx.com/Uploads/2023/12/753288-4.png) 最底层子节点是交易信息 每一个交易的信息都不允许被篡改 哈希函数:输入可以是0~无限位,输出都是一个256位的数——原始文件中任何改动会导致生成值的巨大差别 |
Pros of Merkel tree |
![比特币和区块链笔记,区块链](https://imgs.yssmx.com/Uploads/2023/12/753288-5.png) 只保存头部,因为头部有哈希值 分布式账本,大家都保留了账本,防止篡改——如果一个人想篡改,需要改变所有人的账本
节点 |
在分布式账本中,节点是网络中参与维护账本的设备或计算机。每个节点都运行着账本的一个副本,并通过共识算法与其他节点进行通信和协作。节点可以是个人计算机、服务器或其他网络设备。它们相互之间通过网络进行连接,并共同构成了分布式账本的网络。 |
区块 |
区块是分布式账本中的数据结构,用于存储一系列交易和相关的元数据。每个区块包含一个头部和一组交易记录。头部通常包含区块的哈希值、时间戳、前一个区块的哈希值以及其他元数据。 |
每年发布比特币恒定,保证了信用 |
怎么产生一个区块 |
实际就是在不断记录交易 |
一个交易产生会向全网进行广播,当所有的矿工收到这条广播后会把所有的交易存入自己当前区块中,当存入交易信息足够多,会为当前交易信息生成一个Merkel root,若难度系数也已满足目标,将该区块向全网进行广播,大家验证难度系数,若认可工作量,大家会把矿工产生的该区块加入到自己本地的区块中去,所有人接着该区块完成下一个区块。一条交易若被六个区块都确认就很难被篡改。【后续有六个区块】
广播交易 |
|
区块生成和验证 |
矿工节点会将收集到的交易信息打包成一个区块,并为该区块生成一个 Merkle Root。此外,矿工还需要通过解决一个复杂的数学难题,即工作量证明(Proof-of-Work)来满足难度系数要求。这个过程被称为挖矿。一旦矿工找到了符合难度系数的解,他们会将该区块广播到比特币网络中。 |
区块验证和认可 |
当其他节点收到新的区块广播时,它们会验证区块的有效性和符合规则。这个过程包括验证区块中的交易、验证工作量证明和检查区块的结构。如果区块通过验证,其他节点会接受该区块,并将其添加到自己的本地区块链中。这样,区块链将会延长,形成共识。 |
|
在比特币网络中,当其他节点接收到新的交易时,它们会验证交易的有效性,并将其加入到自己的内存池(也称为交易池)中。内存池是一个存储待处理交易的临时区域,其中包含其他节点广播的交易。 交易池的作用是为矿工节点提供交易选择的范围。当矿工准备挖掘新的区块时,它们从内存池中选择一些交易进行打包,形成新的区块。然后,这个新的区块被广播到网络中的其他节点。 在广播区块时,矿工节点通常只广播区块的头部信息和交易的摘要(例如,默克尔树的根)。其他节点接收到区块后,会验证区块的完整性,包括验证区块中的所有交易。如果验证通过,那么它们会将这个区块存储在本地的区块链中,并从内存池中移除相应的交易。
|
|
区块链和挖矿怎么联系起来? |
挖矿 |
生成区块的过程【产生哈希值的过程】 |
难度系数 |
区块上记录账本信息,记录完账本信息要为每个区块生成哈希值,计算哈希值就是在不断付出算力,如果算出的Merkel root满足difficulty target也就是难度系数,大家就认为这个区块是有效的,产生有效区块会得到一定的奖励。
|
工作量证明 |
为了生成一个有效的区块,矿工节点需要进行工作量证明,即通过解决一个复杂的数学难题来找到符合难度目标(difficulty target)的区块头部的哈希值。这个数学难题通常是计算区块头部哈希的哈希值(也称为区块哈希),并将其与难度目标进行比较。 难度目标是一个固定的数值,它决定了挖矿的难度。矿工需要使用大量的计算能力来尝试不同的哈希值,直到找到一个满足难度目标的哈希值。这需要不断地尝试不同的随机数(称为Nonce),直到找到一个合适的哈希值。 |
btc供应恒定 |
![比特币和区块链笔记,区块链](https://imgs.yssmx.com/Uploads/2023/12/753288-6.png) |
每四年减半 |
![比特币和区块链笔记,区块链](https://imgs.yssmx.com/Uploads/2023/12/753288-7.png) |
难度 |
哈系数的本质是一个穷举算法,产生一个随机数 |
本质上难度系数不断变小,增加穷举次数, |
|
|
信用 |
|
分布式系统 |
独立的验证机制 |
|
所有的交易信息被记录在全网 |
|
|
Proof of work |
nonce是算哈希值的依据,可以不断修改 |
分叉 |
|
同时多个符合要求的区块 |
如何选择 |
选择较长的链,认为付出越多的算力的链越可靠 |
|
|
|
|
区块链 |
智能合约 |
|
公有链 |
|
私有链文章来源:https://www.toymoban.com/news/detail-753288.html |
一般有一个中心节点,文章来源地址https://www.toymoban.com/news/detail-753288.html |
|
|
|
到了这里,关于比特币和区块链笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!