当前位置:首页 » 比特币问答 » 比特币记账规则

比特币记账规则

发布时间: 2023-02-01 22:25:02

比特币中怎么证明是自己挖矿成功,而不是其他人呢

我们知道了信息计算Hash打包的过程:交易记录、时间、账本序号、上一个Hash值。也知道所有的计算和存贮是需要消耗计算机资源。在中本聪的设计里,完成记账可以获得系统给与比特币奖励,这个过程也就是比特币发行过程,因此把记账成为挖矿。
记账工作
因为记账是有奖励,每次记账都可以为自己增加一定个数的比特币,因此大家争相记账,当然能也就引发了问题:出现记账不一致的是后,系统引入工作量证明来解决这个问题,规则如下:
1.在一段时间内,只有一个人能记账成功。
2.通过解决密码学难题竞争获得唯一记账权
3.其他节点复制记账结果
不过在进行工作量证明之前,记账节点会做进行如下准备工作:
1.收集广播中还没有被记录账本的原始交易信息
2.检查每个交易信息中付款地址有没有足够的余额
3.验证交易是否有正确的签名
4.把验证通过的交易信息进行打包记录
5.添加一个奖励交易:给自己的地址增加12.5比特币
如果争夺记账权成功的话,就可以得到12.5比特币的奖励。
工作量证明
每次记账的时候会把上一个块的Hash值和当前的账页信息一起作为原始信息进行Hash。为了确保10分钟前后只有一个人可以记账,就只有提高记账的难度,用Hash的结果必须以若干个0开头。为了满足条件,进行Hash是引入一个随机数变量。
用伪代码表示一下:
1.Hash(上一个Hash值,交易记录集) = 456635BCD
2.Hash(上一个Hash值,交易记录集,随机数) = 0000aFD635BCD
改变Hash的原始信息的一部分,Hash值也会不断变化,因此在运行Hash的时候,不断改变随机数的值,总可以找到一个随机数使得Hash的结果以若干个0开头,率先找到随机数的节点从此获得记账的唯一记账权。
验证
在节点成功找到Hash值之后,会马上对全网进行广播打包区块,网络的节点收到广播后会对其进行验证。如果验证通过,表明已经有节点成功解密,就不会在竞争当前区块,而是选择接受区块,记录到自己的账本中,进行下一轮竞争猜谜。网络中只有最快解密的区块才会添加到账本中,其他的节点进行复制,确保整个账本的唯一性。
如果节点有作弊行为,会导致网络的节点验证不通过,直接放弃其打包的区块,也无法记录到总账本中,那么作弊节点的消耗成本就白费了。因此矿工自觉的遵守比特币系统的共识协议,也确保整个系统的安全。
这个问题就好像你去工地搬砖,搬完一天砖,包工头问你你怎么证明自己一天在工地搬砖呢?

㈡ UXTO与余额

区块链入门从使用钱包开始,我们最关注的是钱包的账户余额。可看过很多区块链资料以后,一直存在一个疑问,钱包的余额信息存在区块链的什么位置?一直没有找到,只有一个相近的概念叫UTXO(Unspent Transaction Output),但看完以后还是对应不上。直到翻遍网上所有关于UXTO的资料,才知道在中本聪设计的比特币系统中,并没有余额这个概念,“比特币余额”是由比特币等钱包应用派生出来的产物。钱包的余额是通过与账户相关的多个UXTO算出来的。下面且听我详细道来。

了解过一点点会计学,我们现在的会计系统绝大部分采用的是一种叫做“借贷记账法”的方法,账目分成借方和贷方,每发生一笔业务都要登记两个以上的科目。

简单来说,Alice转账给Bob 1美元,使用借贷记账法至少要产生两条账目,Alice账户减少1美元,Bob账户增加1美元。这种记账法在企业经营、企业审计中有无数的好处。但是这种记账法也有一个最大的缺点,就是容易产生记账错误和记账误差。一笔交易需要登记两条以上的账目,本质上记录的是“交易的结果”,而不是“交易本身”。

中本聪发明了UTXO(Unspent Transaction Output)交易模型,并将其应用到比特币当中。UTXO是“未花费的交易输出”,简单来说就是,每一笔比特币交易实际上都是由若干个交易输入和输出组成的。交易输入是资金来源,交易输出是资金去向,每一笔交易都要从交易输入中花费出去一部分,这一部分就是未花费的交易输出(UTXO)。每一次的交易输入都可以追溯到之前的UTXO,直至最初的挖矿所得。

