比特币和区块链笔记

这篇具有很好参考价值的文章主要介绍了比特币和区块链笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Bitcoin

第一个完全分布式的p2p的数字加密货币
 

完全分布式

没有中心的访问节点,没有任何信用系统

P2p

点对点,网络发行

比特币价值

由挖矿难度决定

原理

怎么工作的

钱包

软件—记录着目为止所有比特币的交易—能管理私钥,生成比特币地址—发送、接受、存储比特币

私钥

独有
一般256位的随机数
可以类比为银行卡密码

公钥

由私钥生成的
公钥私钥并非一一对应
类似银行卡账号
可以看到余额

比特币地址

由公钥产生
第一位是1
由于接收比特币

比特币和区块链笔记,区块链

比特币和区块链笔记,区块链

加密复杂,验证简单

交易过程

只有jack能收到btc

因为bob用jack的公钥加密信息以及bob自己的数字签名

生成交易后会全网广播

每个人都能收到这个信息但是只有jack能解密,因为是用他的公钥加密的

其他人记录这笔交易

生成区块

区块

记录网络的交易信息

每个区块就是一个账本

大小<=1MB

产生大概在10min

每个区块大概记录4000条交易

区块链

记录比特币交易信息,就是一个账本

区块头

保证区块加密性

比特币和区块链笔记,区块链

trans就是交易记录

区块难度

保证区块生成;决定挖矿难度

Nonce

Merkle root的关键参数

Merkel root

根据区块的所有交易记录生成的哈希值,保证区块的难度在一定区间内,

Merkel tree

比特币和区块链笔记,区块链

最底层子节点是交易信息

每一个交易的信息都不允许被篡改

哈希函数:输入可以是0~无限位,输出都是一个256位的数——原始文件中任何改动会导致生成值的巨大差别

Pros of Merkel tree

比特币和区块链笔记,区块链

只保存头部,因为头部有哈希值
分布式账本,大家都保留了账本,防止篡改——如果一个人想篡改,需要改变所有人的账本

节点

在分布式账本中,节点是网络中参与维护账本的设备或计算机。每个节点都运行着账本的一个副本,并通过共识算法与其他节点进行通信和协作。节点可以是个人计算机、服务器或其他网络设备。它们相互之间通过网络进行连接,并共同构成了分布式账本的网络。

区块

区块是分布式账本中的数据结构,用于存储一系列交易和相关的元数据。每个区块包含一个头部和一组交易记录。头部通常包含区块的哈希值、时间戳、前一个区块的哈希值以及其他元数据。

每年发布比特币恒定,保证了信用

怎么产生一个区块

实际就是在不断记录交易

一个交易产生会向全网进行广播,当所有的矿工收到这条广播后会把所有的交易存入自己当前区块中,当存入交易信息足够多,会为当前交易信息生成一个Merkel root,若难度系数也已满足目标,将该区块向全网进行广播,大家验证难度系数,若认可工作量,大家会把矿工产生的该区块加入到自己本地的区块中去,所有人接着该区块完成下一个区块。一条交易若被六个区块都确认就很难被篡改。【后续有六个区块】

广播交易

区块生成和验证

矿工节点会将收集到的交易信息打包成一个区块,并为该区块生成一个 Merkle Root。此外,矿工还需要通过解决一个复杂的数学难题,即工作量证明(Proof-of-Work)来满足难度系数要求。这个过程被称为挖矿。一旦矿工找到了符合难度系数的解,他们会将该区块广播到比特币网络中。

区块验证和认可

当其他节点收到新的区块广播时,它们会验证区块的有效性和符合规则。这个过程包括验证区块中的交易、验证工作量证明和检查区块的结构。如果区块通过验证,其他节点会接受该区块,并将其添加到自己的本地区块链中。这样,区块链将会延长,形成共识。

在比特币网络中,当其他节点接收到新的交易时,它们会验证交易的有效性,并将其加入到自己的内存池(也称为交易池)中。内存池是一个存储待处理交易的临时区域,其中包含其他节点广播的交易。

交易池的作用是为矿工节点提供交易选择的范围。当矿工准备挖掘新的区块时,它们从内存池中选择一些交易进行打包,形成新的区块。然后,这个新的区块被广播到网络中的其他节点。

在广播区块时,矿工节点通常只广播区块的头部信息和交易的摘要(例如,默克尔树的根)。其他节点接收到区块后,会验证区块的完整性,包括验证区块中的所有交易。如果验证通过,那么它们会将这个区块存储在本地的区块链中,并从内存池中移除相应的交易。
 

交易池

 

验证

 

区块链和挖矿怎么联系起来?

挖矿

 生成区块的过程【产生哈希值的过程】

难度系数

区块上记录账本信息,记录完账本信息要为每个区块生成哈希值,计算哈希值就是在不断付出算力,如果算出的Merkel root满足difficulty target也就是难度系数,大家就认为这个区块是有效的,产生有效区块会得到一定的奖励。
 

难度系数

控制大概每10min生成6个区块

工作量证明

为了生成一个有效的区块,矿工节点需要进行工作量证明,即通过解决一个复杂的数学难题来找到符合难度目标(difficulty target)的区块头部的哈希值。这个数学难题通常是计算区块头部哈希的哈希值(也称为区块哈希),并将其与难度目标进行比较。

