主页 > imtoken被检测为风险软件 > 比特安魂曲 03(第 2 部分)比特币挖矿的奇观

比特安魂曲 03(第 2 部分)比特币挖矿的奇观

imtoken被检测为风险软件 2023-02-20 05:29:10

比特币挖完后_牛比特挖到的比特币_比特币09年挖好挖吗

▐ 作者/苏伟

本期关键词:挖矿,网络算力,算力,PoW,hashcash,挖矿,CPU,GPU,FPGA,ASCI矿机,矿机技术,矿场,电力,矿池,分配机制,2100万,四-年减半、难度调整、交易手续费、UTXO、公私钥体系、地址、BASE58、抗量子计算、椭圆加密曲线标准

比特币设计得非常好。 然而,提出一个令人担忧的问题:如果所有比特币都被“开采”了怎么办? 2140之后怎么办?

️ 这个问题已经考虑过了!

你有没有考虑过这样一个长期的问题?

️ 事实上,矿工通过抢夺一个区块的打包记账权,不仅可以获得网络首次发行的币,还可以获得部分交易手续费,同样奖励给矿工。

手续费?

️ 比特币是一种“硬币”,所以在不同账户之间转账就是一种“交易”。 并将这些交易打包成块,也就是“记账”,记账人收取一定的交易手续费,这是理所当然的事!

哦,比特币转账的交易手续费,也就是转账方支付给网络的服务费,由比特币网络回收,然后作为对矿工的奖励,连同挖出的币一起支付给矿工,再次进入流通领域。

️ 是的,所以你看,如果现在有人挖币,可能不是12.5,可能是12.6,因为0.1可能是这个区块打包的所有交易的手续费。

牛比特挖到的比特币_比特币09年挖好挖吗_比特币挖完后

以比特币554141区块为例,CoinBase记录的挖矿情况,除了系统发放的12.5奖励外,还有0.139多来自手续费,所以是12.639比特币

每笔转账交易收取多少货币?

️ 这不一定。 如果想让收件人尽快收到,就要多付一点手续费。 如果你不那么着急,你可以少付一点钱。 这意味着如果你支付的手续费多了,矿工在打包的时候会先打包你的交易,把手续费低的交易安排在后面打包。

呵呵,无聊的问题,我把手续费设置为0,会怎么样? 我很穷,转账的时候不想付手续费,怎么办?

️呵呵,手续费可以0,没问题。 但是,这样的交易发出后,是永远不会被打包的,你发送给收款人的比特币,会一直在池中排队等待打包。 但是,由于交易手续费为0,所以一直是最低优先级。 每当快要排队的时候,区块大小达到上限,下一个区块开始打包的时候,又会来一批新的带手续费的交易,所以永远轮不到它。 就好像……就好像,漂浮在传说中阴阳两面的孤魂野鬼,既不能入地狱也不能入天堂,也不能轮回……

你这个机器人,你知道的太多了!

️ 早在 2015 年,我就亲自尝试过 0 费用发送交易。 历时两个多月,才被打包成区块。

哈哈,总是轮到我!

️ 你知道,那是 2015 年! 你现在试试看,比特币的价格很高,区块容量很贵,我打赌它需要更长的时间,甚至在可预见的未来!

设置手续费,然后给打包区块的矿工额外奖励,让币重新进入流通领域。 关键是提高了矿工的积极性,特别是有效解决了原发行比特币被挖出后矿工积极性的问题。 ……这一系列的机制设计的真是巧妙啊!

️你还说漏掉了一条,交易手续费循环闭环是比特币网络安全的保障。 试想一下,如果没有手续费会怎样?

好的?

️ 如果没有手续费,交易就没有成本,那么比特币网络就会充斥着大量的垃圾交易,进而导致网络堵塞,真正需要转账的交易无法快速进行,整个价值交换网络将瘫痪。

啊~不对,是我搞错了吗?

️怎么了?