由挖矿所得创建的比特币交易,是每个区块中的首个交易,又称之为coinbase交易,它由矿工创建,没有上一笔交易输出。

在比特币交易中 UTXO 就是基本单位,一个UTXO一旦被创建就不可被继续分割,它只能当作是下一笔交易的输入被花费掉,花费后产生新的UTXO,这样周而复始地实现货币的价值转移。所以我们在比特币钱包中所看到的账户余额,实际上是钱包通过扫描区块链并聚合所有属于该用户的UTXO计算得来的。

因此,当我们在说某人拥有1枚比特币的时候,我们实际上说的是,在当前的区块链记录中,有若干笔交易的 UTXO 收款地址写的是这个人的钱包地址,这些UTXO的总和是1个比特币。

比特币的UXTO系统遵守两个规则:

我们以以太账户为例,打开 etherscan.io ,选择BLOCKCHAIN->All Accounts,这样可以看到所有地址与余额,可以选择其中一个查看详细信息。如果看不懂, 没关系,把自己的以太地址输入到右上角的搜索框回车后,会显示地址的余额和详细交易记录,如下图。

至此,我能理解李笑来老师说为什么他的账户没有余额,只有UXTO了,O(∩_∩)O哈哈~,内行人不要说外行话嘛。

㈢ 比特币大跌,你知道比特币和区块链之间的关系吗

比特币是虚拟货币。区块链就是计算虚拟货币交易的节点。说白了就是区块链技术确保着比特币体系能否正常运行的。区块链的原理,这个怎么说呢。大概就是账本的意思。至于容不容易上手我就不知道了。听说还是蛮激励的,毕竟要十分钟要计算出这个区域的数据库账本。

但是比特币最近市场是不稳定的,大家还是看看吧。弄不好都得天台见了。

㈣ 比特币怎么玩

新手首先要知道如何计算你的成本,充值,交易,提现,都有手续费的。起码看得懂K线,这个K线基础网上一大把,随便看看,弄懂,要有风险意识,比特币属于高风险,高利润投资,可能一夜翻倍,也可能一夜宝马变单车。资金投入,刚开始建议小量玩玩。

但是现在个人挖矿很难挖到比特币,所以基本都是规模化挖矿,需要和矿池合作,所以如果大家还想靠挖矿赚钱的话,就目前来看,最适合的挖矿方式是云挖矿或矿机托管了,毕竟单人挖矿的时代已经过去。

㈤ 如何读懂比特币


简单地说,比特币就是一种虚拟货币,但是想了解比特币,咱得先了解它是怎么来的。

Part1:比特币怎么来的?

比如说村子里有个超级大的账房,里面的账本比星星还多。

所有账本每10分钟必须更新一次,谁去记账谁就能得到一笔奖励。


这事儿,村长为了避免有人找他走后门,找了一个特别公平的方式:

算数学题!

说到算题,其实是算一串比圆周率稍微短点的不规则数字。

要算这么一长串数字,必须得用计算机。


因为算题比拼的是计算机的算力

为了防止出幺蛾子,村长用了一个加密算法,能保证公平还不泄题。

甭说是亲戚了,就算自己是村长自己,也得通过算题才能去记账。

先算出来的那个学霸,不到获得记账权,还能得到奖励。


这个算题的过程叫做“挖矿”,得到的奖励就是比特币。

㈥ 比特币的运行机制及与区块链的联系

佚名

每一笔比特币交易,都会被区块链网络中的节点记录下来,以此增强交易公信力,保护交易双方利益。但如果所有节点都参与记录的话,容易因为网络延迟等因素造成账本信息不一致,也难以避免记账人会篡改交易信息。

因此比特币采用工作量证明(Proof of Work)共识机制,让所有节点通过解决工作量证明难题的方式参与竞争,竞争成功的节点拥有新区块的记账权,并能够将记录的信息广播出去。其他节点接收后将根据此消息进行数据同步,确保账本一致。这种竞争记账权的过程,叫做挖矿,参与挖矿的节点,叫做矿工。矿工挖矿成功后可以获得区块奖励,即一定数额的比特币,还可以收取该区块上的交易手续费。在利益的驱使下,节点会积极参与挖矿并维护交易记录的真实有效。

