一篇文章带你彻底搞懂·比特币的相关知识

 🌕写在前面 


  • 🍊博客主页:kikoking的江湖背景
  • 🎉欢迎关注🔎点赞👍收藏⭐️留言📝
  • 🌟本文由 kikokingzz 原创,CSDN首发!
  • 📆首发时间:🌹2021年1月12日🌹
  • 🆕最新更新时间:🎄2021年1月12日🎄
  • ✉️坚持和努力一定能换来诗与远方!
  • 🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢感谢感谢!

目录

 🌕写在前面 

🔥1.基本知识

🍊1.1 区块

🍊1.2 区块高度

🔥2.货币的发展阶段

🍊2.1 以物易物

🍊2.2 实物货币

🍊2.3 纸币

🍊2.4 中心化记账货币

🍊2.5 比特币诞生

🔥3.比特币的钱包、私钥和签名

🍊3.1 比特币的所有权确立

🍊3.2 公钥与私钥

🍊3.3 钱包

🍓钱包定义

🍓冷钱包 

🍓热钱包 

🍊3.4 交易

🍇UTXO

 📜例1

🍇公钥脚本

🍇多方签名

🔥4.非对称加密算法

🍊4.1 为什么要使用非对称加密?

🍊4.2 什么是非对称加密?

🍊4.3 非对称加密的工作原理

🍊4.4 非对称加密的应用

🍓比特币的所有权

🍓交易验证

🍊4.5 椭圆曲线算法

🔥5.如何避免记假账? 

🔥6.哈希运算与难以篡改 

🍊6.1 哈希算法

🍊6.2 哈希算法的特征

🍓1.单向性

🍓2.可以根据任意长度的消息计算出固定长度的散列

🍓3.不同的输入就有不同的输出

🍓4.四是算法效率高

🍊6.3 典型的哈希算法

🍊6.4 哈希函数的特性

🍊6.5 哈希指针

🍓区块链和普通链表的区别

🍓哈希指针与区块链的关系

🍊6.6 Merkle树

🍓什么是Merkle树呢?

🍓Merkle树的作用

🍓Merkle树的特点

🔥7.双花问题与UTXO

🍊7.1 双花问题

🍊7.2 如何避免双花问题?

🍓传统电子支付

🍓比特币系统

🍊7.3 UTXO机制

🍓UTXO的概念

🍓比特币与UTXO的关系

🍓比特币交易的规则

🔥8.共识机制

🍊8.1 什么是共识?

🍓达成共识的主体

🍓对什么达成一致

🍊8.2 什么是共识算法?

🍊8.3 比特币的共识算法——PoW

🍓PoW如何证明你的工作量呢?

🍓为什么不采用过程导向的共识机制?

🍓PoW的特征:不对称性

🔥9. (51%攻击)

🍊9.1 算力

🍊9.2 区块链转账的基本原理

🍊9.3 51%攻击

📜典型案例

🍊9.4 什么时候才会发生51%攻击呢?

🍓某个矿池的算力过大

🍓有无限的资本

🍊9.5 51%攻击悖论


🔥1.基本知识


🍊1.1 区块

区块是一种容器数据结构,这种数据结构被包含在公开账簿里,聚合了交易信息;而这个公开账簿是区块链;区块是构成区块链的基本单元,由区块头区块体构成。


🍊1.2 区块高度

区块高度是用来标识一个区块在区块链中位置的一个概念。

🍓为什么区块高度不能唯一标识一个区块?

因为在同一时间,有可能存在两个或两个以上的区块,他们相对于整条区块链来说,处于平等的位置,所以他们有着相同的区块高度。

✨✨✨我是分割线✨✨✨ 

🔥2.货币的发展阶段



🍊2.1 以物易物

以物易物的方式需要满足双重偶然性,举个例子来说就是我这恰好有一袋苹果,对方那刚好也有一袋面粉,同时我们彼此需要对方的东西,这时候才可以进行交换。


🍊2.2 实物货币

此时我们通过贝壳或者一些金银来作为等价物作为中介来交换,此时就不需要像之前的以物换物那样满足双重偶然性了;但是由于实物容易磨损、不易携带、数量有限等缺点进而发展出了纸币


🍊2.3 纸币

现在我们生活中的一张红色的毛爷爷制作成本其实很低,但是却可以用它购买价值100元的商品,这是因为国家的信用在背书,让人们相信一文不值的货币具有100元的购买力

“信用背书”意思是信用担保。比如用公司的信誉作为你的“信用背书”,意思就是我公司担保你为可信之人,可以与他建立业务。


🍊2.4 中心化记账货币