你看,我本来有0.01个比特币,想转0.002个给你。 我使用命令行脚本发送了这笔交易,但是,似乎出了点问题,发送交易后,地址中的所有 0.01 个比特币都不见了......

️让你zuo! 不作不死! 好的图形界面客户端就不要了,还得装逼,用什么命令行脚本! 以你一知半解的水平,0.008个币就成了这笔交易的手续费,你该交智商税了!

啊? 为什么会这样?

️ 因为在比特币的内部机制中并没有真正的“账户”! 所谓“账目”,只是人们表面现象的一种幻觉。

难以置信,“账户”不存在,那属于我账户的比特币呢?

️还记得比特币是“全网账本”吗?

记住。

️ 那大家还记得我们之前介绍过的“非对称加密”吗?

记住!

️ 所谓“非对称加密”无非是两种用法:公钥加密,私钥解密; 私钥用于加密,公钥用于解密。

嗯,没问题。

️ 告诉你,在发送一笔比特币交易的过程中,发送方其实需要完成两个步骤:第一步是用发送方的私钥签名,解锁自己名下的比特币; 收件人的公钥对要发送的比特币数量进行加密,这样硬币就在收件人的名下。

也就是说,接收方下次发送币时,会先用自己的私钥解开自己名下的币,然后再用别人的公钥加密,把这些币记在别人的名下——“下”帐户”我们理解。

️ 然而比特币挖完后,比特币网络中真的没有所谓的“账户”。 只有公钥和私钥系统组成的UTXO——未花费的交易输出,Unspent Transaction Output,因为Transaction的行为读起来像X,所以简称为UTXO。

比特币挖完后_比特币09年挖好挖吗_牛比特挖到的比特币

UTXO示意图

我已经隐约觉得我做错了……

️ 因为没有“账户”,所以在转账的时候,第一步我们要用自己的私钥解密自己名下所有的比特币,然后在第二步,发送一定数量的币给收款人用公钥加密实现转账。 那么,发送方有0.01个币,只想给接收方0.002个币,剩下的0.008个币怎么办?

怎么做? 我很着急!

️ 发送方可以声明,在剩余的0.008中,去掉指定金额的交易手续费,剩下的用自己的公钥加密——必须声明,也就是说剩下的会发给自己; 如果作者没有声明,呵呵,系统默认都是手续费。

什么! 这也太不合理了!

️ 不是程序设计者故意骗人,而是UTXO的机制是这样的:通过“找零”机制,一个比特币的几个历史“花费交易输出”和最新的“未花费交易输出”是不是很好解释“链”概念的本质是串联连接?

程序很漂亮,但我觉得应该改进完善,不然多少人会掉坑里!

️ 一方面,对于一般大众用户来说,图形界面的客户端不会有这个问题——除非遇到你这种怪东西,敢乱搞命令行脚本; 另一方面,程序的核心逻辑要尽可能保持简洁。 如果我们为了填补这个“坑”而改进UTXO核心机制,可能会出现很多新的问题。

我可以假装听懂吗?

️ 系统架构是设计师理解和创造世界的一种哲学,只能理解不能用语言表达。

可以去比特币客服寻求帮助吗? 就算没有中文客服也没关系。 记得两年前因为一个疏忽,我的信用卡在亚马逊云AWS上被扣了800多美元。 日语只能选英文,能看懂我的英文水平,最后还是问了客服才给全分。 确认是误操作后,扣款全部退回。

️ 抱歉,比特币是分布式网络,不存在客服! 没有集中的组织管理它,或者可以真正控制它。 它是所有互联网用户在互联网上自治的软件协议。 弄错了,只能咬牙切齿往肚子里咽。

据我所知,有一个比特币基金会,它是如何存在的?

️ 比特币基金会不是人们普遍理解的那种管理者。 它只是为促进比特币的健康发展而设立的协调机构。 通过这个机构的组织,开发者、矿工、普通用户、政府监管机构等各方实现有序对话。 也就是说,基金会只是宏观层面的“看门人”。 至于误用退款的细节,都是按照自主软件的规定来的。 除操作者本人外,没有人对此负责。 .