比特币的发行只有一种方式,即区块奖励,也就是说比特币是通过挖矿产生的。不过,比特币并不能通过挖矿无限产生,其算法规定了每产生210100 个区块(约四年),比特币的区块链奖励就要减半一次。由于比特币的发行总量恒定为2100万个,预计会在2140年挖完。这个规定确保了比特币不会由于人为增发而发生严重的通货膨胀,可以保护比特币的价值。

比特币的运行以区块链技术为依托,比特币与区块链有着密不可分的关系。比特币是一种资产,而区块链就是为这种资产设定好运行规则的底层技术,从而保证每一笔交易顺利进行。这就好比视频文件与播放器之间的关系,视频的播放必须要通过播放器的底层技术处理才能实现。区块链技术的诞生源于比特币概念的提出,可以说区块链技术是比特币催化下的产物。目前,区块链技术不止运用于比特币等加密货币,在各个领域都有广泛的应用,但比特币仍旧是区块链技术上最早、最成功的应用。

㈦ 区块链入门(比特币为例)

区块链主要解决的交易的信任和安全问题,通过每个独立的节点的去中心化实现不可篡改(依赖分布式节点的共识机制),通过非对称交易算法实现仅公开交易信息,对交易人信息保密。

辅助理解:某种程度的逆运算

挖矿就是获取新的交易信息的记账权的过程。

比特币记账(记录交易信息,也就是挖矿)的过程,也是比特币发行的过程,会奖励第一个完成挖矿计算的节点一定数量的比特币。

挖矿的规则:

注意事项:

一条成功计算成功的信息摘要:首位18位连续为0的哈希值

涉及3个算法:

账号和秘钥是不可逆推算的,秘钥是可以推算出账号的,但是账号是无法推算秘钥的,这样张三亮出私钥,就可以证明是张三账号的持有者,但是别人知道张三账号,却无法推算出张三的私钥。
在验证阶段,通过夹杂私钥生成的签名摘要+账号信息,必须要可以验证是否能匹配成功,这就需要加密算法的设计,这三个算法必须有设计上面的关联性

用户张三给李四的账号发起一笔转账为例。
用户张三,在系统中申请一个用户账号,创建的同时会收到一个私钥(通过私钥证明自己是张三)。
假设张三现在已经有10比特币,要转账给李四。
那么张三利用通过自己账号来发起一笔交易

发起人:账号张三
接收人:账号李四
转账金额:10比特币

这笔交易要广播出来,就有几个问题

为了方便节点之间更快的完成交易信息的核对,可以对交易信息进行哈希运算,这样李四和王二比对交易信息的时候,比如比对这个交易信息的时候,只需要比对哈希值就可以知道是不是同一笔交易,交易信息是否完全一样,而不需要比对 发起人账号、收款人账号、转账金额等这些信息

哈希运算:Hash(交易信息(出账人账号,紧张人账号李四,转账金额10比特币)) 获得交易摘要

签名信息不可伪造是因为签名的参数涉及到私钥
签名的哈希运算:sign(交易摘要信息,私钥) -->签名摘要

开始广播,现在有一个交易信息:信息为***,信息签名为:签名摘要,大家可以开始验证,验证成功请记账。
验证的过程:verify(签名信息,出账人账号),现实生活场景中的签名字迹和签名人的姓名,是否对的上。

最后王二、麻子等等村民都收到了这个广播,但是王二速度最快完成了记账,马上通过村里的广播广而告之,我对这笔交易率先记账成功了
(因为大家的账本都只记录交易信息,不记录余额的,假设张三频繁的发送转账,要统计几年的交易记录后的余额,也是要考验村民的计算能力的(为了方便理解,你可以这么认为,实际上是挖矿的过程)),
你们村民你们就不要再算了,因为我是第一个完成校验计算的,张三的余额是够的,李四的账号也是存在的,我宣布该笔交易有效,同时我有权利获得了相应的奖励,大家一起开始记录,我的账户获得奖励1个比特币,同时你们复制我的结果,当然还有我的计算过程编号。

整个交易才算完成。

只要大家都记账了这个操作就可以了,因为是虚拟货币,类似于银行转账,而不是纸币交易,只需要在银行的系统中张三账号的余额-10,李四的账号+10即可,只不过这里的银行账本是比特币所有节点的账本都做修改。

