数据结构论坛

首页 » 分类 » 定义 » 数字货币专题研究报告区块链应用比特币大众
TUhjnbcbe - 2025/2/22 11:29:00

(报告出品方/作者:开源证券,赵良毕)

1、比特币是基于P2P技术的电子现金系统

比特币白皮书对于比特币的定义是一种节点对节点的电子现金系统。从通俗的理解角度出发,比特币更像是一个全球大账本。这个大账本拥有三个特质:

(1)去中心化。

(2)“区块+链”的记账方式导致账本不易篡改。

(3)使用电子货币(比特币)来激励各节点参与“上链”。

比特币因其价格过山车般波动而备受瞩目。年1月3日,中本聪发明了比特币系统并挖掘出第一个区块,被称为“创世区块”,最初的50个比特币宣告问世,比特币自诞生之日起,经历了多次暴涨暴跌之后,其价格的变动犹如过山车一般。年1月,1个比特币还不值30美分,到了年6月9日,1个比特币的价格涨到了29.55美元,半年时间涨幅约为倍,此后由于比特币交易平台Mt.Gox遭受黑客攻击安全性受到质疑,到年11月,价格低至2美元。年12月,世界首家比特币交易所在法国诞生,比特币价格重新上涨至13.69美元。年12月,比特币价格升至美元,此后市场低迷,年8月跌至美元。年,随着比特币年产量开始收缩,美国大选、英国脱欧等事件影响比特币价格飞涨,突破至0美元。年,比特币全年涨跌幅高达%,最高价位高达美元,最低价格跌至美元。年,受纽交所母公司ICE旗下的数字通证期货交易所BakktBTC月度期货成交量不及预期影响,比特币低至美元。此后随着众多投资机构、投资人入局,比特币供应减半(每4年减少一半)等因素刺激,价格上涨至60美元。

1.1、比特币交易流程就是交易记录编码到区块,区块上链

“交易记录”编成“区块”,区块上到“链条”。假设A用户(地址)向B用户(地址)汇款,则A与B的信息会形成一个交易记录。节点会根据自己的策略和记录中的手续费选取不同的记录,在验证电子签名为真后将各汇款信息哈希成一个比特长度的字符串。然后根据区块的大小(比特币区块至多是2MB,比特币现金一个区块最多是8MB),节点会把相应的字符串整合到一个区块上,采用默克尔树根(将各交易记录的哈希值俩俩哈希处理,哈希处理之后再将其哈希值与其他哈希值再次进行哈希运算)结构得出该区块的哈希值。最后节点算出Nonce值,率先算出Nonce值的节点在被其他节点验证后便可以将这自己的区块添加到主链条上“总账本”。

1.1.1、比特币钱包是一个存储和管理用户密钥的数据结构

比特币的账本采用所谓的UTXO(UnspentTransactionOutput)模型,即交易记录本身形成账本而不是账户信息形成账本。传统的账户信息形成账本就是每个用户有一个账户,每个账户里有多少钱。A给B转账就是A账户减少钱,B账户增加钱。UTXO则是所有人的转账记录和每个比特币的所有前后流通信息都记录在“链”里,每个账户对应一个地址(对应一个公匙,通过一系列方程运算得出地址),一旦查询这个地址的“余额”,UTXO就会跟踪地址前后所有记录给予“余额”。而这个跟踪计算是由比特币钱包完成的。

广义上比特币钱包是一个应用程序,为用户提供交互界面。狭义上比特币钱包就是储存密匙的数据结构,里面核心就是私钥/公钥这些密钥链,比特币地址由钱包对公匙计算得出。用户用密钥来签名交易,从而证明他们拥有比特币。在比特币网络中,比特币的所有权是通过数字密钥、比特币地址和数字签名来确定的,而不是增加自己账户里的数字。钱包(密匙对,也就是比特串对)不需要储存在网络上,可以记录在任何地方。

市面上的不同钱包类型本质就是钱包额外加上一些功能或特性。冷/热钱包便是用保存地点来区分。冷钱包保存在本地,比如个人电脑,U盘甚至打印到纸上。热钱包便是多了一个保存在网站或者其他云平台上可同步的功能。全节点钱包就是多了在本地额外储存所有区块链的信息,而轻便钱包则是只保留自己相关的信息。中心化钱包就是依赖运行这个钱包的开发公司,储存在交易所里的钱包便是中心化钱包。

1.1.2、比特币上限2万个,记账权奖励由基础和手续费组成

比特币的新产出(类似于新货币的发行)来自获得记账权奖励里的CoinbaseGeneration(基础产出)。记账权奖励分为俩部分:

(1)CoinbaseGeneration:此方式为唯一获得新比特币的方式。每次获得记账权的节点在将区块上链时,可以获得这个基础奖励。年9月,基础奖励是50个比特币,每产生个区块,该项奖励就减半,又因为区块上链速度控制在一定范围(10分钟一个),所以换算下来会每4年减半。

(2)手续费总和:即该区块包含的转账的手续费总和。因此节点往往偏好手续费较高的交易记录。

比特币区块上链的速度尽量控制在10分钟一个:各节点靠参与竞赛获得记账权,随着参与方的算力变化,比特币解题难度也在动态调整,目标是控制在10分钟上一个区块,俩周产出=6*24*14=个区块,这也就是大家口头说的每个区块调整一次难度或者差不多俩周调控一次。比特币调控难度主要靠控制目标值前x位为0来调控难度。目前第个区块的难度约为25万亿,比特币下次的难度大约会调整到目标值前21位为0,或前84个比特为0。