就算我的币被偷了或者被骗了也没人管?

️ 从比特币软件本身的技术机制层面来说,确实如此。 当然,由于虚拟数字货币是有价财产,被盗或被骗后,当事人向公安局举报是社会管理问题,这是与技术无关的另一层机制。

也就是说,在公私钥体系构建的比特币UTXO机制中,我唯一需要做的就是保管好我的私钥。 没有其他方法可以操作我的比特币,对吗?

️ 是的。 私钥要妥善保管。 私钥可以用来启动公钥,反之则不行; 私钥不公开,但公钥是公开的; 币本身加密时,公钥加密的币只能用对应的私钥解锁。

精彩的总结。

️ 很多人之所以误认为比特币有“账户”,是因为有一个“地址”的概念。

比特币地址?

️就是你转账的时候填写的一串字符,比如1MGP1ZNBkxpcgLf2zF6WK48Nd8owfkoEFU。

为什么不直接使用公钥作为地址呢?

️ 因为公钥比较长...

这不是理由。 地址虽然比公钥短,但也很长,一串不知名的字符普通人是记不住的,转账的时候多半是复制粘贴的。

️ 我话没说完,你就抢着说! 地址是从公钥计算出来的,计算过程在密码学上也是不可逆的,所以从某种意义上说,增强了安全性。

...

牛比特挖到的比特币_比特币09年挖好挖吗_比特币挖完后

比特币私钥、公钥和地址生成流程图

️ 从地址计算公钥的计算也是哈希运算。 还记得哈希运算吗? 这是不可逆转的! 因此,如果公钥是私钥的保护套,那么地址就是公钥的保护套。 多了一层保护套,是不是觉得更安全?

感觉在未来的量子计算面前,现代密码学就是“战五败类”~

️ 是的,正是如此,加上这层保护罩来保护公钥更有意义。 想一想,如果未来量子计算真的来了,使用椭圆曲线加密算法的公私钥系统会相对容易破解,因为量子计算可以快速从公钥中推导出私钥,但是,如果量子计算就是要逆向计算hash,还是没有捷径可走。 需要一项一项的穷举计算,就算计算再快,也势必需要一定的时间。 在这段时间里,如果你把比特币放在一个没有被用于支付交易的地址中,就意味着公钥还没有被泄露,那么在从地址逆向计算公钥的这段时间里,就可以暂时安全。 它可以最大程度地保证比特币财产的安全。 而这段时间正是比特币网络切换到新的抗量子计算的密码算法的时间!

虽然治安上比《战地五渣》要好一些,但至少拖住了鬼子的脚步。 听起来好悲惨。

️ 无论是整个人类社会,还是个人的生活,我们都是如此。 当我们感到绝望时,我们发现还有一线希望。 只要我们不放弃,我们就会迎来另一个村庄!

...

️好远好远,我刚才还没说完,即使不考虑未来的抗量子安全,比特币地址也有很多特点,比如从公钥计算地址的过程还添加了版本号和验证值。 比特币主网的版本号是0x00...

比特币网络除了主网还有什么?

️还有一个测试网络。 例如,如果人们要开发比特币程序,他们不能总是用真钱来烧钱做实验,所以为开发者提供了比特币测试网络; 而且,比特币软件是开源的,任何人都可以修改它来构建自己的比特币网络。 但是,如果修改后的软件要跑另一个网络,就必须通过版本号等规则设置来区分。 然后一看,都是比特币地址。 如何根据地址中的版本号来区分是哪个网络地址。

那么,校验和呢?

️ 众所周知,我们身份证的最后一位是验证值。 身份证有 18 位数字。 根据一套编码规则,可以通过前17位数字计算出一个数字。 这个数字是第 18 位。 在核对身份证时,如果发现前17位数字的计算结果与第18位数字不符,则该身份证可能是伪造的。