另外,从安全角度来说,还保护了张三和李四的真实信息的隐私,因为大家看到的只是张三的账号、李四的账号,这只是两个神奇的数字,并不知道发起人是张三,收款人是李四。但是可以确认,这个交易是持有张三账号的人发起的,而不是其它人伪造的,至于张三到底是谁,住在哪里,哪个国家的,就不得而知了。

㈧ 争夺记账权有什么好处

在比特币的世界里,每十分钟会出一个全新的区块,意味着要进行一次记账权的争夺,谁能争夺到记账权并成功记账便可以获得系统的比特币奖励。
在比特币创始之初,成功记账一次就可以获得系统50个比特币奖励。中本聪设计了一个规则,每产生21万个区块,比特币的系统奖励就会减半。按照每十分钟一个区块来算,21万个区块就是4年时间。 所以每隔4年,比特币的系统奖励就会减半。2012年是第一次减半,2016年7月是第二次减半。就目前来看,我们成功记账一次能获得12.5个比特币的系统奖励。所以才会有这么多人加入比特币网络来参与比特币记账。

㈨ 关于比特币的几个问题的研究

018年,区块链技术井喷式的发展,同1997年那会儿的互联网何其相像。笔者相信,区块链技术的发展,肯定会快过互联网。如果再不摄入点区块链方面的知识,也许你将落后一个时代。本文将回答关于比特币的几个问题。
问题一:比特币怎么诞生的?
2008年11月1日,一个自称中本聪(Satoshi Nakamoto)的人在一个隐秘的密码学评论组(密码朋克)上贴出了一篇研讨微V-BQ尔无吧疤Y陈述,陈述了他对电子货币的新设想——比特币就此面世。
问题二:比特币如何生产?
比特币网络通过“挖矿”来生成新的比特币。所谓“挖矿”实质上是用计算机解决一项复杂的数学问题,来保证比特币网络分布式记账系统的微V-BQ尔无吧疤Y一致性。比特币每10分钟产生一个区块,包含过去十分钟所有的交易信息。谁能算出数字,谁就获得记账权。获得记账权后,将向全网广播、存储。由谁获得记账权是不确定的,当然,你运算能力越强,获得记账权的几率越高。随后比特币网络会新生成一定量的比特币作为赏金,奖励获得记账权的人。
问题三:比特币的特点?
完全去处中心化,没有发行机构,也就不可能操纵发行数量。比特币不需要第三方机构,彼此信任的点对点交易。信任的建立不再基于大型机构,而是基于密码技术和代码。比特币可以在任意一台接入互联网的电脑上管理。不管身处何方,任何人都可以挖掘、购买、出售或收取比特币。操控比特币需要私钥,它可以被隔离保存在任何存储介质,除了用户自己之外无人可以获取。作为由A到B的支付手段,比特币没有繁琐的额度与手续限制,知道对方比特币地址就可以进行支付。
问题四:比特币能被仿造吗?
山寨者难以生存。由于比特币算法是完全开源的,谁都可以下载到源码,修改些参数,重新编译下,就能创造一种新的p2p货币。但这些山寨货币微V-BQ尔无吧疤Y很脆弱,极易遭到51%攻击。任何个人或组织,只要控制一种p2p货币网络51%的运算能力,就可以随意操纵交易、币值,这会对p2p货币构成毁灭性打击。很多山寨币,就是死在了这一环节上。而比特币网络已经足够健壮,想要控制比特币网络51%的运算力,所需要的cpu/gpu数量将是一个天文数字。
问题五:为什么比特币总量为2100万?
2009年比特币诞生的时候,每笔赏金是50个比特币。诞生10分钟后,第一批50个比特币生成了,而此时的货币总量就是50。随后比特币就以约每10分钟50个的速度增长。当总量达到1050万时(2100万的50%),赏金减半为25个。当总量达到1575万(新产出525万,即1050的50%)时,赏金再减半为12.5个。依此类推。根据其设计原理,比特币的总量会持续增长,直至100多年后达到2100万的那一天。但比特币货币微V-BQ尔无吧疤Y总量后期增长的速度会非常缓慢。简单来说,比特币产量每4年减半,目前每10分钟产生12.5个比特币。事实上,87.5%的比特币都将在头12年内被“挖”出来。而且,2100万也只是理论数据,现实中,由于初期比特币不受重视,不少比特币遗失。
问题六:比特币矿工有哪些收益?
首先是通过运算,获得记账权后,直接奖励比特币。但按照比特币规则,随着时间增长,奖励会越来越少。将来的收益,主要通过收取比特币交易产生的手续费。
问题七:为什么比特币不可修改?
举个例子,假如A和B进行交易,A需要付给B一百个比特币。但如果A想要赖账,只想付给B一个比特币。按照比特币的规则,他就必须要获得下一个10分钟微V-BQ尔无吧疤Y的记账权,才能修改;同样,他也必须要再获得下下个10分钟的记账权,以此类推。所以,修改是几乎不可能的。
问题八:比特币交易速率?
理论上讲,比特币交易速率是每秒7笔。实际上,比特币目前交易速度只有每秒一笔。
问题九:比特币为什么有如此强的生命力?
把比特币比作一个公司,那么他没有股东会、董事会、管理层,没有严厉的领导,没有HR,没有部门经理,没有员工,没有经营场地,没有收入。但比特币公司成功运行了9年时间,从没有出现任何问题,并且市值数千亿,网络的运行时依靠一套数学算法、激励机制和社区来进行管理和治理。
问题十:比特币面临的问题?
一是交易确认时间长。比特币钱包初次安装微V-BQ尔无吧疤Y时,会消耗大量时间下载历史交易数据块。而比特币交易时,为了确认数据准确性,会消耗一些时间,与p2p网络进行交互,得到全网确认后,交易才算完成。
二是大众对原理不理解,以及传统金融从业人员的抵制。懂原理的人,知道比特币无法人为操纵和控制。但大众并不理解,很多人甚至无法分清比特币和Q币的区别。“没有发行者”是比特币的优点,但在传统金融从业人员看来,“没有发行者”的货币毫无价值。