1.2、去中心化便是所有节点参与记账,所有交易对所有节点透明可见

何为去中心化?所有节点参与记账,比特币的所有交易对所有节点均是透明可见。去中心网络并不是最近才有的概念,早在年4月7日,“RFC1”文档便提出了点对点(point-to-point)相关的网际网络架构。这个点对点网络的概念在年Napster(一款音乐共享服务)的运用中开始流行。国人接触到的BT下载(种子下载)便是基于点对点网络架构的概念所开发出的群对群(Peer-to-Peer)协议,比特洪流共享方案。国内其他的文件共享协议还有Gnutella,Chord和Pastry等。根据SatoshiNakamato在比特币白皮书的定义,比特币支付系统便是用户群对用户群交换信息(Peer-to-Peer交换信息)的互联网体系。目前比特币采用的P2P网络协议便是Gossip,而以太坊采用的是Kademlia。Gossip协议的概念出现于年ACM上的论文,该协议主要围绕流行病算法(Gossip,或称流言算法)去同步各个节点的数据。即一个节点状态发生变化后便会开始向周边节点发送消息,收到信息的节点又会再次向周边节点发送消息直到所有节点收到消息。流行病协议主要有俩种交互方式:反熵和谣言传播。反熵方式是随机抽取一定数量的节点,互相同步数据以此保证数据的最终一致性。但是此方式会导致网络消息数量增多,开销大。谣言传播方式是指节点接收到新信息之后一定时间内转播新信息,所以消息数量相比反熵则更少但是有小概率情况各节点信息无法达到一致性。

1.3、记账方式是将“转账记录”组合成“区块”,“区块”上“链条”

何为“区块+链”的记账方式?通俗的讲便是将“转账记录”组合成“区块”。而各“区块”组合成“链条”。

“转账记录”是指一个加密地址往另外一个加密地址发送比特币的过程。加密地址1CNFfXUet3NzeTxCzx1gmQyB9HTKRbc91E3PreLYveMy5y9gRwSjdNPSfCrjMSMnL汇款0.0050个比特币,其中0.个比特币为手续费。c01e2bae7e4ffd4ca6fcccdf02bdd4d2c4affe便是此笔交易的哈希码(通过一个不可逆的公式群,将此笔交易信息变成固定长度的字符串,SHA-产出-bit(32bytes)长度的产出)。

“区块”便是在把转账记录转换成哈希码后,将各转账记录归纳到一个“区块”里。区块的产生是由节点自主选择的,一般根据手续费的高低确认优先级。在年8月1日前,每个区块的限定大小是1MB,在该天硬分叉后比特币的区块大小最大2MB,比特币现金的区块大小容量最大为8MB。一般一个1MB的比特币区块包含0多笔交易。可以看出这个第区块于年5月27日14:19由代号ViaBTC的矿工/矿场抢先算出Nonce值获得了记账权。此区块包含了笔交易记录(交易哈希码)。该区块的默克尔树根为1ee17be5dad1c5aacffe1ffbbbf2ee2。此矿工/矿场因此获得了6.25个CoinbaseGeneration产生的比特币(基于比特币规则,现阶段对于该区块的基础奖励),和该区块所有的手续费的总和0.个比特币。此个板块的记账权收益结合当前比特币价格约为.63美元。当前区块的求解难度为25,,,,.27(约25万亿),相对应的是下一次难度调整求解要算出一个Nonce,使得目标值前21个为0。

“链条”是由各种已求解已验证的区块组成,相当于一本“书”。拥有记账权的节点将“区块”记到“链条”上相当于在全球“总账本”上加“一页”。

1.4、比特币采用工作证明(POW)来获酬,激励各方积极将区块“上链”

节点组织好区块后需要完成工作证明以获得记账权,即拥有将这个区块记到“总账本”的权利,以此来获得奖励。比特币采用的是工作证明(POW),即通过完成一道题来与其他节点获得共识。因为多数电子货币是基于公有链技术,即任何人都有权力参与记账。为了杜绝参与者恶意阻碍或者干扰整个区块链记账的一致性,每个时间点只有一个区块可以上链。而至于哪个区块上链则取决于共识算法。各个电子货币的共识算法不尽相同,比特币采用工作证明作为共识算法,即哪一个节点率先完成工作便拥有了记账权。比特币的共识算法便是求解Nonce值。率先算得Nonce值便可获得记账权,奖励CoinbaseGneration的基础奖励和这个区块所有手续费的奖励。

2、比特币依赖哈希算法、数字签名、共识算法等技术

2.1、哈希运算通俗的理解就是一堆公式用来产出对应比特串

哈希运算通俗的理解就是一堆运算公式:主要将信息转换成另外一个信息(散列值,哈希代码等)。这个过程往往会减少储存空间,提高以后信息交换的效率。比特币中的哈希函数特指加密哈希函数。加密哈希函数可以把输入的信息转换成固定长度的输出,且每个比特的输入变化会影响输出值,并且很难从输出值反推回输入值。加密哈希函数主要满足以下特点:

(1)计算效率高(

1
查看完整版本: 数字货币专题研究报告区块链应用比特币大众