主页 > www.token.im > 用于区块链学习的比特币 (六)

用于区块链学习的比特币 (六)

www.token.im 2023-01-17 19:38:01

比特币网络中的矿工越多,系统就越稳定,比特币的价值就越高,但挖矿的概率会降低。相反,网络中矿工的减少会使系统更容易受到攻击,比特币的价值会降低,但挖矿的概率会增加。

共识机制

传统的共识问题往往在相对封闭的分布式系统中考虑,让正常节点和故障节点都能快速达成共识

比特币提出了一种基于工作量证明(Pow)的共识机制:一种基于概率的共识,随着时间的推移逐渐加强确认。现有结果理论上是可以推翻的,但攻击者的成本随着时间的推移呈指数级增长,而推翻的可能性呈指数级下降。

提高可用性:考虑到互联网的规模,达成共识需要相对较长的时间,因此根据区块(一组交易)进行定期确认(快照),从而提高网络的整体可用性.

减少提案数量:限制网络中共识的噪音,通过大量的哈希计算和少数合法结果来限制合法提案的数量,进一步提高网络中共识的稳定性。

挖矿的基本原理

挖矿是节点参与维护比特币网络,并通过协助生成新区块获得一定数量新比特币的过程。

挖矿过程

具体流程:参与者结合上一个区块的哈希值,生成上一个区块后新的验证交易内容,再加上自己猜测的随机数X一起打包成一个候选新区块,这样哈希值新区块的数量小于比特币网络中的给定数量。

系统会根据上一周期的挖矿时间每两周调整一次挖矿难度(通过调整限制大小),出块时间稳定在10分钟左右。为避免震动,每次调整最大幅度为4次。

如何看待挖矿

当单个矿工达到全网算力的1/3时,比特币网络就有被破坏的风险;当它达到 1/2 的计算能力时,就可能控制整个网络。但要实现这么大的算力,需要付出巨大的经济成本。没有什么好的方法可以避免尽可能多地将计算能力交到同一组织手中。这是由当前的 Pow 机制本身造成的。

挖比特币原理_比特币运行基本原理_比特币原理详解

共识机制

比特币区块链采用PoW机制来达成共识。 PoW 试图改进 PoS 和 DPoS。原则仍然是通过经济惩罚来限制恶意参与。

工作证明

工作量证明(Pow)通过计算猜测一个值(nonce),使得拼凑交易数据后的内容哈希值满足线上规定。由于 Hash 拼图在当前的计算模型下需要大量的计算比特币运行基本原理,这就保证了在一段时间内只有少数合法的提案可以出现在系统中。反之,能够提出联合提案,也证明提案人确实付出了一定的努力。

股权证明

Proof of Stake:类似于现实生活中的股东机制,持股较多的人更有可能获得记账权(也更倾向于维护网络的正常工作)。 )

典型流程:通过保证金(代币、资产、声誉等具有价值属性的物品)下注合法区块成为新区块,收益为抵押资金服务费的利息和交易。提供的保证金越多(例如通过转移货币记录)作为证明,获得记账权的可能性就越大。合法的簿记员获得报酬。

PoS 试图解决 PoW 浪费大量资源的缺点,受到广泛关注。恶意参与者将面临押金被没收的风险,即丧失经济利益。

一般情况下,PoS需要掌握全网1/3以上的资源才能影响最终结果。

闪电网络

比特币的一大劣势是交易性能:全网交易速度约为每秒7笔交易,远低于传统金融交易系统;同时,等待 6 笔交易区块的可信确认,最终确认时间约为 1 小时。为了提高性能,提出了闪电网络等创新设计

比特币原理详解_挖比特币原理_比特币运行基本原理

闪电网络:大量交易放在比特币区块链之外,只有关键环节放在链上进行确认。

闪电网络主要通过引入智能合约的思想来完善链下交易渠道。有两个核心思想:

RSMC

RSMC 是“可撤销的顺序到期合约”。主要原理类似于资金池机制。

基本流程:首先,假设双方之间存在“小额支付通道”(资金池)。交易双方首先将部分资金预存入“小额支付通道”。最初,双方的分配计划等于预存金额。每次发生交易时,都需要共同确认交易后产生的资金分配结果,同时签署作废旧版本的分配方案。当任何一方需要提取现金时,可以将双方在其手中签署的交易结果写入区块链网络,以进行确认。