㈩ 比特币机制研究

现今世界的电子支付系统已经十分发达,我们平时的各种消费基本上在支付宝和微信上都可以轻松解决。但是无论是支付宝、微信,其实本质上都依赖于一个中心化的金融系统,即使在大多数情况这个系统运行得很好,但是由于信任模型的存在,还是会存在着仲裁纠纷,有仲裁纠纷就意味着不存在 不可撤销的交易 ,这样对于 不可撤销的服务 来说,一定比例的欺诈是不可避免的。在比特币出来之前,不存在一个 不引入中心化的可信任方 就能解决在通信通道上支付的方案。
比特币的强大之处就在于:它是一个基于密码学原理而不是依赖于中心化机构的电子支付系统,它能够允许任何有交易意愿的双方能直接交易而不需要一个可信任的第三方。交易在数学计算上的不可撤销将保护 提供不可撤销服务 的商家不被欺诈,而用来保护买家的 程序化合约机制 也比较容易实现。

假设网络中有A, B ,C三个人。
A付给B 1比特币 ,B付给C 2比特币 ,C付给A 3比特币
如下图所示:

为了刺激比特币系统中的用户进行记账,记账是有奖励的。奖励来源主要有两方面:

比特币中每一笔交易都会有手续费,手续费会给记账者

记账会有打包区块的奖励,中本聪在08年设计的方案是: 每10分钟打一个包,每打一个包奖励50个比特币,每4年单次打包的奖励数减半,即4年后每打一个包奖励25个比特币,再过四年后就奖励12.5个比特币... 这样我们其实可以算出比特币的总量:

要说明打包的记录以谁为准的问题,我们需要引入一个知名的 拜占庭将军问题 (Byzantine failures)。拜占庭将军问题是由莱斯利·兰伯特提出的点对点通信中的基本问题。含义是在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。

假设有9个互相远离的将军包围了拜占庭帝国,除非有5个及以上的将军一起攻打,拜占庭帝国才能被打下来。而这9个将军之间是互不信任的,他们并不知道这其中是否有叛徒,那么如何通过远距离协商来让他们赢取战斗呢?

口头协议有3个默认规则:
1.每个信息都能够被准确接收
2.接收者知道是谁发送给他的
3.谁没有发送消息大家都知道
4.接受者不知道转发信息的转发者是谁
将军们遵循口头规则的话,那就是下面的场景:将军1对其他8个将军发送了信息,然后将军2~9将消息进行转达(广播),每个将军都是消息的接受者和转发者,这样一轮下来,总共就会有9×8=72次发送。这样将军就可以根据自己手中的信息,选择多数人的投票结果行动即可,这个时候即便有间谍,因为少数服从多数的原则,只要大部分将军同意攻打拜占庭,自己就去行动。
这个方案有很多缺点:
1.首先是发送量大,9个将军之间要发送72次,随着节点数的增加,工作量呈现几何增长。
2.再者是无法找出谁是叛徒,因为是口头协议,接受者不知道转发信息的转发者是谁,每个将军手里的数据仅仅只是一个数量的对比:

这里我们假设有3个叛徒,在一种最极端的情况下即叛徒转发信息时总是篡改为“不进攻”,那么我们最坏的结果就如上图所示。将军1根据手里的信息可以推出要进攻的结论,却无法获知将军里面谁是叛徒。
这样我们就有了方案二:书面协议。

书面协议即将军在接受到信息后可以进行签字,并且大家都能够识别出这个签字是否是本人,换种说法就是如果有人篡改签字大家可以知道。书面协议相对比口头协议就是增加了一个认证机制,所有的消息都有记录。一旦发现有人所给出的信息不一致,就是追查间谍。
有了书面协议,那么将军1手里的信息就是这样的:

可以很明显得看出,在最坏的一种情况——叛徒总是转发“不进攻”的消息之下,将军7、8、9是团队里的叛徒。
这个方案解决了口头协议里历史信息不可追溯的问题,但是在发送量方面并没有做到任何改进。

在我们的示例中,比特币系统里的每个用户发起了一笔交易,都会通过自己的私钥进行签名,用数学公式表示就是:

所以之前的区块就变成了这样:

这样每一笔交易都由交易发起者通过私钥进行数字签名,由于私钥是不公开的,所以交易信息也就无法被伪造了。

如书面协议末尾所说的那样,书面协议未能解决信息交流过多的问题。当比特币系统中存在上千万节点的时候,如果要互相广播验证,请求响应的次数那将是一个非常庞大的数字,显然势必会造成网络拥堵、节点处理变慢。为了解决这个问题,中本聪干脆让整个10分钟出一个区块,这个区块由谁来打包发出呢?这里就采用了工作量证明机制(PoW)。工作量证明,说白了就是解一个数学题,谁先解出来数学题,谁就能有打包区块的权力。换在拜占庭将军的例子中就是,谁先做出数学题,谁就成为将军们里面的总司令,其他将军听从他发号的命令。

首先,矿工会将区块头所占用的128字节的字符串进行两次sha256求值,即:

这样求得一个值Hash,将其与目标值相比对,如果符合条件,则视为工作量证明成功。
工作量证明成功的条件写在了区块链头部的 难度数 字段,它要求了最后进行两次sha256运算的Hash值必须小于定下的目标值;如果不是的话,那就改变区块头的 随机数 (nonce),通过一次次地重复计算检验,直到符合条件为止。

此外, 比特币有自己的一套难度控制系统,使得比特币系统要在全网不同的算力条件下,都保持10分钟生成一个区块的速率。这也就意味着:难度值必须根据全网算力的变化进行调整。难度调整的策略是由最新2016个区块的花费时长与期望时长(期望时长为20160分钟即两周,是按每10分钟一个区块的产生速率计算出的总时长)比较得出的,根据实际时长与期望时长的比值,进行相应调整(或变难或变易)。也就是说,如果区块产生的速率比10分钟快则增加难度,比10分钟慢则降低难度。

PoW其实在比特币中是做了以下的三件事情。

这样可以防止一台高性能机器同时跑上万个节点,因为每完成一个工作都要有足够的算力。

有经济奖励就会加速整个系统的去中心化,也鼓励大家不要去作恶,要积极地按照协议本来的执行方式去执行。(所以说,无币区块链其实是不可行的,无币区块链一定导致中心化。)

也就是说,每个节点都不能以自身硬件条件去控制出快速度。现在的比特币上平均10分钟出一个块,性能再好的机器也无法打破这个规则,这就能够保证 区块链是可以收敛到共同的主链上的 ,也就是我们所说的共识。

综上,共识只是PoW三个作用中的一点,事实上PoW设计的作用有点至少有这么三种。

默克尔树的概念其实很简单,如图所示

这样,我们区块的结构就大致完整了,这里分成了区块头和区块体两部分。

区块链的每个节点,都保存着区块链从创世到现在的每一区块,即每一笔交易都被保存在节点上,现在已经有几百个GB了。
每当比特币系统中有一笔新的交易生成,就会将新交易广播到所有的节点。每个节点都把新交易收集起来,并生成对应的默克尔根,拼接完区块头后,就开始调整区块头里的随机数值,然后就开始算数学题