伪造比特币地址有什么用?

️ 没有人伪造比特币地址,真的没什么用,只是程序加的一种保护方法,避免输入错误地址造成损失。 要知道,网络传输是一个非常复杂和不稳定的过程,中间可能会出现丢失,而且有一定概率丢失会导致错误。 如果传输导致比特币地址出错,那问题就大了! 为了避免因网络传输等过程造成的比特币地址错误,地址中也加入了类似身份证的验证值。

你怎么认为?

️ 肉眼是看不出来的,因为经过这些计算,为了规范格式,用BASE58编码进行了统一转换。 所谓BASE58编码就是用数字和大小写字母按照一定的规范对信息内容进行编码。

数字是0-9,字母是az,大写的AZ,应该有62种吧? 58种怎么样?

️ 因为0(零)和O(大写o)、I(大写i)和l(小写L)比较容易混淆,所以去掉这4个,剩下的就是BASE58编码。 . 通过BASE58编码,将信息内容统一编码,转换为ASCII码。

ASCII,这个名字似曾相识?

️ ASCII是American Standard Code for Information Interchange,美国信息交换标准码,一套规范。

又是美标?

️ 没办法,美国人发明的电脑是谁造的! 呃,说到美国标准,让我想起了比特币避过的一个“坑”。

美国人挖的“坑”?

️ 就纯理论椭圆曲线而言,它是自洽的; 但是,如果要将椭圆曲线应用到密码学的实际应用中,它并不能克服多次运算造成的数据不准确的问题。 可以使用舍入,但对于复杂的密码计算,错误的累积会产生无法容忍的错误。

哦,这是一个很大的问题,只有理论付诸实践才能发现。

️于是科学家们想到了一个办法,在椭圆曲线公式中加入一些参数,可以将计算限制在整数范围内,避免四舍五入带来的误差。 添加参数有不同的标准。 美国国家安全局 (NSA) 推荐的标准称为 SECP256r1,全球许多应用程序都在使用该标准。 但是,比特币使用 SECP256k1。

就一个字,有什么区别?

️ 2013年9月,斯诺登告诉全世界,美国人在SECP256r1标准的椭圆曲线算法中植入了“后门”,使得这个标准不再那么安全。

比特币挖完后_比特币09年挖好挖吗_牛比特挖到的比特币

爱德华·斯诺登,棱镜事件的主角

和它相比,SECP256k1安全吗?

️我不敢这么说。 从客观的角度来看,斯诺登的话并不值得完全信任。 我不是密码学专家,但就目前的情况来看,比特币采用的是SECP256k1标准,而不是SECP256r1标准比特币挖完后,更加安全。

只要有一点不一致,哪怕是一条小裂缝,一个有心人最终都能让整栋楼倒塌,密码学也不例外。

️ 然而,比特币网络已经安全运行了十年。 这个承载着万亿价值的保险柜就这么明目张胆地放在了触手可及的地方,但人们却始终没有发现它的“阿喀琉斯之踵”,不得不佩服它精巧的设计。

祝设计师好运!

️说到运气,矿场老板老张就没那么幸运了。 我们识破了他和凶手精心策划的计划,狐狸精露出了尾巴!

啊? 告诉我,案件调查的后续情况如何?

️哈哈,明天告诉你~

——————————————————————

《宿为秋之录》第二季评论链接

|

|

——————————————————————

《素味秋之录》第一季第1-15集回顾链接

||

||

||

||

||

欢迎互动

《比特之魂》明天继续连载。 欢迎添加“小苏机器人”个人微信Lawup1,寻找志同道合的朋友,一起聊聊“法律与区块链、人工智能等信息技术”,您的见解将有机会出现在后续系列中~

比特币挖完后_牛比特挖到的比特币_比特币09年挖好挖吗

比特币挖完后_牛比特挖到的比特币_比特币09年挖好挖吗