难度目标是一个固定的数值,它决定了挖矿的难度。矿工需要使用大量的计算能力来尝试不同的哈希值,直到找到一个满足难度目标的哈希值。这需要不断地尝试不同的随机数(称为Nonce),直到找到一个合适的哈希值。

btc供应恒定

比特币和区块链笔记,区块链

每四年减半

比特币和区块链笔记,区块链

难度

哈系数的本质是一个穷举算法,产生一个随机数

本质上难度系数不断变小,增加穷举次数,

信用

 

分布式系统

独立的验证机制

 

所有的交易信息被记录在全网

 

Proof of work

nonce是算哈希值的依据,可以不断修改

分叉

 

同时多个符合要求的区块

如何选择

选择较长的链,认为付出越多的算力的链越可靠

区块链

智能合约

公有链

私有链

一般有一个中心节点,文章来源地址https://www.toymoban.com/news/detail-753288.html

到了这里,关于比特币和区块链笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 什么是区块链?区块链技术和比特币背后的故事

    作者:禅与计算机程序设计艺术 区块链是一种分布式的、去中心化的、非国家级的计算机网络技术,它是一个开放的系统,任何人都可以在不受任何约束的情况下进行去信任的数据交易和共识。它的应用场景包括数字货币,数字身份,金融交易,游戏领域,基于区块链的智慧

    2024年02月08日
    浏览(31)
  • 比特币如何运作?区块链、网络、交易

    免责声明:观点来自原文作者,与本人无关,文章仅供参考学习,请自行辨别真伪,切勿跟风,风险自担。 翻译原文:https://www.blockpit.io/blog/how-does-bitcoin-work 比特币是一种革命性的数字货币,由化名中本聪的匿名人士或团体于 2008 年发明。它是世界上第一个加密货币,负责将

    2024年03月24日
    浏览(36)
  • 浅谈区块链1.0-比特币

    1. 比特币解决的问题 高度自治:国际经济危机 无国界贸易:不同国家进行的贸易或者不同平台进行贸易  不可窜改:例如银行交易可能会被窜改数据  隐私安全:传统汇款方式会暴露你的个人信息,一旦数据库被别人入侵,那么你的所有信息将会被泄露 2.  去中心化模型  

    2024年02月02日
    浏览(39)
  • 区块链工作原理(区块链治理系统、比特币、以太坊、智能合约)

    每个国家或者城市都有自己的一套治理系统来创建、更新和执行法律。区块链也都有自己的治理系统。总的来说,区块链治理可分为两类: On-Chain Governance Off-Chain Governance 链上治理是一个管理和实施加密货币区块链变化的系统。在这种类型的治理中,制定变化的规则被编码到

    2024年02月02日
    浏览(42)
  • 比特币,区块链及相关概念简介(三)

    以下内容结合了chatgpt 3.5以及网络文章。 用于学习记录。 简介: 什么是区块链,区块链关键特点,区块链的存储,区块链相关的工作;区块链网络节点,区块链网络相关,区块链和Rust,区块链新技术,区块链相关网站等。 区块链是一种 分布式数据库技术 ,用于记录交易数

    2024年03月19日
    浏览(39)
  • 区块链实战:用python编写最简单的比特币区块链本地测试框架

    比特币本身并不是特别复杂,中本聪的白皮书只有十页左右。 可从该链接下载(有各种语言版本):Bitcoin: A Peer-to-Peer Electronic Cash System 但是,真正投入使用的比特币系统实际上非常复杂,包含诸多因素,涉及诸多细节,甚至对一个手续费机制研究几天还云里雾里。 如何有效地

    2024年02月05日
    浏览(31)
  • 区块链学习三——比特币的数据结构

    文章内容来源于北京大学肖臻老师《区块链技术与应用》公开课 普通的指针存储的是结构体在内存中的起始地址 哈希指针除了存储起始地址还存储该结构体的哈希值 根据哈希值可以检测出该结构体是否被篡改。 由一个一个区块组成的链表 Q:区块链使用的链表与普通链表的

    2024年02月08日
    浏览(32)
  • 区块链系统探索之路:比特币核心的编译和探索

    前几节我们研究了椭圆曲线,有限域等比特币和区块链所依赖的底层算法。问题在于这些算法不是独立存在,而是作为模块嵌入到整个区块链的体系之中。因此不了解区块链的体系组成或应用场景,那么我们就很难理解这些算法衍生出来的概念或者基于他们的作用,所以本节

    2024年02月16日
    浏览(33)
  • 比特币&区块链之父中本聪身份之谜

    随着区块链技术在全球范围内引发了一场金融与科技领域的深刻变革,比特币的缔造者——中本聪(Satoshi Nakamoto)的身份始终是萦绕在这个领域内最为神秘且引人入胜的话题之一。这位创造出首个去中心化数字货币系统的先驱,以其深刻的密码学理解、卓越的技术创新能力以

    2024年03月23日
    浏览(38)
  • 区块链学习Day06(PoW在比特币中的实现)

    https://githun/bitcoin/bitcion bitcoin0-15.1 源码中区块头和区块定义: 用C++写的,不是GO 我们用GO模仿源码去写的, bitcoin0-15.1 源码中Pow算法实现 用挖矿算法形成新的区块 bitcoin0-15.1 源码中计算挖矿难度的实现 以上代码了解即可

    2024年01月23日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包