优点:RSMC的整个流程在提现时只需要经过区块链,可以实现大量发生在链外的中间交易。

HTLC

小额支付通道是通过HTLC实现的,中文意思是“哈希时钟合约”。这实际上是一个限时转移。

基本流程:双方通过智能合约约定,转账方将冻结一笔款项并提供哈希值。如果有人可以在一定时间内提出一个字符串,使其哈希值与已知值相匹配(实际上就是转让方授权接收方提款),那么钱就转给了接收方

闪电网络概念

RSMC 保证两个人之间的直接交易可以在链下完成,HTLC 保证任何两个人之间的转账可以通过“支付”渠道完成。闪电网络集成器有两种机制,因此任何两个人之间的交易都可以在链下完成。

挖比特币原理_比特币运行基本原理_比特币原理详解

在整个交易过程中,智能合约扮演着重要的中介角色,区块链网络确保最终交易结果得到确认。

侧链

侧链协议:允许资产在比特币区块链和其他区块链之间转移。简单来说,比特币区块链作为主链,其他区块链作为侧链。两者双向联动,实现比特币从主链转移到侧链进行流通。 (实现了比特币区块链的扩展)

SPV 证明

在比特币系统中验证交易时,会涉及到交易合法性检查、双花检查、脚本检查等。由于验证过程需要完整的UTXO记录比特币运行基本原理,因此通常由运行全功能点的矿工完成。很多情况下,用户只关心那些与自己相关的交易,只想知道这笔交易是否合法,是否已经在区块链中存在足够长的时间(也就是让足够多的人去),而不会需要成为一个完整的节点才能做到这一点。完整性验证。

Simplified Payment Verfication (SPV):可以判断一笔支付交易是否经过验证(存在于区块链中),以及以较小的成本保护了多少算力。 SPV客户端只需下载所有区块的去块头,并进行简单的定位计算工作即可验证结论。

在侧链协议中,SPV用于证明区块链中已经发生了某动作,称为SPV证明。 SPV证明由两部分组成:

双向挂钩

侧链协议的设计难点是如何让资产在主链和侧链之间安全流动。

具体来说,该协议使用双向挂钩机制将比特币转移和返回到侧链。主链和侧链需要对彼此的具体交易进行SPV验证。流程如下:

clipboard.png

挖比特币原理_比特币原理详解_比特币运行基本原理

热点问题设计中的权衡

比特币的设计目标是支持一套安全、开放、分布式的数字货币系统。比特币协议的设计围绕一个目标进行了许多权衡:

分叉

当需要修复bug、扩展功能或调整结构时,比特币需要在全网的配合下进行升级。升级通常涉及更改交易的数据结构或区块的数据结构。

分布在世界各地的节点不可能同时完成升级遵循新协议,因此升级过程中可能会出现分叉。网络中升级的点称为新点,未升级的节点称为老节点。根据新旧节点兼容性的不同,可以分为软分叉和硬分叉:

硬分叉比软分叉更难升级区块链协议,但软分叉能做的事情有限,大的改变只能通过硬分叉来完成。

交易延展性

交易延展性:是比特币的设计缺陷,即交易发起者签署交易后,交易ID仍有可能发生变化。

可扩展性攻击会带来一些问题:

可扩展性之战

比特币区块大小现在不到1MB,交易量已经不能满足交易需求。已经提出了一系列关于比特币的提案:链上扩容提案、使用侧链或闪电网络扩容比特币等。

比特币原理详解_比特币运行基本原理_挖比特币原理

扩大规模有两个主要建议:

比特币监管与追踪

比特币的匿名性质使得监控其交易非常困难。

但是通过分析大量公开的交易记录,大概率可以追踪到比特币的实际转移路径,甚至可以追踪到真实用户

相关工具客户端

比特币客户端用于与比特币网络进行交互,也可以参与网络的维护。

客户端分为三种:

钱包

比特币钱包可以存储和保护用户的私钥,并提供查询比特币余额、发送和接收比特币等功能。

根据私钥存储方式的不同,钱包分为以下几种:

矿工

比特币矿机是专门为“挖矿”而设计的硬件设备,目前主要包括基于GPU和ASIC芯片的专用矿机。

总结

clipboard.png