将算出的result和网络中的目标值进行比对,如果是结果是小于的话,就全网广播答案。其他矿工收到了这个信息后,就会立马放下手里的运算,开始下一个区块的计算。
举个例子,当前A节点在挖38936个区块,A挖矿节点一旦完成计算,立刻将这个区块发给它的所有相邻节点。这些节点在接收并验证这个新区块后,也会继续传播此区块。当这个新区块在网络中扩散时,每个节点都会将它作为第38936个区块(前一个区块为38935)加到自身节点的区块链副本中。当挖矿节点收到并验证了这个新区块后,它们会放弃之前对构建这个相同高度区块的计算,并立即开始计算区块链中下一个区块的工作。
整个流程就像下一张图所展示的这样:

简单来说,双花问题是一笔钱重复花了两次。具体来讲,双花问题可分为两种情况:
1.同一笔钱被多次使用;
2.一笔钱只被使用过一次,但是通过黑客攻击或造假等方式,将这笔钱复制了一份,再次使用。
在我们生活的数字系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况,为了解决双花问题,日常生活中是依赖于第三方的信任机构的。这类机构对数据进行中心化管理,并通过实时修改账户余额的方法来防止双重支付的出现。而作为去中心化的点对点价值传输系统,比特币通过UTXO、时间戳等技术的整合来解决双花问题。

UTXO的英文全称是 unspent transaction outputs ,意为 未使用的交易输出 。UTXO是一种有别于传统记账方式的新的记账模型。
银行里传统的记账方式是基于账户的,主要是记录某个用户的账户余额。而UTXO的交易方式,是基于交易本身的,甚至没有账户的概念。在UTXO的记账机制里,除了货币发行外,所有的资金来源都必须来自于前面某一个或几个交易。任何一笔的交易总量必须等于交易输出总量。UTXO的记账机制使得比特币网络中的每一笔转账,都能够追溯到它前面一笔交易。
比特币的挖矿节点获得新区块的挖矿奖励,比如 12.5 个比特币,这时,它的钱包地址得到的就是一个 UTXO,即这个新区块的币基交易(也称创币交易)的输出。币基交易是一个特殊的交易,它没有输入,只有输出。
当甲要把一笔比特币转给乙时,这个过程是把甲的钱包地址中之前的一个 UTXO,用私钥进行签名,发送到乙的地址。这个过程是一个新的交易,而乙得到的是一个新的 UTXO。
这就是为什么有人说在这个世界上根本没有比特币,只有 UTXO,你的地址中的比特币是指没花掉的交易输出。
以Alice向Bob进行转账的过程举例的话:

UTXO 与我们熟悉的账户概念的差别很大。我们日常接触最多的是账户,比如,我在银行开设一个账户,账户里的余额就是我的钱。
但在比特币网络中没有账户的概念,你可以有多个钱包地址,每个钱包地址中都有着多个 UTXO,你的钱是所有这些地址中的 UTXO 加起来的总和。
中本聪发明比特币的目标是创建一个点对点的电子现金,UTXO 的设计正可以看成是借鉴了现金的思路:我们可能在这个口袋里装点现金,在那个柜子角落里放点现金,在这种情况下不存在一个账户,你放在各处的现金加起来就是你所有的钱。
采用 UTXO 设计还有一个技术上的理由,这种特别的数据结构可以让双重花费更容易验证。对比一下:

热点内容
调研组在调研btc天 发布:2025-05-18 04:19:18 浏览:556
数字货币ddm是什么意思 发布:2025-05-18 04:14:59 浏览:266
怎么算摩擦力的能量 发布:2025-05-18 04:13:26 浏览:694
币印矿池dcr算力骤减 发布:2025-05-18 04:11:52 浏览:646
虚拟货币唯有茅台和比特币 发布:2025-05-18 03:56:07 浏览:944
比特币挖矿不是浪费钱 发布:2025-05-18 03:51:32 浏览:403
usdt如何卖出人民币 发布:2025-05-18 03:43:08 浏览:417
元宇宙区块链代币yyz 发布:2025-05-18 03:42:28 浏览:419
测绘次新元宇宙 发布:2025-05-18 02:37:55 浏览:970
比特币转让币手续 发布:2025-05-18 02:37:53 浏览:204