移动电子支付的实质为记账货币,是通过银行、第三方支付机构、央行负责记账的,而央行具有整个国家大账本的记账权,本质上就是一种中心化的记账方式。无论是使用微信或者支付宝,我们都不得不完全信任第三方,因为我们的钱存储在他们这仅显示为数字,假如第三方数据遭受到篡改,我们的财产就会遭受到损失。


🍊2.5 比特币诞生

为解决此问题,则必须要有一套独立的电子货币体系:于是乎比特币诞生了!

中本聪在《一种点对点的电子现金支付系统》中提到:

为了满足比特币的要求,区块链技术应运而生了,或者说比特币是区块链兴起的源头,是区块链最早、最成功的应用。

✨✨✨我是分割线✨✨✨

🔥3.比特币的钱包、私钥和签名


🍊3.1 比特币的所有权确立

比特币的所有权是通过私钥和地址来确立的。

·地址类似于一个银行账户的账号,要想给一个人转比特币,只要知道他的比特币地址就可以了。

·私钥的作用主要是给交易来签名,用来证明这笔交易是由你发起的,别人收到这笔交易,通过验证签名就可以确认交易中涉及的资金是合法的。


🍊3.2 公钥与私钥

比特币采用的就是非对称密码体制

公钥加密发明于20世纪70年代,自从公钥加密被发明之后,一些不可逆的数学函数被提出,就是说只能向一个方向计算,但不可以向相反方向倒推。

在比特币中,公钥用于接收比特币私钥用于生成其对应地址上支付比特币所必需的签名,以唯一确定这些比特币的所有权。具体到比特币地址的生成,其实是先产生私钥,私钥通过椭圆曲线算法这种不可逆的函数来产生公钥,公钥经过一系列不可逆的运算再来产生地址。


🍊3.3 钱包

从上述内容我们可以知道,私钥持有者才是比特币的拥有者,那么私钥放在哪里呢?

钱包是私钥的容器,是密钥的管理工具,它只包含密钥而不是确切的某一个代币。一个比特币钱包中包含一系列的密钥对,每个密钥对包括一个私钥和一个公钥。


🍓钱包定义

​wallet.dat文件其实是用我们自己设置的密码加密过的,登录钱包软件时,需要用户输入密码来对文件进行解密得到真正的私钥,这时私钥存在钱包程序的内存中,当我们需要发起一笔交易时,钱包软件去内存中获取这一私钥来对交易进行签名操作。

🍓冷钱包 

🍓热钱包 


🍊3.4 交易

比特币交易就是:从一个比特币钱包向另一个中转账,每笔交易都有数字签名来保证安全。一个交易一旦发生那么就是对所有人都公开的每个交易的历史可以最终追溯到相应的比特币最初被挖出来的那个点。用户用钱包中的私钥来签名交易,从而证明他们拥有交易的输出,也就是其中的比特币。

·比特币是以交易输出的形式储存在区块链中的。

比特币并不存在于任何地方,即使是硬盘上。持有比特币其实是拥有特定比特币的地址,但是其实所谓的币并不是直接就存在于这个地址中的,地址就相当于你的银行账户。世界上没有一个可以摸得着的实物,或者是一个数据文件,可以被叫做 “比特币” 的。有的只是各个地址之间的转账记录,余额时增时减。所有的交易都存放在一个非常大的账本文件中,这个文件叫做“区块链”。如果想知道一个比特币地址中的余额,那么这个不是直接存放在比特币地址中的,我们需要到区块链中去计算出来。


🍇UTXO

第一笔矿工挖矿的收入交易通常被称为Coinbase,它没有输入,所以交易输入的哈希总是被标记为0000...0000;其他任何一个交易输入都会唯一追溯到区块链上在本区块之前的某个交易哈希以及索引。通过交易哈希和索引,即可唯一确定一个未花费的交易输出——UTXO。这样,每一个交易输入都和之前的某个交易输出关联了起来。

对于Bob来说,他有来自Alice的30个BTC输入,但是有0输出,则可以计算出Bob的UTXO=20+10=30


 📜例1

Q1:请写出Alice和Bob交易时产生的“输入”中的信息,及Bob的UTXO值

Q2:请写出Bob与Tom和Jimmy交易时产生的“输入”中的信息,及Bob的UTXO值

A1:其中记录了最初Alice拥有这些币是从哪个地址转给她的;此时Bob的UTXO=10+20=30

A2:由上述交易过程中的信息可知,在Bob与Tom、Jimmy的交易过程中一共输出了25BTC,由于Bob与Alice的单笔交易中:10BTC与20BTC无法单独满足,因此在与Tom和Jimmy的交易信息的输入:应当包含Alice向Bob的两笔交易所包含的所有信息;此时Bob的UTXO=30-20-5=5


🍇公钥脚本

从上述的例子中我们不难发现,

  • 116
    点赞
  • 277
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 72
    评论
评论 72
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kikokingzz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值