imtoken钱包下载的链接|2009年挖比特币教程

作者: imtoken钱包下载的链接
2024-03-11 00:08:23

Buy/Sell Bitcoin, Ether and Altcoins | Cryptocurrency Exchange | Binance

Buy/Sell Bitcoin, Ether and Altcoins | Cryptocurrency Exchange | Binance

Error 403 Forbidden - This request is blocked.

For security reasons you can't connect to the server for this app or website at this time.

It maybe that you have too many requests or the illegal request payload is identified as an attack.

Please try again later.

比特币矿机十年发展史,你知道多少? - 知乎

比特币矿机十年发展史,你知道多少? - 知乎首发于OKEx情报局切换模式写文章登录/注册比特币矿机十年发展史,你知道多少?小欧说区块链一般我们讲“挖矿”,脑海中浮现出的可能是大型挖掘机的工作现场。但其实比特币挖矿不是这样的。比特币是由挖矿产生的,这里的“挖矿”其实是一个形象的比喻。为什么这么说呢?这是因为比特币挖矿和开采石油、黄金非常相似,开采难度都比较高,只不过,比特币挖矿比较特殊,不需要那种户外的、大型作业,而是需要在茫茫代码中进行工作。所以我们说比特币挖矿,是个形象的比喻。为什么说需要在代码中工作呢?这是由比特币系统的设定决定的。根据比特币系统的设定,参与者需要使用计算机去做大量的、数以亿记的哈希碰撞(这是一种特殊的函数),直到找到正确的哈希值,他可以得到一定数量的比特币作为奖励。简单讲,这个过程类似于在一堆代码中做一道特殊的数学题,知道找到正确的答案,才能得到比特币,比特币也由此不断被生产出来。挖矿和算力(计算机的计算能力)息息相关,挖矿说到底拼的就是算力的高低,计算机的算力越高,它的运算速度越快,找到正确哈希值进而赚取比特币的几率也就越大。所以,挖矿工具,也就是矿机,也是看配置的(就跟咱们打游戏一样,装备好才能更厉害),矿机配置高,算力就高,也就更厉害一些。挖矿的发展史,可以说是算力的进化史,也可以说是矿机的进化史。我们今天要讲的,就是矿机进化史。一、CPU挖矿最早的挖矿工具是CPU,也就是我们电脑里的那个CPU。2009年1月,中本聪在芬兰赫尔辛基一个小型服务器上挖出了比特币的第一个区块——创世区块,获得了50个比特币。中本聪使用的挖矿工具正是CPU,所以,最早的比特币正是通过CPU挖出来的。也就是说,中本聪用CPU就能够解答出比特币系统出的难题。当时,普通电脑的CPU就可以挖出比特币,这是因为当时的挖矿的人很少,竞争也不是很大,所以挖矿门槛比较低,有台电脑就可以了。后来,比特币交易平台上线,比特币可以用作交易,加上当时游戏代练行业不景气,很多人开始转向比特币挖矿,通过挖比特币来赚取收益,比特币挖矿的群体越来越大。这个时候,算力的竞争也变得更加激烈,对计算机的配置要求也越来越高。人们开始发现,CPU的算力太低了,挖矿收益实在是太少了。于是,人们开始寻找一个更高配置的挖矿工具来挖掘比特币,GPU挖矿时代正式到来。二、GPU挖矿2010年 ,一位矿工率先成功实现了用个人GPU 挖矿,GPU显卡挖矿正式登场。1个GPU显卡相当于几十个CPU,算力得到了明显提升,一个GPU一天运气好的话能够挖到几十个比特币,于是矿工们开始购买大量配置GPU显卡的电脑进行挖矿。这个时候的挖矿,好像变成了一种“军备竞赛”,拼的是装备、拼的是配置。其实,中本聪提倡的是CUP挖矿, 就是说,挖矿的门槛不要设置的太高,人人都可以参与到挖矿中。所以当出现GPU挖矿之后 ,中本聪曾经在社区里面呼吁不要这么快就搞“军备竞赛”。但是,当时GPU挖矿的收益比CPU挖矿高太多了,没有人理会他的建议,矿工们开始纷纷采用GPU进行挖矿。2010年,被称为比特币GPU挖矿元年。三、FPGA挖矿随着GPU挖矿逐渐普及开来,人们发现,矿机的性能还可以“更上一层楼”。当然,人们对矿机性能的追逐在于比特币价格的攀升,2011年,比特币价格首次突破1美元,日益上涨的价格,让矿工们的挖矿热情不断高涨。矿工都是逐利的,大家都想改善一下“装备”挖到更多比特币。所以,比特币价格的提高,让矿工意识到,只有拥有一个更强大的矿机,才能挖到更多的比特币,获得更多的收入。市场需求助推创新的速度,一个更强大的矿机FPGA出现了。2011年中,市面上出现了首台FPGA比特币矿机,这是第一次针对挖矿的专业芯片设计。FPGA挖矿,简单理解,就是把GPU的核心晶元单独拿出来,然后把很多这样的核心晶元集成到一个设备上进行挖矿,形成FPGA挖矿。FPGA的中文名称叫“现场可编程门阵列”,FPGA意味着人们在里面写入什么程序就能实现什么功能,挖矿自然不在话下。但是,由于FPGA的的开发难度太高,这种挖矿方式并没有普及开来。四、ASIC挖矿2012年,以ASIC为代表的专业矿机挖矿正式进入了人们视野。ASIC矿机相当于专门为数字货币挖矿定制的集成电路设备,这个设备为挖矿而生,只专注于挖掘数字货币。ASIC矿机到今天还是主流矿机,从2012年到现在,关于ASIC矿机的故事说起来其实挺精彩的,不信我们继续往下听噢!2012年,美国一个开发比特币矿机的机构“蝴蝶实验室”声称,他们准备研发一款ASIC矿机。因为前期需要大量的开发成本,“蝴蝶实验室”搞了一次众筹,收了客户的定金。但是,“蝴蝶矿机”并没有如约而至,蝴蝶实验室在收取了客户定金之后,并没有按时发售,发售的时间一拖再拖,当时只有一批运气好的客户收到了矿机。很多年以后,“蝴蝶实验室”被美国联邦法院冠以“诈骗”,蝴蝶实验室随即被冻结资产,蝴蝶矿机也就不了了之了。虽然美国“蝴蝶实验室”研发失利,但也并不是毫无意义的。美国“蝴蝶实验室”研发ASIC矿机这件事传出去之后,业内人士开始担心,一旦ASIC矿机批量使用了,那就会对比特币系统构成威胁,毕竟ASIC矿机太强了,谁能够批量生产,就相当于谁手里掌握一台比特币“印钞机”啊!意识到这种危机,业内人士开始坐不住了。2012年,一个名叫烤猫(Friedcat)的账号,在比特币论坛上发布消息,宣称自己能造出ASIC矿机。这个“烤猫”是个神童,15岁就考入了中国科技大学少年班。烤猫提出这个想法之后,受到了吴忌寒的支持。吴忌寒当时投入了10万身家,同时热心地帮助烤猫筹款。最后烤猫成功筹集了100万元资金,这些钱开启了ASIC的启动成本。与此同时,北京航空航天大学博士“南瓜张”也在进行ASIC研发。他担心,一旦烤猫的矿机垄断,就会控制比特币算力,所以自己必须抓紧研发脚步。于是,南瓜张决定休学研发ASIC矿机,相当于和烤猫隔空竞赛。南瓜张筹集研发资本的方式比较特别,相当于订立了一套“霸王条款”,他也是采用预售的方式,大家先来订购,但是不提供售后,不确定什么时候发货,也不接受更改收货地址,就算以后没发货,也不能退钱。看起来挺不靠谱的,但是依旧有人愿意支持他相信他,南关张就这样筹集到了开发资金。2013年初 ,南瓜张成功跑在了烤猫前头,第一个开发出ASIC矿机,这个矿机名叫“阿瓦隆”。之后,南瓜张成立了“嘉楠耘智”公司,转向矿机芯片研发,把整机制造交给代工厂,只专注于芯片开发。当然,烤猫也没有落后不久,南瓜张的阿瓦隆矿机出现后不久,烤猫的矿机就研发出来了,而且随着南瓜张宣布不做整机,只专注于矿机芯片,给了烤猫非常大的垄断空间。这时的矿机市场成为了烤猫的天下,烤猫一方面从矿场获取可观收益,另一方面通过出售矿机大发横财。但是好景不长,烤猫矿机的二代、三代都出现了一些问题,不是质量不过关,就是没能按时交付,再就是和投资人之间产生很多纠纷。再加上当时国际上的ASIC矿机研发都取得了很大的进步,烤猫矿机面临前所未有的瓶颈。到了2015年,烤猫就消失了,彻底失联,好像从人间蒸发了一样。烤猫去了哪没有人知道,有人说他被劫持了,有人说他自杀了,去年有人说在活动中见到了烤猫,但不知道消息真假。烤猫失踪以后,吴忌寒时代正式来临。前面提到,吴忌寒曾经在烤猫刚研发矿机的时候就投入了10万元,烤猫矿机获取的暴利,让吴忌寒的10万元暴涨到5000万元,吴忌寒也就有了“自立门户”的启动资金。2013年底,吴忌寒从烤猫公司抽离,成立了自己的矿机公司“比特大陆”。比特大陆随即研发出了蚂蚁S1矿机。尽管吴忌寒的入场时间要晚于烤猫和南瓜张,但是吴忌寒团队研发出的蚂蚁S1矿机在性能上处于当时的顶级,由此,比特大陆便具备了继续扩张的一席之地,也为吴忌寒奠定了日后谋求“矿圈一哥”的地位。随着2014年大熊市的到来,烤猫矿机一蹶不振,烤猫本人消失,而南瓜张只专注于矿机芯片的研发,吴忌寒的比特大陆就成为国内唯一一家矿机生产厂商。不止矿机,比特币大陆在矿池方面依旧占据了近乎垄断的地位。拥有极大算力权势的比特大陆,甚至把比特币“克隆化”,发行了一种新的货币——比特币现金(BCH)。由于ASIC是为专一功能打造,它的算力比普通电脑高几十倍或者几百倍,因此,ASIC矿机成为主流挖矿矿机而迅速崛起,从2013年下半年开始,大量ASIC矿机如雨后春笋般出现(当然很多在2014大熊市的时候都死掉了),活下来的主流矿机基本上还是嘉楠耘智的阿瓦隆矿机和比特大陆的蚂蚁矿机。当然,他们能“活下来”也是有道理的,因为他们并没有停止脚步,而是将矿机不断进行升级,甚至与“人工智能”结合起来:2017年底,比特大陆推出“算丰”系列云端AI芯片;2018年9月,嘉楠耘智发布了人工智能KPU芯片。直到今天,ASIC矿机还是主流矿机,当然,ASIC矿机的争议也比较大,比如说能耗过大,矿机本身的价格容易受到数字货币市场的影响(市场好的时候矿机被炒到几万元一台,市场不好的时候矿机就是一堆废铜烂铁)。如果你觉得还不错,可以关注我们获取更多资料~发布于 2019-08-02 18:25比特币 (Bitcoin)比特币矿机比特币现金​赞同 1​​添加评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录OKEx情报局你想知道的区块链,这

创世区块诞生 中本聪用CPU挖矿获百万比特币 | 2009年 - 知乎

创世区块诞生 中本聪用CPU挖矿获百万比特币 | 2009年 - 知乎切换模式写文章登录/注册创世区块诞生 中本聪用CPU挖矿获百万比特币 | 2009年搬砖狂人实力搬砖2009年,比特币网络正式上线,由此也产生了挖矿的概念。但似乎那时候并没有矿机的说法,因为挖矿只是用家用PC运行比特币的程序而已,任何家用电脑都可以进行挖矿。直到出现专门用来挖矿的电脑/机器,矿机的概念才得以出现。2009年1月3日,中本聪在位于芬兰赫尔辛基的一个小型服务器上挖出了第一个区块,获得最初的50个比特币,比特币正式诞生在了这个世界。按照中本聪的设想,任何人用电脑都可以挖矿获得比特币,所以最初的设计只要用普通家用电脑的CPU挖矿即可。早2009年,由于知道比特币,并且愿意去花费事假挖掘这种在当时看来毫无价值的虚拟货币的人并不多,所以当时的几乎没有算力竞争,就算你用一台CPU不算很好的电脑,都有机会挖到一定数量的比特币。由于中本聪是比特币的发明者,最初不管是为了测试比特币网络,还是为了维持网络的运行,都需要他来去挖矿,因而中本聪本人也获得了巨大数量的比特币,分析称中本聪持有的比特币数量超过100万枚,约占比特币总量的5%,这是一个相当大的数量,按照2017年比特币最高的价格,中本聪有实力冲击世界首富的宝座。至于中本聪有没有利用,或者卖出这些比特币,就不得而知了。不管怎么说,2009年首次出现了挖矿行为,并且只要通过普通电脑的CPU即可挖到数量可观的比特币,因为最早的那一批矿工,如果没有中途退出,现在基本都已经是亿万富翁。发布于 2018-11-22 17:34区块链(Blockchain)比特币 (Bitcoin)中本聪​赞同​​添加评论​分享​喜欢​收藏​申请

2009比特币怎么挖的|2009比特币挖掘完整指南 - 币王网

2009比特币怎么挖的|2009比特币挖掘完整指南 - 币王网

登陆 会员登陆

首页24X7 快讯教程指南热门提问比特币今日价格

您现在的位置:首页教程指南 2009比特币怎么挖的|2009比特币挖掘完整指南

2009比特币怎么挖的|2009比特币挖掘完整指南

admin

2023-06-01

3850

默认

摘要:

2009年,比特币还是一个被忽视的数字货币。但是随着时间的推移,越来越多的人加入了这场数字革命,从而导致比特币价格节节攀升。其实,当时的比特币挖掘非常简单,只需要一台普通的电脑就可... 2009年,比特币还是一个被忽视的数字货币。但是随着时间的推移,越来越多的人加入了这场数字革命,从而导致比特币价格节节攀升。其实,当时的比特币挖掘非常简单,只需要一台普通的电脑就可以完成。什么是比特币挖掘在了解如何挖掘比特币之前,我们首先要了解“比特币挖掘”是什么。“比特币挖掘”是产生新的比特币的过程。当你完成解决比特币网络中的一系列数学问题时,你的计算机将被赋予了一个新的比特币。每一批新的比特币都需要经过比特币网络中的数学问题来解决。求解这些问题的过程需要大量的计算能力,因此比特币挖掘者需要拥有集成电路(ASIC)或图形处理单元(GPU)等显卡和强大的计算机来完成挖掘过程。当你的计算机求解出问题时,你就有了一个新的比特币。如何挖掘比特币在2009年,当比特币还只是一个新生儿时,它的难度系数甚至还不到1。因此,使用一台普通的计算机就可以轻松挖掘比特币。以下是用来挖掘比特币的软件和工具:1. 比特币钱包在你开始挖掘比特币之前,你需要一个比特币钱包。这个钱包将用来收集所有你挖掘出来的比特币。你需要跟据你的操作系统下载适合的比特币钱包。2. 挖掘软件你需要挖掘软件,例如:CGMiner、BFGMiner等。这些软件被设计用来在你的计算机上运行,并将你的挖掘结果发送到比特币网络中。3. 硬件由于2009年挖掘比特币的难度系数并不高,因此只需要一台普通的计算机。你需要一台个人电脑,如果有更高效的APU或GPU,在挖掘比特币的过程中会更加高效。比特币挖掘的优势由于比特币的初期难度系数不高,因此挖掘比特币的优势在于相对便宜和容易。对于那些寻求通过数字货币获取收入的人来说,比特币挖掘往往是最佳选择。除此之外,挖掘比特币还有其他优势。由于比特币是去中心化的数字货币,这意味着你并不需要支付银行手续费或利润分成。比特币也具有匿名性和安全性的优势。结论2009年的比特币挖掘过程非常简单,只需要一台普通的计算机即可。然而,这项技术和行业在短时间里以惊人的速度发展,现如今挖掘比特币需要更高效更专业的设备和软件。今天,比特币挖掘之路可能会更加复杂,但是可以肯定的是,比特币的数字革命仍在继续。<币王网quote style='border:1px #d0d4c8 dashed;background-color:#f4f5f6'>推荐阅读:比特币开采是什么意思_比特币 开采ipfs矿机公司排名_ipfs矿机公司哪家比较好阿瓦隆矿机_阿瓦隆矿机恢复出厂设置以太币一个多少人民币_以太币现在多少一个今日比特币_比特币今日价格?

海报 阅读

QQ 分享

微博分享

微信分享

分享

上一篇买虚拟币的平台|虚拟币交易平台的选择 下一篇0.0001比特币等于多少人民币|0.0001比特币等于多少人民币

买虚拟币的平台|虚拟币交易平台的选择上一篇

0.0001比特币等于多少人民币|0.0001比特币等于多少人民币下一篇

相关推荐

PEPE币怎么买在哪里买,交易所怎么买PEPE币教程

2023-11-15

RUNE币怎么买在哪里买,交易所怎么买RUNE币教程

2023-11-15

LBK币怎么买在哪里买,交易所怎么买LBK币教程

2023-11-14

QNT币怎么买在哪里买,交易所怎么买QNT币教程

2023-11-14

ZRX币怎么买在哪里买,交易所怎么买ZRX币教程

2023-11-14

UNI币怎么买在哪里买,交易所怎么买UNI币教程

2023-11-14

HT币怎么买在哪里买,交易所怎么买HT币教程

2023-11-14

BTC币怎么买在哪里买,交易所怎么买BTC币教程

2023-11-14

网站分类

24X7 快讯

教程指南

热门提问

标签列表

比特币病毒补丁 (11)

比特币价格今日行情 (11)

比特币吧 (11)

比特币工厂 (11)

曹县比特币 (13)

比特币矿场 (13)

比特币今日价格 (10)

莱特币钱包 (11)

比特币勒索补丁 (10)

比特币123 (16)

比特币重返58000美元 (10)

比特币补丁 (11)

李晨6亿元的比特币一下归零 (10)

比特币敲诈病毒 (10)

btcchina (10)

今日比特币 (10)

特朗普称比特币是一个骗局 (10)

四川比特币矿场集体断电 (15)

派币今天最新官方消息真实 (13)

中国比特币 (15)

比特币最新价格美元 (11)

星巴克比特币 (12)

比特币病毒 (12)

比特币风险 (11)

比特币挖矿网站 (13)

最新留言

友情链接

怎么买比特币比特币交易app币 安app官网下载

蜀ICP备2022012009号-1

Copyright2023币王网 | 网站地图

3种方法来挖比特币

3种方法来挖比特币

Skip to Content探索

关于我们

互助客栈

随机阅读

指南分类

登录

登录

社交帐号登录在无痕和私人浏览器中无法使用。请用您的用户名或电子邮箱登录以继续。

Facebook

Google

wikiHow账号

还没有账号? 创建帐户

随机首页随机浏览文章关于wikiHow登陆/注册政策分类计算机与电子产品如何挖比特币

下载PDF文件

共同创作者是

Vinny Lingam

参考

下载PDF文件

X

这篇文章的共同创作者是 Vinny Lingam. Vinny Lingam是Civic Technologies的首席执行官,这家初创公司主要提供区块链认证解决方案,以方便用户控制和保护身份信息。Vinny于2006年荣获了“非洲最佳ICT青年企业家奖”,并于2009年参加了“全球青年领袖世界经济论坛”。Vinny在2015年被评选为“全球500强首席执行官”之一。他获得了南非大学的电子商务学士学位。

这篇文章已经被读过62,938次。

在本文中:

申请一个比特币钱包

签订云采矿合约

使用你自己的硬件

相关文章

参考

你一定听说过比特币,并且也想在数字财富的热潮中小试身手。然而,这说起来容易但做起来难。所谓比特币的“挖矿”过程,实际上就是在公共的、去中心化的比特币交易分类账(也就是所谓的“区块链”)中验证比特币交易。每当你找到一个新的区块添加到区块链上,系统就会给你一些比特币作为奖励。在比特币的发展早期,在自己的电脑上很容易就能挖到比特币。但随着加密货币被炒得越来越火热,个人挖比特币几乎已经是无利可图。不过,这并不能浇灭很多人的热情。如果你想挖比特币,可以考虑与一家云计算挖矿公司签约,或者搭建自己的设备来挖矿。[1]

X

研究来源

步骤

方法 1

方法 1 的 3:

申请一个比特币钱包

下载PDF文件

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/5\/56\/Mine-Bitcoins-Step-1-Version-3.jpg\/v4-460px-Mine-Bitcoins-Step-1-Version-3.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/5\/56\/Mine-Bitcoins-Step-1-Version-3.jpg\/v4-728px-Mine-Bitcoins-Step-1-Version-3.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

1

如果你是新手,首先得下载一个软件或手机钱包。软件钱包保存在你的电脑上,而手机钱包是安装在智能手机上的一个应用程序。软件和手机钱包都比较安全,可以免费下载,适合用于比特币数量较小的情况。[2]

X

研究来源

你可以在 https://bitcoin.org/en/choose-your-wallet 上找到可以用于比特币的安全钱包列表。

一些钱包是多平台通用的,你可以通过电脑上的软件和手机上的应用程序来访问它们。

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/3\/3b\/Mine-Bitcoins-Step-2-Version-3.jpg\/v4-460px-Mine-Bitcoins-Step-2-Version-3.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/3\/3b\/Mine-Bitcoins-Step-2-Version-3.jpg\/v4-728px-Mine-Bitcoins-Step-2-Version-3.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

2

如果你比较看重比特币挖矿这件事,那就花钱买一个硬件钱包。硬件钱包可能需要花费一两千块钱,但它更安全。因为它们不会连接到互联网,所以不容易被黑客攻击。如果你打算长期保存自己的比特币,硬件钱包可能是一笔物有所值的投资。[3]

X

研究来源

Trezor和Ledger是目前比较常用的两款硬件钱包。你可以在网上或销售电脑用品和配件的实体店买到。

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/2\/2a\/Mine-Bitcoins-Step-3-Version-3.jpg\/v4-460px-Mine-Bitcoins-Step-3-Version-3.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/2\/2a\/Mine-Bitcoins-Step-3-Version-3.jpg\/v4-728px-Mine-Bitcoins-Step-3-Version-3.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

3

启用钱包的所有安全功能。一旦选好了比特币钱包,那就将它设置为最高安全级别,以便妥善保护你的比特币。你可以使用双重身份验证来保护自己的账户。在登录时,你会收到以短信或电子邮件发来的验证码。你必须输入验证码才能进入账户。这一措施能让你的账户不容易受到黑客攻击。[4]

X

研究来源

确保你选择的密码是安全的,不容易被别人猜到。如果你的电脑或智能手机上安装了密码管理器,你可以用它来创建一个经过加密的安全密码。

小提示:如果你使用的软件或移动钱包,务必记住,钱包的安全性取决于它所安装在的设备。确保你已经在电脑或智能手机上采取了强大的安全措施,包括加密、防火墙和最新的防病毒保护。

广告

方法 2

方法 2 的 3:

签订云采矿合约

下载PDF文件

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/6\/6b\/Mine-Bitcoins-Step-4-Version-3.jpg\/v4-460px-Mine-Bitcoins-Step-4-Version-3.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/6\/6b\/Mine-Bitcoins-Step-4-Version-3.jpg\/v4-728px-Mine-Bitcoins-Step-4-Version-3.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

1

决定选择哪个云计算服务提供商。目前有许多不同的云计算服务提供商,其中有一些不错的选择。每种服务会收取不同的费用,并且还有不同的合约套餐可供挑选。[5]

X

研究来源

Genesis、Hashflare和Minex是比较受欢迎的云挖矿服务。然而,即便口碑最好、最受欢迎的服务也经常出现合约被转手的情况。

仔细研究相关的服务。云计算领域已经出现了很多骗局。你要确保相关公司是合法的,并且声誉良好。你可以搜索服务的名称,看看大家在网上对它的评价。CryptoCompare等网站也可以帮助你分析某些公司的声誉。详情可以访问 https://www.cryptocompare.com/mining/#/companies 。

要小心那些信誓旦旦说能帮你赚钱,但实际上是夸大其词的云计算服务。这很可能是一个骗局。没有任何云挖矿服务能保证让你赚到多少钱,或者保证你在很短的时间内就能收回成本,开始盈利。

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/4\/45\/Mine-Bitcoins-Step-5-Version-3.jpg\/v4-460px-Mine-Bitcoins-Step-5-Version-3.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/4\/45\/Mine-Bitcoins-Step-5-Version-3.jpg\/v4-728px-Mine-Bitcoins-Step-5-Version-3.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

2

选择一个云挖矿合约套餐。选择云挖矿,你基本上就是在一段时间内从矿场租赁它们的挖矿能力而已。在合约生效后,你就能获得合约所约定的挖矿能力所开采的所有比特币,但要从中减去支付给云挖矿服务的挖矿硬件维护费用。

合约有效期通常为1到3年,但也有一些会更长一点。虽然有效期较短的合约价格也会更低,但你不大可能在短时间内赚到钱。通常,实现收支平衡至少得要两年。

合约价格各不相同,通常小规模的合约还不到100美元,而具备更高采矿能力的大规模合约就需要几千美元,具体以“哈希率”来表示。比如,截至2019年,Genesis提供为期两年的比特币挖矿合约,价格为50美元,可以获得1 TH/s(每秒1 万亿个哈希计算,或每秒1,000,000,000个哈希计算)。这听起来是个很大的数字,但在这样的小规模合约中,你是不大可能在两年内做到收支平衡的。另一方面,你也可以花6125美元签订一份5年合约,然后就能达到每秒25万亿个哈希计算。

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/6\/68\/Mine-Bitcoins-Step-6-Version-3.jpg\/v4-460px-Mine-Bitcoins-Step-6-Version-3.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/6\/68\/Mine-Bitcoins-Step-6-Version-3.jpg\/v4-728px-Mine-Bitcoins-Step-6-Version-3.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

3

把你的收入提取到自己的安全钱包中。在购买合约后,购得的采矿能力就会马上开始为你挖矿。等你赚到比特币时,它就会显示在你的云端挖矿服务账户上。等攒够了足够多的比特币,你就可以把它发送到自己的钱包里。[6]

X

研究来源

一些云计算服务可能会按照事先约定的时间表来定期支付,比每月或每季度支付一次。其他一些服务可能会允许你随时提取自己的收入,但通常都有一个最低限额。最低限额从0.05 BTC到0.00002 BTC不等。

小提示:即使合约一开始就会帮你赚取比特币,但你还得扣掉签订合约所付的款项,然后才能开始真正盈利。大多数小规模的合约永远不会给你带来利润。就算是大规模的合约,你可能也得等上好几年才能开始盈利。

广告

方法 3

方法 3 的 3:

使用你自己的硬件

下载PDF文件

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/1\/17\/Mine-Bitcoins-Step-7-Version-3.jpg\/v4-460px-Mine-Bitcoins-Step-7-Version-3.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/1\/17\/Mine-Bitcoins-Step-7-Version-3.jpg\/v4-728px-Mine-Bitcoins-Step-7-Version-3.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

1

使用在线挖矿计算器来计算挖矿的盈利能力。挖矿设备可能相对比较贵,并且耗电量惊人。在线挖矿计算器上的不同设置可以帮助你确定是否值得一试。[7]

X

研究来源

CryptoCompare推出了一个挖矿计算器,网址是https://www.cryptocompare.com/mining/calculator/ 。

对于新手而言,你可能并不清楚所有相关的信息,比如矿池费用或电力成本。但是,你提供的信息越详细,盈利能力的估计就越准确。

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/8\/8d\/Mine-Bitcoins-Step-8-Version-3.jpg\/v4-460px-Mine-Bitcoins-Step-8-Version-3.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/8\/8d\/Mine-Bitcoins-Step-8-Version-3.jpg\/v4-728px-Mine-Bitcoins-Step-8-Version-3.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

2

购买ASIC矿机和电源作为挖矿设备。ASIC矿机是一种专为挖比特币而设计的特定应用集成电路(ASIC)。从本质上讲,它就是一个计算机芯片,需要由专门的电源来为它供电。ASIC矿机的价格各不相同,具体要看它的哈希算力和效率。[8]

X

研究来源

比如,Bitmain Antminer S15的最大哈希率为28 TH/s,功率为1596W。在一年的时间里,你可以用这台矿机赚取价值不到200美元的比特币,而且这要取决于你的电力成本。然而,考虑到这款矿机的成本在1500美元至2000美元之间,按照这个速度,以4000美元的比特币价格来计算,你至少得花7到10年才能开始盈利。

你可以密切关注比特币的价格,计算出实现利润到底需要多长时间。利润也可能会随电价而变化。

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/4\/4f\/Mine-Bitcoins-Step-9.jpg\/v4-460px-Mine-Bitcoins-Step-9.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/4\/4f\/Mine-Bitcoins-Step-9.jpg\/v4-728px-Mine-Bitcoins-Step-9.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

3

连接矿机并启动它。把你买来的ASIC矿机接通电源,然后再把它连接到路由器。最好是用以太网电缆来连接矿机,因为无线连接不够稳定。[9]

X

研究来源

在网络浏览器中输入你的路由器的IP地址。这样就能进入路由器的管理页面。点击“连接的设备”,找到你的ASIC矿机的IP地址。把ASIC矿机的IP地址复制并粘贴到网络浏览器中。这样你才能对矿机进行配置。

小提示:只要矿机在同一网络中,任何电脑或电子设备就都能访问路由器和ASIC矿机——甚至是通过智能手机。因此要确保你的网络受到防火墙和强密码的保护。

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/8\/8f\/Mine-Bitcoins-Step-10.jpg\/v4-460px-Mine-Bitcoins-Step-10.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/8\/8f\/Mine-Bitcoins-Step-10.jpg\/v4-728px-Mine-Bitcoins-Step-10.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

4

在联网的电脑上下载比特币挖矿软件。在连接好硬件之后,你还得下载软件,然后才能开始挖比特币。有许多不同的挖矿程序可供选择,而CGminer和BFGminer是其中最流行的两个。但这两个程序都是命令行程序,所以如果你不是特别精通电脑技术,它们用起来还是有些难度的。[10]

X

研究来源

大多数在Windows电脑上运行的挖矿软件也可以在Mac OS X电脑上运行。

EasyMiner带有图形界面,所以更直观,用起来更方便,特别是对于电脑技能有限的新手。EasyMiner可以在Windows、Linux和Android设备上运行。截至2019年,EasyMiner还没有推出Mac OS X版本。

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/d\/d2\/Mine-Bitcoins-Step-11.jpg\/v4-460px-Mine-Bitcoins-Step-11.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/d\/d2\/Mine-Bitcoins-Step-11.jpg\/v4-728px-Mine-Bitcoins-Step-11.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

5

加入矿池。矿池是由矿机组成的群体,它们将自己的哈希算力汇集到一起,以便提高挖矿速度。矿池让你能够和那些拥有巨大哈希算力的采矿场大型采矿群体竞争。加入矿池不用预先支付任何费用。只是矿池会从挖到的比特币中抽取一定的比例(通常在1%到2%之间)。[11]

X

研究来源

BitMinter、CK Pool和Slush Pool都是一些常用的矿池,它们都成功运作了很长的时间,已经很成熟了。

要是不加入矿池,你可能要挖好几年才能看到利润。如果加入了一个大型矿池,你甚至有可能在几个月内就开始赚取比特币。

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/1\/15\/Mine-Bitcoins-Step-12.jpg\/v4-460px-Mine-Bitcoins-Step-12.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/1\/15\/Mine-Bitcoins-Step-12.jpg\/v4-728px-Mine-Bitcoins-Step-12.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

6

把你的矿机配置到矿池中开始工作。一旦选好了矿池,并且设好了矿工账户,那就进入你的ASIC矿机配置屏幕,输入矿池的IP地址。然后输入你为矿池创建的矿工名称和密码。输入这些信息后,要记得保存设置。

一旦保存了设置,你的矿工就会开始在矿池中工作。你可以去矿池账户查看矿工状态,评估一下它的表现。但要记住,矿池可能需要一个小时才能显示你的矿工当前的哈希率。

{"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/3\/34\/Mine-Bitcoins-Step-13.jpg\/v4-460px-Mine-Bitcoins-Step-13.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/3\/34\/Mine-Bitcoins-Step-13.jpg\/v4-728px-Mine-Bitcoins-Step-13.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"

<\/div>"}

7

把你挖到的所有比特币转到安全钱包里。在挖比特币时,它会显示在你的矿池账户中。矿池可能会按月或季度自动把比特币转给你,或者你也可以手动完成这一操作。

一些矿池可能会设定比特币的最低转移限额,通常是0.001 BTC左右。你或许可以提取更小的金额,但可能会收取一定的费用。

广告

警告

不要购买二手ASIC矿机。它们很容易宕机,可能还没帮你赚到钱就彻底坏掉。

加密货币的波动很剧烈。比特币的市场价值会经常变化。投到比特币上的资金不要超出你能承受的损失范围。

不要还想着用自己的CPU或GPU来挖比特币。虽然曾经这是可能的,但现在的区块链已经今非昔比,这样并不是可行的选择。最终,你花的电费会比你赚到的比特币还多得多,而且还很有可能会烧毁你的电脑设备。[12]

X

研究来源

广告

相关wikiHows

你可能还喜欢

如何登录Twitter

如何下载YouTube视频

如何保存Instagram上的图片

如何从SIM卡中获取你的手机号码

如何从网站上免费下载视频

如何在安卓上保存Telegram视频

如何在Instagram上隐藏你关注了哪些人

如何打开EPUB文件

如何绕过YouTube的年龄限制

如何修好一边没声音的耳机

如何知道别人是否在Whatsapp上把你屏蔽了

如何知道自己是否被Discord上的好友拉黑了

如何关掉YouTube上的广告

如何使用VPN

广告

参考

↑ https://99bitcoins.com/bitcoin-mining/

↑ https://www.buybitcoinworldwide.com/mining/software/

↑ https://www.buybitcoinworldwide.com/mining/software/

↑ https://bitcoin.org/en/secure-your-wallet

↑ https://www.bitcoinmining.com/getting-started/

↑ https://www.bitcoinmining.com/getting-started/

↑ https://www.investopedia.com/tech/how-does-bitcoin-mining-work/

↑ https://www.asicminervalue.com/miners/bitmain/antminer-s15-28th

↑ https://www.bitcoinmining.com/getting-started/

更多参考

↑ https://www.buybitcoinworldwide.com/mining/software/

↑ https://www.bitcoinmining.com/getting-started/

↑ https://www.bitcoinmining.com/getting-started/

关于本wikiHow

共同创作者是 :

Vinny Lingam

比特币专家

这篇文章的共同创作者是 Vinny Lingam. Vinny Lingam是Civic Technologies的首席执行官,这家初创公司主要提供区块链认证解决方案,以方便用户控制和保护身份信息。Vinny于2006年荣获了“非洲最佳ICT青年企业家奖”,并于2009年参加了“全球青年领袖世界经济论坛”。Vinny在2015年被评选为“全球500强首席执行官”之一。他获得了南非大学的电子商务学士学位。 这篇文章已经被读过62,938次。

分类: 计算机与电子产品

其他语言

English:Mine Bitcoin

Português:Minerar Bitcoins

Español:minar bitcoins

Русский:майнить биткойны

Français:miner des bitcoins

Bahasa Indonesia:Menambang Bitcoin

Tiếng Việt:Đào Bitcoin

한국어:비트코인 채굴하는 방법

日本語:ビットコインを採掘する

ไทย:ขุดเหมืองบิทคอยน์

العربية:تعدين البيتكوين

हिन्दी:बिटकॉइन में पैसा इन्वेस्ट करें

打印

本页面已经被访问过62,938次。

这篇文章对你有帮助吗?

不是

广告

启用cookies能优化您使用wikiHow的体验。接受我们的cookie相关条例, 继续使用wikiHow.

有关 wikiHows如何登录Twitter如何下载YouTube视频如何保存Instagram上的图片如何从SIM卡中获取你的手机号码

订阅wikiHow新闻通讯

每周通过邮箱接收有用的万事指南!

立即注册!

关注我们

分享TweetPin It

分类计算机与电子产品

首页

关于wikiHow

专家

联系我们

站点地图

使用条款(英文)

隐私政策

Do Not Sell or Share My Info

Not Selling Info

关注我们

×

不要错过!注册

wikiHow的新闻通讯

订阅!

--315

Buy/Sell Bitcoin, Ether and Altcoins | Cryptocurrency Exchange | Binance

Buy/Sell Bitcoin, Ether and Altcoins | Cryptocurrency Exchange | Binance

Error 403 Forbidden - This request is blocked.

For security reasons you can't connect to the server for this app or website at this time.

It maybe that you have too many requests or the illegal request payload is identified as an attack.

Please try again later.

比特币哈希值的计算方法(俗称挖矿) - 知乎

比特币哈希值的计算方法(俗称挖矿) - 知乎切换模式写文章登录/注册比特币哈希值的计算方法(俗称挖矿)夸克资深AI算法工程师一、什么是比特币的哈希值?比特币的哈希值是指比特币区块的哈希值,它是比特币区块链中的每个区块的一个唯一标识符,是通过使用哈希算法(如SHA-256)对区块的数据内容进行计算得到的。比特币哈希值的计算方法,通常被称为“挖矿”,是比特币网络中用于验证交易并创建新区块的过程。比特币的哈希值计算是比特币网络中一个关键的环节,涉及到工作量证明(Proof of Work, PoW)机制。在这个过程中,矿工需要找到一个区块哈希值,使得该哈希值小于或等于当前的难度目标。这个过程涉及以下步骤:1、区块头的准备:版本号:区块的版本号,对于创世块[1]和早期区块来说,版本号是1,表示为十六进制中的 01000000。前一个区块的哈希值:当前区块的前一个区块的哈希值。对于创世块来说,这个值是全0。梅克尔根:该区块中所有交易的哈希值的梅克尔树根。时间戳:区块的创建时间,以Unix时间戳的形式表示。难度目标:一个数值,表示了区块哈希值的难度。随机数(nonce):一个用于挖矿的随机数。2、执行SHA-256哈希:使用SHA-256哈希算法对区块头进行哈希计算。由于SHA-256的输出是256位(32字节),因此得到的哈希值是一个固定大小的数字。3、调整难度目标:比特币网络会根据当前的挖矿难度自动调整难度目标,以确保区块的生成速度大致保持恒定。挖矿难度是由网络的总计算能力决定的。4、找到满足条件的哈希值:矿工的目标是找到一个区块哈希值,使得该哈希值小于或等于当前的难度目标。由于哈希值是随机的,而难度目标是一个相对较大的数字,因此这是一个计算密集型的过程。5、区块哈希的重新计算:一旦矿工找到了满足条件的区块哈希值,区块头中的nonce值会被更新。然后,整个区块头会重新进行SHA-256哈希计算,得到新的区块哈希值。6、添加到区块链:新的区块哈希值一旦计算出来,该区块就会被添加到区块链中。这个新的区块哈希值会被网络中的其他节点验证。 这个过程确保了区块的添加过程既困难又耗时,从而防止了区块的篡改和双重支付。矿工通过不断尝试不同的nonce值来找到满足难度目标的区块哈希值,这个过程被称为“挖矿”。二、创世块(Genesis Block)的哈希值比特币的创世块(Genesis Block)是区块链的第一个区块,它被挖出并添加到区块链中,标志着比特币网络的开始。创世块的哈希值是 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f,这个值是如何计算得到的呢?答案:这个值是通过将创世块的头部信息进行两次SHA-256哈希计算得到的。创世块的头部信息可以通过下面这个API地址进行查询(最后一位数字0代表第一个区块):https://api.blockcypher.com/v1/btc/main/blocks/0查询接口返回的是一个JSON对象,它描述了比特币的创世块(Genesis Block)的一些关键信息。{

"hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",

"height": 0,

"chain": "BTC.main",

"total": 5000000000,

"fees": 0,

"size": 285,

"vsize": 285,

"ver": 1,

"time": "2009-01-03T18:15:05Z",

"received_time": "2009-01-03T18:15:05Z",

"relayed_by": "",

"bits": 486604799,

"nonce": 2083236893,

"n_tx": 0,

"prev_block": "0000000000000000000000000000000000000000000000000000000000000000",

"mrkl_root": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",

"txids": [],

"depth": 833360,

"prev_block_url": "https://api.blockcypher.com/v1/btc/main/blocks/0000000000000000000000000000000000000000000000000000000000000000",

"tx_url": "https://api.blockcypher.com/v1/btc/main/txs/"

这个对象包含了创世块的20个属性:hash:创世块的哈希值,它是通过SHA-256哈希算法计算得到的256位哈希。height:创世块在区块链中的高度,即它是第0个区块。chain:区块链的网络名称,这里是“BTC.main”,指的是比特币的主网络。total:创世块中包含的比特币总量,这里是50亿(500,000,000)个比特币。fees:创世块中包含的交易费用,创世块没有交易费用,所以这里是0。size:创世块的字节大小。vsize:创世块的虚拟大小,它与实际大小不同,用于在小内存环境中优化。ver:创世块的版本号,这里是1。time:创世块的创建时间,这里是2009年1月3日18:15:05 UTC。received_time:创世块被网络接收的时间,与创建时间相同。relayed_by:发送创世块的节点地址,这里为空。bits:创世块的难度目标,这里是486604799。nonce:用于挖矿的随机数,这里是2083236893。n_tx:创世块中包含的交易数量,创世块没有交易,所以这里是0。prev_block:前一个区块的哈希值,创世块没有前一个区块,所以这里是全0。mrkl_root:梅克尔根,它是创世块中所有交易的哈希树的根哈希值。txids:创世块中包含的交易ID列表,创世块没有交易,所以这里是空列表。depth:创世块的深度,即从创世块到当前区块的距离。prev_block_url:前一个区块的URL链接,创世块没有前一个区块,所以这个链接是空的。tx_url:创世块中包含的交易URL链接,创世块没有交易,所以这个链接是空的。An example of BlockChain of a genesis block followed by two blocks (Block 1 and Block 2).三、使用Python计算创世块(Genesis Block)的哈希值[2]下面通过Python代码演示如何计算哈希值1、查询创世块的信息import requests

from hashlib import sha256

# 定义获取区块并计算SHA-256哈希的函数

def get_block_data(block_height=0, network='bitcoin'):

# 使用blockr.io API获取区块数据

block_url = f"https://api.blockcypher.com/v1/btc/main/blocks/{block_height}"

response = requests.get(block_url)

if response.status_code == 200:

block_data = response.json()

return block_data

else:

print("Error: Unable to retrieve block data")

return None

# 获取创世块和第二个块的哈希值

genesis = get_block_data(0)

block_1 = get_block_data(1)

# 打印哈希值

print(f"创世块的SHA-256哈希值: {genesis['hash']}")

print(f"第二个块的SHA-256哈希值: {block_1['hash']}")

创世块的SHA-256哈希值: 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f 第二个块的SHA-256哈希值: 00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb60482、数值处理# 梅克尔根十六进制字符串

hex_string = genesis["mrkl_root"]

# 将字符串分割成32个字符的列表

chunks = [hex_string[i:i+2] for i in range(0, len(hex_string), 2)]

# 逆序每个2字符的块

reversed_chunks = chunks[::-1]

# 将逆序的块合并成一个新的字符串

mrkl_root_hex = ''.join(reversed_chunks)

print(f"梅克尔根小端格式的十六进制: {mrkl_root_hex}")梅克尔根小端格式的十六进制: 3ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4aimport struct

from datetime import datetime

# 定义日期和时间

date_str = genesis['time']

date_format = "%Y-%m-%dT%H:%M:%SZ"

# 将字符串转换为 datetime 对象,这里使用的是UTC时区

date_obj = datetime.strptime(date_str, date_format)

# 将 datetime 对象转换为 Unix 时间戳

unix_timestamp = int(date_obj.timestamp())

# 由于北京时间是UTC+8,我们需要加上8个小时

corrected_unix_timestamp = unix_timestamp + 8 * 3600

# 转换为小端格式(little-endian)

little_endian_bytes = struct.pack('

# 将结果转换为十六进制

timestamp_hex = little_endian_bytes.hex().upper()

print(f"时间戳:{corrected_unix_timestamp},小端格式的十六进制:{timestamp_hex}")

时间戳:1231006505,小端格式的十六进制:29AB5F49# 转换创世块的bits为十六进制小端格式(little-endian)

bits_hex = struct.pack('

print(f"难度目标小端格式的十六进制: {bits_hex}")难度目标小端格式的十六进制: FFFF001D# 转换nonce为十六进制小端格式(little-endian)

nonce_hex = struct.pack('

print(f"随机数小端格式的十六进制: {nonce_hex}")

随机数小端格式的十六进制: 1DAC2B7C# 转换ver为4字节的字节字符串,十六进制小端格式

version_hex = struct.pack('

print(f"版本小端格式的十六进制: {ver_hex}")版本小端格式的十六进制: 01000000previous_block_hash = genesis["prev_block"]

print(f"前一个区块的哈希值: {previous_block_hash}")前一个区块的哈希值: 0000000000000000000000000000000000000000000000000000000000000000组合创世块的头部信息(十六进制格式)3、计算哈希值# 组合创世块的头部信息(十六进制格式)

header_hex = version_hex+previous_block_hash+mrkl_root_hex+timestamp_hex+bits_hex+nonce_hex

# 将十六进制字符串转换为二进制形式

header_bin = unhexlify(header_hex)

# 计算SHA-256哈希值

hash_value = hashlib.sha256(hashlib.sha256(header_bin).digest()).digest()

# 将结果转换为小端格式的十六进制字符串

genesis_hash_hex = hexlify(hash_value[::-1]).decode('utf-8')

print(genesis_hash_hex)

计算得到的创世块的SHA-256哈希值: 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f可以看到,计算的最终结果和创世块查询接口返回的SHA-256哈希值是一致的。每个比特币(在技术上是指比特币交易,而不是比特币本身,因为比特币是区块链上的一个数字单位)都有一个哈希值。这个哈希值是由交易的输入和输出以及其他信息通过SHA-256哈希算法计算得出的。在比特币系统中,交易是打包成一个区块的,然后这些区块被链接在一起形成区块链。每个区块都包含了一系列的交易,这些交易在区块链上是不可变的。一旦一个区块被添加到区块链中,就无法更改该区块中的任何交易,因为这将导致该区块及其后所有区块的哈希值发生变化。每个交易都有一个唯一的哈希值,这个哈希值是交易数据的SHA-256哈希。交易哈希值用于确保交易的完整性和不可篡改性。在区块链上,交易哈希值还用于创建梅克尔树(Merkle Tree),这是一种数据结构,用于高效地验证交易集合的完整性。因此,可以说比特币系统中的每个交易都有一个哈希值,这些哈希值是区块链安全性和一致性的关键组成部分。比特币交易本身的哈希值在创建后不会改变,但是包含该交易的区块会有一个新的哈希值,这个新哈希值是在区块被挖出并添加到区块链时计算得出的。参考^创世块(Genesis Block)是区块链的第一个区块^https://medium.com/@stolman.b/how-to-hash-the-genesis-block-like-a-pro-3cc437a4a237发布于 2024-03-06 15:16・IP 属地北京比特币 (Bitcoin)虚拟货币区块链(Blockchain)​赞同​​添加评论​分享​喜欢​收藏​申请

Just a moment...

a moment...Enable JavaScript and cookies to conti

Just a moment...

a moment...Enable JavaScript and cookies to conti

比特币入门教程 - 阮一峰的网络日志

比特币入门教程 - 阮一峰的网络日志

阮一峰的网络日志 » 首页 » 档案

上一篇:区块链入门教程    

下一篇:加密货币的本质    

分类:

理解计算机

⇐ 

 ⇒

比特币入门教程

作者: 阮一峰

日期: 2018年1月 4日

比特币(bitcoin)诞生于2008年的一篇论文。

一个署名为中本聪的人,提出了革命性的构想:让我们创造一种不受政府或其他任何人控制的货币!这个想法堪称疯狂:一串数字,背后没有任何资产支持,也没有任何人负责,你把它当作钱付给对方,怎么会有人愿意接受?

但是,狂想居然变成了现实。随后的几年,在全世界无数爱好者的支持下,比特币网络运行起来了,越来越多的人和资本参与,星星之火,终成燎原。刚刚过去的2017年,比特币迎来了爆发式的增长,从年初的1000美元,最高涨到了2万美元,全世界都为之震动,上到政府,下到普通百姓都在关注。事实就是比特币已经并将继续改变世界。

新闻媒体往往只关注它的火爆表现,忽视或者无法回答一些基本的问题。

比特币的原理是什么?

为什么这个无人管理的体系可以成功运作?

比特币交易的流程是怎么回事?

它与区块链又是什么关系?

下面,我尝试回答这些问题,希望帮助大家理解比特币。抛开技术细节,还是很容易解释的。

有一点说明,本文只讨论技术问题,不涉及如何投资比特币,更不会预测价格走势。事实上,我也不知道,如果我知道怎么发财,可能就不会在这里写博客了。

一、非对称加密

首先,理解比特币,必须理解非对称加密。

你可能听说过这个词,所谓非对称加密,其实很简单,就是加密和解密需要两把钥匙:一把公钥和一把私钥。

公钥是公开的,任何人都可以获取。私钥是保密的,只有拥有者才能使用。他人使用你的公钥加密信息,然后发送给你,你用私钥解密,取出信息。反过来,你也可以用私钥加密信息,别人用你的公钥解开,从而证明这个信息确实是你发出的,且未被篡改,这叫做数字签名(更详细的介绍请看《什么是数字签名》)。

现在请设想,如果公钥加密的不是普通的信息,而是加密了一笔钱,发送给你,这会怎样?

首先,你能解开加密包,取出里面的钱,因为私钥在你手里。其次,别人偷不走这笔钱,因为他们没有你的私钥。因此,支付可以成功。

这就是比特币(以及其他数字货币)的原理:非对称加密保证了支付的可靠性。

由于支付的钱必须通过私钥取出,所以你是谁并不重要,重要的是谁拥有私钥。只有拥有了私钥,才能取出支付给你的钱。(事实上,真实的交易流程稍有不同,私钥保证的不是取出支付给你的钱,而是保证只有你能把这些属于你的钱支付出去,详见后文。)

二、比特币钱包

对于比特币来说,钱不是支付给个人的,而是支付给某一把私钥。这就是交易匿名性的根本原因,因为没有人知道,那些私钥背后的主人是谁。

所以,比特币交易的第一件事,就是你必须拥有自己的公钥和私钥。

你去网上那些比特币交易所开户,它们会让你首先生成一个比特币钱包(wallet)。这个钱包不是用来存放比特币,而是存放你的公钥和私钥。软件会帮你生成这两把钥匙,然后放在钱包里面。

根据协议,公钥的长度是512位。这个长度不太方便传播,因此协议又规定,要为公钥生成一个160位的指纹。所谓指纹,就是一个比较短的、易于传播的哈希值。160位是二进制,写成十六进制,大约是26到35个字符,比如 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2。这个字符串就叫做钱包的地址,它是唯一的,即每个钱包的地址肯定都是不一样的。

你向别人收钱时,只要告诉对方你的钱包地址即可,对方向这个地址付款。由于你是这个地址的拥有者,所以你会收到这笔钱。

由于你是否拥有某个钱包地址,是由私钥证明的(具体的证明方法稍后介绍),所以一定要保护好私钥。这是极其重要的,如果你的私钥被偷了,你的比特币也就等于没了,因为他人可以冒用你的身份了,把钱包里面的钱都转走。

同样的,你向他人支付比特币,千万不能写错他人的钱包地址,否则你的比特币就支付到了另一个不同的人了。

三、交易过程

下面,我把整个流程串起来,看看比特币如何完成一笔交易。

一笔交易就是一个地址的比特币,转移到另一个地址。由于比特币的交易记录全部都是公开的,哪个地址拥有多少比特币,都是可以查到的。因此,支付方是否拥有足够的比特币,完成这笔交易,这是可以轻易验证的。

问题出在怎么防止其他人,冒用你的名义申报交易。举例来说,有人申报了一笔交易:地址 A 向地址 B 支付10个比特币。我怎么知道这个申报是真的,申报人就是地址 A 的主人?

比特币协议规定,申报交易的时候,除了交易金额,转出比特币的一方还必须提供以下数据。

上一笔交易的 Hash(你从哪里得到这些比特币)

本次交易双方的地址

支付方的公钥

支付方的私钥生成的数字签名

验证这笔交易是否属实,需要三步。

第一步,找到上一笔交易,确认支付方的比特币来源。

第二步,算出支付方公钥的指纹,确认与支付方的地址一致,从而保证公钥属实。

第三步,使用公钥去解开数字签名,保证私钥属实。

经过上面三步,就可以认定这笔交易是真实的。

四、交易确认与区块链

确认交易的真实性以后,交易还不算完成。交易数据必须写入数据库,才算成立,对方才能真正收到钱。

比特币使用的是一种特殊的数据库,叫做区块链(blockchain),详细的介绍请看《区块链入门教程》。本文只讨论交易如何写入区块链。

首先,所有的交易数据都会传送到矿工那里。矿工负责把这些交易写入区块链。

根据比特币协议,一个区块的大小最大是 1MB,而一笔交易大概是500字节左右,因此一个区块最多可以包含2000多笔交易。矿工负责把这2000多笔交易打包在一起,组成一个区块,然后计算这个区块的哈希。

计算哈希的过程叫做采矿,这需要大量的计算。矿工之间也在竞争,谁先算出哈希,谁就能第一个添加新区块进入区块链,从而享受这个区块的全部收益,而其他矿工将一无所获。

一笔交易一旦写入了区块链,就无法反悔了。这里需要建立一个观念:比特币不存放在钱包或其他别的地方,而是只存在于区块链上面。区块链记载了你参与的每一笔交易,你得到过多少比特币,你又支付了多少比特币,因此可以算出来你拥有多少资产。

五、矿工的收益

交易的确认离不开矿工。为什么有人愿意做矿工呢?

比特币协议规定,挖到新区块的矿工将获得奖励,一开始(2008年)是50个比特币,然后每4年减半,目前(2018年)是12.5个比特币。这也是比特币的供给增加机制,流通中新增的比特币都是这样诞生的。

你可能看出来了,每4年奖励减半,由于比特币可以分割到小数点后八位,那么到了2140年,矿工将得不到任何奖励,比特币的数量也将停止增加。这时,矿工的收益就完全依靠交易手续费了。

所谓交易手续费,就是矿工可以从每笔交易抽成,具体的金额由支付方自愿决定。你完全可以一毛不拔,一分钱也不给矿工,但是那样的话,你的交易就会没人处理,迟迟无法写入区块链,得到确认。矿工们总是优先处理手续费最高的交易。

目前由于交易数量猛增,手续费已经水涨船高,一个区块2000多笔交易的手续费总额可以达到3~10个比特币。如果你的手续费给低了,很可能过了一个星期,交易还没确认。

一个区块的奖励金12.5个比特币,再加上手续费,收益是相当可观的。按照目前的价格,可以达到100万~200万人民币。想想看,运气好的话,几分钟就能挖到一个区块,拿到这样一大笔钱,怪不得人们对挖矿趋之若鹜。

六、区块的扩容

《区块链入门教程》说过,比特币协议规定,平均10分钟诞生一个区块。区块的大小只有 1MB,最多只能包含2000多笔交易。也就是说,比特币网络每10分钟,最多只能处理2000多笔交易,换算一下,就是处理速度为3~5笔/秒。

全世界的比特币交易这么多,可是区块链每秒最多只能处理5笔,这已经成为制约比特币发展的一个瓶颈。

很早就有人呼吁,改革比特币协议,提升处理速度。这件事在2017年8月有了一点眉目,当时区块链发生了一次分叉,诞生了一个新协议,称为 Bitcoin Cash(简称 BCH)。这种新货币其他方面都与比特币一致,就是每个区块的大小从 1MB 增加到了 8MB,因此处理速度提升了8倍,手续费也低得多。该协议是对原有区块链的分叉,因此当时持有比特币的人,等于一人获赠了一份同样数量的 BCH。

BCH 等于创造了一种新货币,还有人提议,原始比特币的区块大小提升到 2MB,这称为 SegWit2x 。这个建议原定于2017年11月实施,但是最后一刻由于缺乏共识,就被取消了,目前还在讨论中。

七、点对点网络

比特币是一个全世界的开放网络,只要你有服务器,就能加入这个网络,成为一个节点。每个节点都包含了整个区块链(目前大概 100多 GB),并且节点之间时刻不停地在同步信息。

当你发生了一笔支付,你所在的节点就会把这笔交易告诉另一个节点,直至传遍整个网络。矿工从网上收集各种新发生的交易,将它们打包写入区块链。一旦写入成功,

矿工所在节点的区块链,就成为最新版本,其他节点都会来复制新增的区块,保证全网的区块链都是一致的。

最后,你所在的节点也拿到了最新的区块链,从而得知你早先的那笔交易,已经写在里面了,至此交易确认成功。

八、还有一个问题

写到这里,我就介绍完了比特币的基本知识,希望你已经明白了比特币是怎么回事。但是还有一个根本的问题,我没有回答:比特币的本质到底是什么?

说到底,比特币只是区块链的一条记录,是凭空生成的,为什么可以当钱用?举例来说,矿工获得12.5个比特币的奖励,其实就是区块链有一个记录:"xxx地址获得12.5个比特币"。正是这行记录,导致该矿工获得了大笔金钱。如果区块链突然增加了一条记录,记载你的地址获得了1000个比特币,你就真的会有1000个比特币。这到底是为什么?

这篇文章已经够长了,这个问题就留到下次再谈,欢迎关注本系列的最后一篇文章《加密货币的本质》。

九、参考链接

How Bitcoin works , by Timothy B. Lee

Bitcoins the hard way: Using the raw Bitcoin protocol, by Ken Shirriff

(完)

文档信息

版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)

发表日期: 2018年1月 4日

相关文章

2022.08.02: DNS 查询原理详解

通过 DNS 查询,得到域名的 IP 地址,才能访问网站。

2022.06.03: 字节序探析:大端与小端的比较

今天谈谈一个重要的计算机概念,大家可能都听说过它,但是很少深究,那就是字节序(Endianness)。

2022.02.04: 万兆家庭网络的时代

最近,我想将家里的网络设备,都升级到千兆。

2021.12.07: 为什么 Web3 与区块链有关

互联网迄今有两个阶段:Web 1.0 和 Web 2.0。

留言(162条)

Jaxure

说:

哈哈 最近阮老师集中研究这一块

2018年1月 4日 08:59

| #

| 引用

L.Rain

说:

引用Jaxure的发言:

哈哈 最近阮老师集中研究这一块

阮老师要出手了,哈哈

2018年1月 4日 09:25

| #

| 引用

binary

说:

"这个钱包不是用来存放比特币,而是存放你的公钥和私钥。软件会帮你生成这两把私钥,然后放在钱包里面。"

应该是生成这两把密钥

2018年1月 4日 09:34

| #

| 引用

zyg

说:

传说的去中心化呢~ 到头来还是矿工中心化~ 算力决定一切 哈哈~

2018年1月 4日 10:01

| #

| 引用

温国兵

说:

纠正一个错误

“你可能看出来了,每 4 年奖励减半,那么到了 2140 年,矿工将得不到任何奖励,比特币的数量也将停止增加。这时,矿工的收益就完全依靠交易手续费了。”

这里应该是 2040 年。

2018年1月 4日 10:07

| #

| 引用

机器猫电路改造

说:

关于第八个问题,不知道阮老师后续文章会不会谈到"比特币的伦理"问题;

比如比特币的出现对现阶段资源分配方式的影响?

如何面对和传统货币一样会带来犯罪问题? 对资源分配方式的处理问题?

另外,不知道阮老师,有没有机会谈一谈 World Community Grid,BOIN 等等这些分布计算? 很好奇,数字货币有没有可能和这些分布计算实现更科学的结合? 而不是像矿工们那样浪费资源.

2018年1月 4日 10:21

| #

| 引用

HiTimor

说:

好好好,入门篇。

2018年1月 4日 10:27

| #

| 引用

Mike

说:

比特币技术复杂、普通人不能很好的理解。比特币没有金融监管、容易产生金融犯罪。前段时间的黑客勒索无不采用比特币技术。所以个人并不看好这一块的技术。

2018年1月 4日 10:29

| #

| 引用

bravist

说:

写的真是通俗易懂,读了好多比特币的文章,这个原理解释地道

2018年1月 4日 10:35

| #

| 引用

小白

说:

有点疑惑,交易平台肯定需要维护 哪个比特币钱包是哪个用户的吧,而比特币钱包里包含公钥私钥,这样交易平台不就可以知道比特币是哪个用户的么

2018年1月 4日 11:37

| #

| 引用

TONYHEAD

说:

有若干疑问:

一个100GB的数据库就可以记录到比特币创立至今的所有交易往来?

"2000笔交易的区块手续费是3-10个比特币",这个交易成本太高了,2000笔流水,大一点的小卖部都不止这个数,难不成按目前的交易成本, 比特币只适合做大额资金的交易?

2018年1月 4日 11:59

| #

| 引用

问天玄铁

说:

比特币目前的很多问题(交易慢,账本大,算力集中)导致比特币一定不是数字货币的最终形态。我们不妨来想想更接近未来形态的数字货币协议和算法,就能让比特币变得不值钱,而且能让自己再次站在财富大门口。

2018年1月 4日 14:13

| #

| 引用

tc

说:

感谢科普了,通俗易懂。

不过有个疑问,“当矿工将得不到任何奖励,比特币的数量也将停止增加。这时,矿工的收益就完全依靠交易手续费了。”

这样感觉货币流通会很受影响啊,不知道在后面当数字货币的文章中会不会说明

2018年1月 4日 14:47

| #

| 引用

张庆华

说:

最近也在看这块,感觉非常有前途

2018年1月 4日 14:56

| #

| 引用

陈辉

说:

还是阮老师写的通俗易懂,能否一直同步到微信公众号里面。

2018年1月 4日 15:27

| #

| 引用

杨高超

说:

@TONYHEAD:

这个应该这么理解,比特币的交易不是以一个比特币为最小单位的,他可以无穷分割下去,例如一次交易交易了0.000001个比特币。

2018年1月 4日 15:31

| #

| 引用

leter

说:

如果我知道怎么发财,可能就不会在这里写博客了。说的很接地气。。哈哈

2018年1月 4日 15:39

| #

| 引用

没事扯扯蛋

说:

谁能说明比特币怎样和实际金钱或实物挂钩的???

如果不能挂钩,比特币就是个数字游戏,没有价值。

如果挂钩了,那说明比特币背后还是有势力(中心)支持的,否则怎么可能风生水起?

2018年1月 4日 16:08

| #

| 引用

BitcoinFan

说:

您最近有关注币圈么?感觉遗漏了很重要的东西:

1.挖矿赚币只是为了激励矿工,这个不是关键。挖矿的本质是达到分布式共识的手段,或者说,就是随机选一个人来记账,防止作弊,这个才是关键。

比特币安全的一个假设就是没有单个的人/组织能掌控50%以上的算力。

比特币的共识规则规定,大家都认最长链,更准确地说,是积累工作量最多的链。

矿工必须积极地接收别人挖到的新区块、在上面追加自己挖出的区块,并把自己挖出的区块积极广播出去,否则,他的链会被孤立,他就白干了。(可想而知,超过50%的算力,就不用鸟这些了)

2.扩容之争吵了几年了,现在BTC的开发者不愿意提高这个1MB的限制,是因为区块扩大后,会加剧比特币的中心化,这样的话,最后我们还不如直接用支付宝、VISA这样的中心化服务。

有人甚至认为比特币已经失去去中心化的本质,因为中国的大矿池已经垄断了算力,也就垄断了记账权。

有了SegWit之后,支撑交易量堪比VISA的闪电网络,还有其他技术能减少区块占用。而且,还有RSK等侧链技术可以期待。

Bitcoin Cash主要是中国矿工群体支持的,虽说未来扩大区块大小是不可避免的,但是Bitcoin Cash除了扩大区块大小,技术上并没有什么优势,它的宣传者还四处混淆视听,宣称只有自己才是真正的比特币。

闪电网络比较复杂,软件开发了几年,最近才基本成型,还在测试中。不过,也确实不能指望它能解决所有问题,因为闪电网络是为微支付设计的,支付通道的容量是有限的,大额交易可能还是直接走主链交易比较方便。

2018年1月 4日 16:37

| #

| 引用

BitcoinFan

说:

引用tc的发言:

感谢科普了,通俗易懂。

不过有个疑问,“当矿工将得不到任何奖励,比特币的数量也将停止增加。这时,矿工的收益就完全依靠交易手续费了。”

这样感觉货币流通会很受影响啊,不知道在后面当数字货币的文章中会不会说明

有人说最后手续费会占到交易额的5%,也有人认为用户花钱养矿工是不值得的,既浪费电,又不能消除被矿工攻击的风险。不如直接换共识机制,把工作证明(PoW)换掉,换成权益证明(PoS),大体上是谁持币多谁更有记账权,相信持币人不会做伤害体系利益的事情,否则他自己的利益会大大受损。

Peercoin算PoS的始祖,不过有学者指出它有漏洞,受到nothing at stake攻击的威胁;以太坊已经在测试PoS机制;还有Cardano,使用的是Ouroboros这个经过学术界同行评议的PoS机制。

2018年1月 4日 16:46

| #

| 引用

BitcoinFan

说:

引用TONYHEAD的发言:

有若干疑问:

一个100GB的数据库就可以记录到比特币创立至今的所有交易往来?

"2000笔交易的区块手续费是3-10个比特币",这个交易成本太高了,2000笔流水,大一点的小卖部都不止这个数,难不成按目前的交易成本, 比特币只适合做大额资金的交易?

现在已经有170GB了。

您怀疑比特币的交易量极为有限——确实是这样!比特币的交易容量小到“可笑”的程度。按照10分钟1MB来算,其实只相当于每秒7笔交易。

虽说可以把多笔交易拼成一个来节省空间,但这么做的效果是有限的。

对于交易所从1个地址提币给N个人这种情况,把多笔交易拼起来确实可以显著地节省空间,但是,这些币最终还是要再被它们的主人花出去,这个时候仍然需要消耗主链空间。

要理解具体情况,您可以去查一查比特币的交易格式,包括UTXO是什么。

我也可以大概给您描述一下:比特币的交易,由“输入”和“输出”两部分组成。

每一笔交易,都相当于把“输入”的币熔毁,重新铸造成“输出”中指定的金额。(其中输出金额需要小于等于输入,少的那部分作为付给矿工的手续费,计入coinbase交易)

所以,每个比特币地址上的余额都可以看作是通过从2009年“创世”开始的所有交易记录推算出来的。

“输入”部分包括数字签名(也就是“见证”部分),数据量一般比较大。

虽然扩大区块大小就可以提高交易量,但这样只是线性扩容,不能指数级地提升容量。

中国矿工群体和少数开发者认为,扩大区块容量并不会让比特币中心化,但是多数人(尤其是国外的社区)都不认同这种说法,目前排前几名的矿池已经把全网算力差不多都垄断了:https://btc.com/stats/pool。

多数开发者认为小额交易不能用宝贵的主链空间完成,需要放在主链之外,比如闪电网络,还有RSK等侧链。

还可以看看Bitcoin Core官方写的FAQ:https://bitcoincore.org/zh_CN/2015/12/21/%E7%B3%BB%E7%BB%9F%E6%89%A9%E5%B1%95%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E8%A7%A3%E7%AD%94/

2018年1月 4日 17:04

| #

| 引用

ixx

说:

引用小白的发言:

有点疑惑,交易平台肯定需要维护 哪个比特币钱包是哪个用户的吧,而比特币钱包里包含公钥私钥,这样交易平台不就可以知道比特币是哪个用户的么

交易平台提供一个钱包地址 你往里充钱并提供交易记录就可以了 跟你用银行转账类似

平台不会要所有人的钱包(要你也不会给的。。。)需要提币的时候 提供给平台你的钱包地址 就可以转到你的钱包里了

2018年1月 4日 18:01

| #

| 引用

ixx

说:

引用没事扯扯蛋的发言:

谁能说明比特币怎样和实际金钱或实物挂钩的???

如果不能挂钩,比特币就是个数字游戏,没有价值。

如果挂钩了,那说明比特币背后还是有势力(中心)支持的,否则怎么可能风生水起?

最开始有一部分人出于各种目的(收藏,或是炒作),允许你买他们的东西使用比特币支付(最开始买个比萨要50比特币。。。。现在想想。。。)慢慢的,越来越多的人接受了他,才发展到现在,这东西不可做假且数量固定,就像限量版的乐高一样,越多的人支持,“收藏”越值钱

2018年1月 4日 18:10

| #

| 引用

林海草原

说:

关于比特币,之前我还真没有了解过。前两天,一位博友的博客被挂马,被挂的是一个在线挖矿代码,每次打开博客都会被执行。我当时简单了解了一下,但是网上的文章晦涩。当今天看到阮老师的博文,我才真正知道挖矿是什么。挖矿能拿到如此高的奖励,难怪有些人会通过程序漏洞给别人的网站挂马来挖矿。

2018年1月 4日 18:12

| #

| 引用

jg

说:

引用小白的发言:

有点疑惑,交易平台肯定需要维护 哪个比特币钱包是哪个用户的吧,而比特币钱包里包含公钥私钥,这样交易平台不就可以知道比特币是哪个用户的么

交易平台是知道的,有的平台还实名认证的。

不放心,可以把从平台转移到自己的钱包就好了

2018年1月 4日 18:50

| #

| 引用

BitcoinFan

说:

引用小白的发言:

有点疑惑,交易平台肯定需要维护 哪个比特币钱包是哪个用户的吧,而比特币钱包里包含公钥私钥,这样交易平台不就可以知道比特币是哪个用户的么

交易平台相当于你把比特币转给他们,然后他们给你一个欠条。

可以说中心化的交易所和比特币的理念是完全背道而驰的。

交易所也确实是各种不靠谱,宣称“被盗”之类事情发生过好多次了,还有结合期货杠杆交易操纵价格、虚发假币之类黑历史。

2018年1月 4日 19:21

| #

| 引用

BitcoinFan

说:

引用林海草原的发言:

关于比特币,之前我还真没有了解过。前两天,一位博友的博客被挂马,被挂的是一个在线挖矿代码,每次打开博客都会被执行。我当时简单了解了一下,但是网上的文章晦涩。当今天看到阮老师的博文,我才真正知道挖矿是什么。挖矿能拿到如此高的奖励,难怪有些人会通过程序漏洞给别人的网站挂马来挖矿。

比特币早就不能用电脑(CPU或GPU)挖了,连FPGA都不行了,现在都是ASIC专用芯片挖矿。详细数据可以看这个:

https://en.bitcoin.it/wiki/Mining_Hardware_Comparison

2018年1月 4日 19:23

| #

| 引用

BitcoinFan

说:

引用jg的发言:

交易平台是知道的,有的平台还实名认证的。

不放心,可以把从平台转移到自己的钱包就好了

比特币的交易记录是一环扣一环,可以追溯的,而且完全公开(随便找个区块浏览器就可以方便地查,开一个比特币全节点也可以直接下载区块链数据)。如果不用混币之类的手段来切断追踪,从实名制交易所转出去还是可以被跟踪的。

2018年1月 4日 19:26

| #

| 引用

BitcoinFan

说:

引用林海草原的发言:

关于比特币,之前我还真没有了解过。前两天,一位博友的博客被挂马,被挂的是一个在线挖矿代码,每次打开博客都会被执行。我当时简单了解了一下,但是网上的文章晦涩。当今天看到阮老师的博文,我才真正知道挖矿是什么。挖矿能拿到如此高的奖励,难怪有些人会通过程序漏洞给别人的网站挂马来挖矿。

现在这些“挖矿木马”挖的都是Monero之类山寨币,它们换掉了比特币的双SHA256工作证明算法,换成对ASIC极不友好的CryptoNight等,这样CPU或GPU挖矿才有可能,否则就被ASIC的能效虐翻了,直接亏本出局。

山寨币一般也都在技术上有创新和改进,比如Monero,已经全网启用RingCT,交易都是机密的,不像比特币那样全部公开透明、可追踪。

2018年1月 4日 19:29

| #

| 引用

ljt2k

说:

对于比特币来说,钱不是支付给个人的,而是支付给某一把私钥。

这里应该是支付给某一把公钥

2018年1月 5日 14:07

| #

| 引用

两只羊

说:

货币的由来是人民生产出来充当流通的东西。

这个是怎么来的,炒作来的。为什么能存在,值得思量的事情。

2018年1月 5日 14:55

| #

| 引用

麻三

说:

老师,下一篇啥时候来啊

2018年1月 5日 15:45

| #

| 引用

区块链小白

说:

如果因为战争,切断了所有出口网络,是不是就变成两条比特链了?

2018年1月 5日 17:54

| #

| 引用

H-u-a-n

说:

写的确实简单易懂,阮老师,受教了,Thanks♪(・ω・)ノ

2018年1月 6日 11:38

| #

| 引用

Dong

说:

有个疑问求解答:

一块区块链只能存2000笔交易,2040年就挖不到新的区块链,但交易是继续增加的,那么区块链用完了怎么办呢?

2018年1月 6日 11:47

| #

| 引用

Ellie Ren

说:

赞 以后可以follow 看你的博客了

2018年1月 6日 11:55

| #

| 引用

xunzhang

说:

如果10分钟内写不满1MB记录,如何处理

2018年1月 6日 15:12

| #

| 引用

Asid

说:

有那个比特币钱包能用的?搜了几个网让,还有ANDORID/IOS的APP,不敢用啊。怕有后门。

2018年1月 6日 17:09

| #

| 引用

方减

说:

浅显易懂,非常好的科普入门文章!期待下一篇

2018年1月 6日 20:30

| #

| 引用

zero

说:

引用小白的发言:

有点疑惑,交易平台肯定需要维护 哪个比特币钱包是哪个用户的吧,而比特币钱包里包含公钥私钥,这样交易平台不就可以知道比特币是哪个用户的么

交易所才是真正密钥的掌控者,用户实际上是不掌控密钥的。

2018年1月 7日 02:09

| #

| 引用

哈哈

说:

引用jg的发言:

交易平台是知道的,有的平台还实名认证的。

不放心,可以把从平台转移到自己的钱包就好了

这点倒是真的,哈哈哈,我做个这样的平台

2018年1月 8日 09:58

| #

| 引用

max210

说:

期待下一篇

2018年1月 8日 11:16

| #

| 引用

吕海超

说:

连着看完区块链和比特币,特别期待你写《数字货币的本质》,这几天每天都会登上来看一下有没有更新。。。

2018年1月 8日 14:20

| #

| 引用

杨峰

说:

很好奇,比特币是怎么开始的?有这个想法是因为,采矿是产生比特币的“造血系统”,而造血的过程是写入交易记录,而最初是没有交易记录给人来写的。

2018年1月 8日 15:50

| #

| 引用

BitcoinFan

说:

引用Dong的发言:

有个疑问求解答:

一块区块链只能存2000笔交易,2040年就挖不到新的区块链,但交易是继续增加的,那么区块链用完了怎么办呢?

你混淆了比特币发行和挖矿机制。

比特币发行是以区块补贴的形式发放,四年一减半,2140年区块补贴才会归零,但十几年后区块补贴就接近归零了。

但是,矿工还能收到手续费收入。只要矿工有收入,他们就会继续挖。

而且,比特币的难度调整机制让它保持大约10分钟挖出一个区块,无论挖矿的算力是多还是少都是这样。挖矿的算力多了,难度就上升、出块(先加快再)放缓,反之难度下降、出块(先放缓再)加快。

2018年1月 8日 19:05

| #

| 引用

BitcoinFan

说:

引用xunzhang的发言:

如果10分钟内写不满1MB记录,如何处理

以前一直是写不满的,写满了才有拥堵问题。

2018年1月 8日 19:06

| #

| 引用

BitcoinFan

说:

引用杨峰的发言:

很好奇,比特币是怎么开始的?有这个想法是因为,采矿是产生比特币的“造血系统”,而造血的过程是写入交易记录,而最初是没有交易记录给人来写的。

没人用,矿工可以打空块。

比特币最初就是中本聪一个人在那里挖。

2018年1月 8日 21:15

| #

| 引用

BitcoinFan

说:

引用Asid的发言:

有那个比特币钱包能用的?搜了几个网让,还有ANDORID/IOS的APP,不敢用啊。怕有后门。

比特币官网:https://bitcoin.org/zh_CN/

按照去中心化的精神,比特币是没有官网的,这个网站的管理员是Cobra。

一般用户推荐Electrum,最好结合硬件钱包,防止木马偷币。

比太钱包也不错,有方便的冷热钱包选择。

想折腾技术就装Bitcoin Core,不过这个是全节点,要下载一百多GB的区块链数据。

顺便说一下,现在1M区块空间已经满了,手续费比较高,转账时最好启用RBF(勾选Replacable),这样万一转账卡着了,可以直接加手续费加速确认。

2018年1月 8日 21:18

| #

| 引用

BitcoinFan

说:

SegWit2x的目的其实是把Core踢出去,而不是扩容。但实际上支持Core的人还是不少的,Core不愿意被“打脸”,这个2x还能有多少支持率呢……

而且,实际上2x这个项目搞出来的btc1软件(从Core fork出来的)很挫,最后还爆出off-by-one这种低级bug,参与者大概本来就是同床异梦吧。

2018年1月 9日 07:30

| #

| 引用

Mark

说:

引用BitcoinFan的发言:

您最近有关注币圈么?感觉遗漏了很重要的东西:

1.挖矿赚币只是为了激励矿工,这个不是关键。挖矿的本质是达到分布式共识的手段,或者说,就是随机选一个人来记账,防止作弊,这个才是关键。

比特币安全的一个假设就是没有单个的人/组织能掌控50%以上的算力。

比特币的共识规则规定,大家都认最长链,更准确地说,是积累工作量最多的链。

矿工必须积极地接收别人挖到的新区块、在上面追加自己挖出的区块,并把自己挖出的区块积极广播出去,否则,他的链会被孤立,他就白干了。(可想而知,超过50%的算力,就不用鸟这些了)

2.扩容之争吵了几年了,现在BTC的开发者不愿意提高这个1MB的限制,是因为区块扩大后,会加剧比特币的中心化,这样的话,最后我们还不如直接用支付宝、VISA这样的中心化服务。

有人甚至认为比特币已经失去去中心化的本质,因为中国的大矿池已经垄断了算力,也就垄断了记账权。

有了SegWit之后,支撑交易量堪比VISA的闪电网络,还有其他技术能减少区块占用。而且,还有RSK等侧链技术可以期待。

Bitcoin Cash主要是中国矿工群体支持的,虽说未来扩大区块大小是不可避免的,但是Bitcoin Cash除了扩大区块大小,技术上并没有什么优势,它的宣传者还四处混淆视听,宣称只有自己才是真正的比特币。

闪电网络比较复杂,软件开发了几年,最近才基本成型,还在测试中。不过,也确实不能指望它能解决所有问题,因为闪电网络是为微支付设计的,支付通道的容量是有限的,大额交易可能还是直接走主链交易比较方便。

想问 BitcoinFan 一个问题,挖矿的成功与否是不是取决于计算机计算力的大小,假设有人的或者某个组织的计算机计算力非常强,那不代表每次的挖矿都是他们成功了?这不就有可能超过50%以上的算力了吗

2018年1月 9日 11:35

| #

| 引用

henry

说:

交易所才是中心化的东西!我猜你在交易所买卖比特币,真正的比特币有可能是交易所帮你代持!就像互联网彩票一样!

2018年1月 9日 11:42

| #

| 引用

重本聪

说:

看了一片文章 都是深入浅出的讲这个技术 能看懂一半吧 可是作为货币 货币啊 它的基础在哪 目前看就是谁的矿机多谁厉害啊 比特币个数是定的 所谓涨跌 都是炒出来的 这不是货币的基本价值啊 还有 这玩意不唯一 现在有起码数十种 加密货币 这肯定不算那些传销用货币 这些货币号称都是更牛逼的 更合理的 发明的人更吊的 说道发明人 这些中本聪就是因为聪明发明了这么一套理论? 他定的各种协议 规矩大家就 必须遵守 就是因为互联网精神就是公平公正?这是不是太乌托邦了 那以后有没有大本聪 巨本聪 利用这些干坏事呢

2018年1月 9日 11:48

| #

| 引用

重本聪

说:

引用Mark的发言:

想问 BitcoinFan一个问题,挖矿的成功与否是不是取决于计算机计算力的大小,假设有人的或者某个组织的计算机计算力非常强,那不代表每次的挖矿都是他们成功了?这不就有可能超过50%以上的算力了吗

有个机制 算出来的时间并不固定 如果一段时间内太多了 就会增加难度 太少了 就会减小 大概这么个意思 算力是基础 但不是一定就最先算出来 但矿机多 肯定没错 你看看网上那些一片矿机的照片

2018年1月 9日 11:52

| #

| 引用

sms

说:

所以说,下个钱包app就分了一对key和一个地址?没有交易的话这个地址有效么?不怎么懂

2018年1月 9日 14:47

| #

| 引用

凡浩浩

说:

关注的博客很久了,看了你很多文章,佩服您的才华,敬佩您的坚持,感谢您的分享,很想问您一个问题,您最初热爱文学,后来获得经济学博士学历,成为大学教授,现在又是计算机工程师,在每一次选择的时候,您迷茫过吗?什么才您的热爱,您未来还会选择做别的吗?

2018年1月 9日 15:35

| #

| 引用

小米

说:

有一个地方不明白,需要请教博主。

如果我是矿工,挖矿时在当前交易记录中擅自增加一条“我获得1000比特币”的记录,然后很幸运这块矿被我挖到,交易记录被记录和通报全网了。

那是不是就能作弊了?

2018年1月 9日 16:30

| #

| 引用

王挺

说:

引用BitcoinFan的发言:

你混淆了比特币发行和挖矿机制。

比特币发行是以区块补贴的形式发放,四年一减半,2140年区块补贴才会归零,但十几年后区块补贴就接近归零了。

但是,矿工还能收到手续费收入。只要矿工有收入,他们就会继续挖。

而且,比特币的难度调整机制让它保持大约10分钟挖出一个区块,无论挖矿的算力是多还是少都是这样。挖矿的算力多了,难度就上升、出块(先加快再)放缓,反之难度下降、出块(先放缓再)加快。

我也有此疑问,但感觉这个回答没答到点上。

交易记录是必须要附在新的区块里,再写入主区块链才能生效的。而2040年之后,已经没机会“算出”新的区块了,还怎么附加交易记录呢?

2018年1月 9日 20:00

| #

| 引用

小米

说:

引用王挺的发言:

我也有此疑问,但感觉这个回答没答到点上。

交易记录是必须要附在新的区块里,再写入主区块链才能生效的。而2040年之后,已经没机会“算出”新的区块了,还怎么附加交易记录呢?

你没有分清楚生成区块与取得比特币之间的区别。区块是永远可以生成的,只要对上一区块的头文件进行hash运算并符合难度要求即可。但生成区块后,能否得到比特币奖励,是不一定的,固定收益是逐年递减的。

2018年1月10日 14:24

| #

| 引用

davino

说:

有几个疑问:

1. 交易平台是不是本身自己就是矿工?

2. 如果交易平台是矿工,在上面平台上用户的交易是实时的,但交易平台如果成功把记录放到链上,是不是等于你和用户没有进行任何操作?

3. 火币现在能进行P2P的交易。如果火币没有挖到矿,不是等于买方白给钱了?

2018年1月10日 16:10

| #

| 引用

齐宁

说:

我在想,中本聪拥有多少比特币,现在财富有多少了...

2018年1月10日 16:54

| #

| 引用

YANG

说:

如果我说这东西是骗人的,会不会有人来教育我?

区块链本质不谈,就说普通用户层面。

1. 普通人使用比特币的最大理由是什么?

2. 为什么要去挖矿?货币不是拿来用的么,为啥大部分人不去使用它。

3. 根据文中所写,在极端情况下一笔交易可能不会被确认,或者很长时间才能被记录下来。人们使用这种东西图了个啥?

4. 为什么要相信比特币组织,而不相信现有的货币发行组织?

2018年1月11日 10:47

| #

| 引用

FTY

说:

个人认知太浅,无非是浪费世界资源。与权贵争,成王败寇而已。

2018年1月11日 11:16

| #

| 引用

张鹏

说:

1,打包是谁做的? 旷工如何判断打包没有造假?

2,一个打包要2000条交易记录,如果当前一直不足2000条,打包会一直等待?

3,全网同步区矿链,这个效率会不会很低? 这很容易发生不一致问题。新的区块如何保证链到了最新的区块后面?

2018年1月11日 15:44

| #

| 引用

fogin

说:

引用TONYHEAD的发言:

有若干疑问:

一个100GB的数据库就可以记录到比特币创立至今的所有交易往来?

"2000笔交易的区块手续费是3-10个比特币",这个交易成本太高了,2000笔流水,大一点的小卖部都不止这个数,难不成按目前的交易成本, 比特币只适合做大额资金的交易?

连大额资金交易这个场景也做不了, 你知道这个世界上每秒发生着多少笔大额交易么。。。

2018年1月11日 16:59

| #

| 引用

forget

说:

引用小白的发言:

有点疑惑,交易平台肯定需要维护 哪个比特币钱包是哪个用户的吧,而比特币钱包里包含公钥私钥,这样交易平台不就可以知道比特币是哪个用户的么

可以这样理解:比特币是在全世界网络中交易的,而公钥和私钥是用比特币底层了一组加密算法产生的。我们想要参与其中就需要得到这组秘钥。这个交易平台(比如:比特币中国)就是帮我们来用这个加密算法产生这组秘钥的。谁都可以去要,然后平台就给你生成这对秘钥。中间应该不会记录你的任何信息。就好比:我是大街上的一个小贩,你是路人,你想买了东西了,我卖给你就是了,不需要你的任何信息。

2018年1月12日 11:22

| #

| 引用

BitcoinFan

说:

引用王挺的发言:

我也有此疑问,但感觉这个回答没答到点上。

交易记录是必须要附在新的区块里,再写入主区块链才能生效的。而2040年之后,已经没机会“算出”新的区块了,还怎么附加交易记录呢?

新的比特币目前是通过每区块12.5BTC、四年一减半的区块补贴形式发放的(也就是从coinbase交易里“凭空生成”)。

但是,挖新区块在技术上并不需要生成新的比特币。

实际上,就在现在,矿工就可以选择不拿区块补贴(目前是每区块12.5BTC)——最近就有矿池出了Bug,涉事矿工不慎“弄丢”了12.5BTC:

http://8btc.com/thread-121250-1-1.html

对于矿工来说,有利益驱动,他们才会去挖矿。没了区块奖励,他们还可以收交易手续费,这个可以成为驱动他们挖矿的激励。

但是,其实很多人都觉得这个设计不好,他们认为手续费必须占交易额的一个比例才能维持系统安全,这个比例低了,矿工作为“保安”就可能反过来“监守自盗”。而且,维持这个体系运转还要白白烧电。

所以,现在还有人在研究PoS等新共识机制,比如以太坊的Casper、Cardano的Ouroboros,试图取代目前被比特币和以太坊使用的PoW共识机制(这个我也是拾人牙慧,各位感兴趣可以去知乎关注maxdeath这位大神)

引用davino的发言:

有几个疑问:

1. 交易平台是不是本身自己就是矿工?

2. 如果交易平台是矿工,在上面平台上用户的交易是实时的,但交易平台如果成功把记录放到链上,是不是等于你和用户没有进行任何操作?

3. 火币现在能进行P2P的交易。如果火币没有挖到矿,不是等于买方白给钱了?

1.交易平台相当于一个比特币用户。平台不需要是矿工,但也有矿业兼职开交易平台,比如ViaBTC,是个矿池,他们就开过交易所。

2.没太理解你的意思。你想问交易所能不能赖账么?

现在的交易所一般都是中心化的,而且好像大多没有第三方存管,这不就坑爹了——相当于你把比特币和人民币、美元等法币转给他,他给你一个欠条,他们赖账跑路你就GG了。然后,平台上的各种交易都和比特币区块链无关,直到你提币或充币。哪怕是ViaBTC这样的也不例外。

3.P2P?你说的是OTC场外交易么?场外是把原来的集中竞价撮合去掉,大家手动发布交易信息、进行交易,平台只做信息交流和中间人担保。币一般是其他用户充的,不是平台挖的。而且这种场外交易确实不能完全保证货银对付,可能发生一方伪造法币支付凭据、忽悠对方放币等欺诈。

2018年1月13日 00:53

| #

| 引用

BitcoinFan

说:

引用张鹏的发言:

1,打包是谁做的? 旷工如何判断打包没有造假?

2,一个打包要2000条交易记录,如果当前一直不足2000条,打包会一直等待?

3,全网同步区矿链,这个效率会不会很低? 这很容易发生不一致问题。新的区块如何保证链到了最新的区块后面?

1.只有矿工有记账权:因为只有矿工有算力、能挖出满足全网的难度需求的新区块,所以只有他们能挖出合法的区块。

2.不会,矿工可以打空块(只有一条给自己发奖励的coinbase交易)。区块满了反而会有问题——拥堵、手续费高涨。

现在的区块大小上限是1MB,或者说是浮动的(因为SegWit已经激活,交易信息被分为两部分,其中“见证”这个部分字节数按照乘0.25计算)

3.效率确实很低。不一致问题,挖矿就是解决这个问题的,挖矿是一种分布式共识机制,叫工作证明。大家只认最长链有效(准确地说是积累工作量最大的链)。

2018年1月13日 00:57

| #

| 引用

BitcoinFan

说:

引用张鹏的发言:

1,打包是谁做的? 旷工如何判断打包没有造假?

2,一个打包要2000条交易记录,如果当前一直不足2000条,打包会一直等待?

3,全网同步区矿链,这个效率会不会很低? 这很容易发生不一致问题。新的区块如何保证链到了最新的区块后面?

比特币的交易记录是一环扣一环的。如果一个新节点要严格验证的话,需要从2009年的创世区块开始验证(不断地更新UTXO集合,也就是删掉“已经被原主人花掉的币”,加入“有了新主人的币”)。但是,这样跑一遍验证,只能防止抢劫比特币、无端凭空生成比特币,不能阻止双重支付。

每条交易都会被广播到整个网络。交易包含数字签名,节点也会维持一个UTXO集合,可以验证交易是否有效,强制花别人的币、花无中生有的币都是无效交易,会被丢弃。矿工会把验证过的交易加到要挖的区块里,如果hash值碰出来了,挖到了有效的区块,他们就会立刻把这个新区块广播出去,让大家检查、承认。

2018年1月13日 01:10

| #

| 引用

BitcoinFan

说:

引用forget的发言:

可以这样理解:比特币是在全世界网络中交易的,而公钥和私钥是用比特币底层了一组加密算法产生的。我们想要参与其中就需要得到这组秘钥。这个交易平台(比如:比特币中国)就是帮我们来用这个加密算法产生这组秘钥的。谁都可以去要,然后平台就给你生成这对秘钥。中间应该不会记录你的任何信息。就好比:我是大街上的一个小贩,你是路人,你想买了东西了,我卖给你就是了,不需要你的任何信息。

你的描述是错的。

密钥是任何人都可以生成的。比特币用了ECDSA这个非对称加密算法,它被用来确定一个币的控制权/所有权——只有掌握私钥的人才能花对应地址上的币。

这个和交易平台完全没关系,交易平台只是为了方便比特币法币(如人民币/美元)或比特币山寨币的交易而存在的,只有集中竞价撮合的交易所才能产生足够的流动性和市场深度——有了交易所,一秒钟你就可以卖掉/买入1.5BTC,币很多的话还能挂冰山委托慢慢买/卖,如果没有交易所,你就需要自己去场外交易平台甚至是微信群等地方,手动挂单、喊单、吃单,一大意还会被骗。

可以说交易所在比特币系统里也只是个用户而已。

2018年1月13日 01:18

| #

| 引用

BitcoinFan

说:

引用张鹏的发言:

1,打包是谁做的? 旷工如何判断打包没有造假?

2,一个打包要2000条交易记录,如果当前一直不足2000条,打包会一直等待?

3,全网同步区矿链,这个效率会不会很低? 这很容易发生不一致问题。新的区块如何保证链到了最新的区块后面?

补充一下,花“已经花掉的币”也是无效交易。

至于双重支付,需要有很大的算力(51%攻击)才能做到,原理是用大算力挖一条更长的链,在这条链里,原先转给A的币被转给了B。有了超过50%的算力,只要坚持时间够长就一定能成功;如果没有那么多算力,也有一定概率能成功,但确认数越多,成功概率越低。

51%攻击能产生的实质威胁主要就是双重支付,除此之外还有审查交易(换句话说就是冻结指定的地址)等手段。

2018年1月13日 01:22

| #

| 引用

BitcoinFan

说:

@YANG:

这个就是信仰问题了,是信政府这个中央权威,还是信比特币这套分布式共识机制呢?没法说得通啦。

有人就认为比特币最后会像“世界语”一样半死不活。

要说骗局的话,拉高出货就可以看作是欺诈,无论是股市还是币市,这种现象都存在。

2018年1月13日 01:28

| #

| 引用

BitcoinFan

说:

引用小米的发言:

有一个地方不明白,需要请教博主。

如果我是矿工,挖矿时在当前交易记录中擅自增加一条“我获得1000比特币”的记录,然后很幸运这块矿被我挖到,交易记录被记录和通报全网了。

那是不是就能作弊了?

你这么做,挖出的区块就是非法的。

只要别的节点(无论是矿工的全节点,还是不挖矿的全节点)接收到区块进行检查就会发现新生成的币量超过共识规则规定的区块奖励,然后就会拒绝承认这个区块。

2018年1月13日 01:30

| #

| 引用

BitcoinFan

说:

引用Mark的发言:

想问 BitcoinFan一个问题,挖矿的成功与否是不是取决于计算机计算力的大小,假设有人的或者某个组织的计算机计算力非常强,那不代表每次的挖矿都是他们成功了?这不就有可能超过50%以上的算力了吗

没有人掌握超过50%的算力是比特币安全的前提。

如果有人掌握的算力超过50%,他就可以不用鸟别的节点挖出的区块,然后就可以进行51%攻击——比如回滚交易记录,或者审查交易(冻结任意比特币地址)。但即使是这样,他也可能会顾忌攻击行为是否会让比特币失去价值(然后他的矿机和币就都作废了),所以即使有人手里有超过50%的算力也未必会实行51%攻击。

2018年1月13日 01:35

| #

| 引用

BitcoinFan

说:

引用温国兵的发言:

纠正一个错误

“你可能看出来了,每 4 年奖励减半,那么到了 2140 年,矿工将得不到任何奖励,比特币的数量也将停止增加。这时,矿工的收益就完全依靠交易手续费了。”

这里应该是 2040 年。

博主没错,就是2140年。

但是,四年一减半还是很快的,再减半几次,区块补贴就已经接近归零了。

2018年1月13日 01:40

| #

| 引用

BitcoinFan

说:

引用davino的发言:

有几个疑问:

1. 交易平台是不是本身自己就是矿工?

2. 如果交易平台是矿工,在上面平台上用户的交易是实时的,但交易平台如果成功把记录放到链上,是不是等于你和用户没有进行任何操作?

3. 火币现在能进行P2P的交易。如果火币没有挖到矿,不是等于买方白给钱了?

前面的回帖好像没显示出来,不知道是不是博主要审核……

交易平台只相当于一个比特币用户,往难听了说,就是你把币转给他们,他们给你一个欠条。

也有ViaBTC这样矿业兼职开交易所的,即使是这样,性质仍然不变。

2018年1月13日 01:43

| #

| 引用

BitcoinFan

说:

引用sms的发言:

所以说,下个钱包app就分了一对key和一个地址?没有交易的话这个地址有效么?不怎么懂

密钥是任何人都可以生成的,必须随机生成,否则别人就可以猜出来,这样就不安全了。

比特币用了ECDSA这个非对称加密算法,打个比方,就是认章不认人,章(密钥)其实有机器就能刻(任何人都可以用电脑生成,甚至可以用骰子来生成),只有你手里有章(私钥),能给账单盖章(数字签名),其他人手里都有完整账本,如果你想花无中生有的钱、花之前已经被花掉的钱、花别人的钱,都是无效的。

私钥可以推算出公钥,公钥经过两次哈希运算,再加上校验值、经过Base58编码就得到地址。反推在目前是不可能的,除非ECDSA、RIMEPD160、SHA256算法被破解(哈希算法本来就是不可逆的,即使“破解”,也不能由哈希值“恢复原状”,只是能找到碰撞值而已,不过目前找到碰撞也足够花别人地址上的钱了)。

现在的钱包一般都是HD的,也就是分层确定性钱包,由一个随机种子就可以推算出几乎无穷无尽的私钥,种子还可以表示为一串单词(密语),这样备份/恢复钱包就方便了,而且可以每次使用比特币都换一个地址。

2018年1月13日 01:58

| #

| 引用

BitcoinFan

说:

引用sms的发言:

所以说,下个钱包app就分了一对key和一个地址?没有交易的话这个地址有效么?不怎么懂

没用过的地址也是有效的。

博主对比特币地址的描述有误:比特币地址不是用十六进制表示公钥的哈希,而是用Base58编码表示公钥的哈希+一段校验值。用那段校验值就可以知道地址有没有错。

甚至还有找不到对应私钥的“烧币地址”(Proof of Burn),转进去的币就无法被转出来,等于被销毁了,这种地址同样是有效的。比如:合约币CounterParty提出的1CounterpartyXXXXXXXXXXXXXXXUWLpVr。生成这种地址也不难,先写出Base58地址,内容可以任意,然后算出对应的二进制数据(Base58解码),再计算对应的校验值,加到后面,然后重新Base58编码,就可以得到这种“烧币地址”。

2018年1月13日 02:17

| #

| 引用

BitcoinFan

说:

@YANG:

比特币的优点在于无国界、(伪)匿名、快速(相对电汇等传统服务)、安全等。价格波动大也确实是个问题,不过也不是完全没办法,比如用期货交易对冲(不过目前期货交易平台也是中心化的,甚至有平台亲自下海操纵市场等黑历史,而且,平台肯定要收交易手续费)。

挖矿是达成分布式共识的手段,这样才能防止双重支付。也有人觉得挖矿不好,达成共识慢、吞吐量有限、浪费能源、可能“监守自盗”,就开始想办法改进,所以现在也有其他共识机制,比如以太坊的Casper、Cardano的Ouroboros,都是PoS共识机制;还有比特股的DPoS等。

2018年1月13日 02:47

| #

| 引用

walker

说:

问两个问题啊:

1, 目前每个节点大小约为100G, 也就是说选择加入这个网络的话, 初始是要"同步"100G 的内容到硬盘上对吧?

2, 没有确认的交易, 是以什么形式传遍全网的? 从文中的描述, 好像是"纯请求, 不持久化", 那么文中又描述了有的交易因为手续费低, 可能几周都没有确认, 那么可以推断出任何交易其实都是持久化了的(并且严格遵循区域链的原因, 保证了不可篡改), 并不是单纯靠

"即时"的网络请求, 所以一个比特币节点严格意义上是有确认的和多如牛毛未确认的"数据库"构成? 这样的话, 目前总量100G 的大小, 其实饱含了即时全网所有未确认的交易数据, 这个理解对么?

2018年1月15日 01:51

| #

| 引用

Leo

说:

引用小白的发言:

有点疑惑,交易平台肯定需要维护 哪个比特币钱包是哪个用户的吧,而比特币钱包里包含公钥私钥,这样交易平台不就可以知道比特币是哪个用户的么

有道理啊

2018年1月15日 11:09

| #

| 引用

rstevens

说:

首先赞一下阮老师的文章!

不过还是有很多细节的地方有疑惑,例如

"首先,所有的交易数据都会传送到矿工那里。矿工负责把这些交易写入区块链。

根据比特币协议,一个区块的大小最大是 1MB,而一笔交易大概是500字节左右,因此一个区块最多可以包含2000多笔交易。矿工负责把这2000多笔交易打包在一起,组成一个区块,然后计算这个区块的 Hash。"

1、 交易数据是怎么传到矿工那的? 是发给所有矿工么?

2、 矿工自己来决定把多少个交易合并到一个区块中么?

这些细节,如果有实现代码可以看到就好了。阮老师知道有哪些开源的代码可以学习么?

2018年1月15日 16:41

| #

| 引用

ty

说:

所有的交易数据都会传送到矿工那里。矿工负责把这些交易写入区块链。

根据比特币协议,一个区块的大小最大是 1MB,而一笔交易大概是500字节左右,因此一个区块最多可以包含2000多笔交易。

相请教第一个块区是怎么来的?没有交易矿工就没办法写入块区,不写入块区就得不到比特币。

实在想不通,求指教。

2018年1月15日 21:34

| #

| 引用

Alex

说:

其实,任何东西想成为货币,就是一个信心,当然还有方便性。

要是人们都认为这东西能当钱使,那它就值钱了。

就像一般等价物的诞生一样,只不过现在的技术让这个过程简化快捷了很多。

这发行起来岂不就是通货膨胀啊!!!首先就让这显卡贵到姥姥家去了。

2018年1月16日 17:14

| #

| 引用

yaro

说:

每个区块的容量随着时间的增长会越来越大么,不会爆掉么?

2018年1月17日 17:03

| #

| 引用

BitcoinFan

说:

@walker:

1.现在已经冲着200GB去了。如果要完整从头验证一遍,需要把这么多区块链数据全部下载一遍。全节点也支持修剪模式(prune),但就我自己的经验,修剪模式会带来一些不便,比如不能rescan(导入私钥的时候就需要rescan来显示出正确的转账记录和余额)。以后可能有backward syncing,也就是从最近的区块倒着往回同步,而且还要同步UTXO集合(相当于余额数据)。

2.不对。

一百多GB是2009年比特币诞生至今的所有已确认交易。中间有不少孤块/分叉都被丢弃了,还有很多零确认因为被双花/手续费太低等原因也被丢弃了。

每个比特币节点都会连接到附近的节点(不过连接数默认是受限的),一个人广播一笔交易后,会一传十十传百,直到传遍整个网络。

零确认交易是保存在内存池里的,这些交易只是等待着矿工把它打包进链,是不算数的(比如,已有一笔零确认交易,但是矿池在新挖出的区块中,把另一笔与之冲突的“双重支付”交易打包进去了,那么大家都承认区块链里的那个交易有效,零确认交易无效)。

不过,现在大矿池基本垄断了算力,而且都遵守Opt-in RBF的规则,所以一般的零确认交易在几天之内还是不能双花的(也就是“卡着确认不了”),因为RBF现在还不是默认启用,但未来会改成默认启用。

2018年1月19日 16:03

| #

| 引用

BitcoinFan

说:

引用ty的发言:

所有的交易数据都会传送到矿工那里。矿工负责把这些交易写入区块链。

根据比特币协议,一个区块的大小最大是 1MB,而一笔交易大概是500字节左右,因此一个区块最多可以包含2000多笔交易。

相请教第一个块区是怎么来的?没有交易矿工就没办法写入块区,不写入块区就得不到比特币。

实在想不通,求指教。

第一个区块就是创世区块(genesis block),只有一笔“凭空”生成50BTC的coinbase交易(也就是区块补贴),内容算是中本聪随便写的。

就是这个:

https://btc.com/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

点开coinbase交易,就可以看到著名的The Times 03/Jan/2009 Chancellor on brink of second bailout for banks了:

https://btc.com/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b

2018年1月19日 16:07

| #

| 引用

BitcoinFan

说:

引用yaro的发言:

每个区块的容量随着时间的增长会越来越大么,不会爆掉么?

原来是一个区块最大1MB(矿工还可以自己设置更低的上限),但是直到最近这个上限才被填满,然后,矿工优先打包手续费高的交易,手续费不够高的,就在内存池里排队等着。

即使是鼓吹超大区块的Bitcoin Cash,矿工们现在也没敢把这个限制完全拿掉,目前的上限是8MB,前一阵子BCH发生了粉尘攻击(有人发帖说是“压力测试”),可以看到有些矿池甚至还保留着1MB的限制。

去年软分叉SegWit已经激活了,引入了一种新的交易格式(和老格式并存),这种格式把交易数据分成两块,一块是资金往来和数额,另一块是用数字签名证明交易有效的“见证”;对见证部分,计算字节数时要少算四分之三(给了折扣),这样就等于允许区块大小超过1MB。

SegWit格式的交易使用率越高,区块就可以扩到越大。目前SW使用率只有10%。

根据估计,这样扩容最大可以达到2MB左右。(4MB是不可能达到的,因为非见证部分字节数不会是零)

未来BTC应该还会有硬分叉,可能要扩大区块,不过近期是不会有了。

目前还有一些方法能减少交易字节数,比如压缩公钥、batching等。以后还会有Schnorr签名等技术。

2018年1月19日 16:22

| #

| 引用

BitcoinFan

说:

@Alex:

现在比特币的概念还被很多人抵触,多数人还是宁愿相信国家政权,而不是分布式共识。

政府也是,不少都对比特币不友好,像我国不就是这样,只是把比特币定位为合法的虚拟商品,不承认它是货币,而且把交易所都关了,连矿场都要赶出去……

而且比特币-法币“汇率”波动很大,市场投机性很强,这也是个本质上的问题。

比特币还面临着扩容问题,区块大了就趋向于中心化,闪电网络现在还没准备好。

还有,就是比特币不存在账户密码、密码忘记找回、资金冻结这种概念,算是“认密钥不认人”的,丢失被盗都是责任自负的。

比特币早就不能用显卡挖了,连莱特币都不行了,只能用ASIC矿机挖,否则是纯浪费电、耗费显卡寿命。

现在用显卡挖的是其他加密货币,比如以太币(ETH,以太坊Ethereum平台上用的代币,其实人人都可以轻易在以太坊上发行自己的ERC20代币)、门罗币(XMR,Monero)、零币(ZEC,Zcash)等等。

2018年1月19日 16:32

| #

| 引用

BitcoinFan

说:

引用没事扯扯蛋的发言:

谁能说明比特币怎样和实际金钱或实物挂钩的???

如果不能挂钩,比特币就是个数字游戏,没有价值。

如果挂钩了,那说明比特币背后还是有势力(中心)支持的,否则怎么可能风生水起?

这个都是老生常谈的问题了。

有价值的东西未必是“实物”,比如大数据,或者……玩游戏氪金;黄金就是没有人担保背书的,但它仍然有价值。

所以,现在有人想让比特币成为“数字黄金”……

2018年1月19日 16:46

| #

| 引用

nonehat

说:

纠正小错误:每笔交易的大小约为250B左右,也就是说1个区块可以包含 1 * 1024 * 1024 / 250 笔交易,而挖出一个区块约10分钟。所以每秒的交易量: 1*1024*1024 / 600 = 6.9。 也就是人们常说的不超过7笔。

2018年1月19日 22:25

| #

| 引用

lies

说:

假如算力能垄断比特币的交易权,那这个就是集权中心化了,因为假如算力越分散,那么想要垄断的成本就越低,51%对政府来说,想要达到并不难,什么时候政府管不住了,自己这么一折腾,是不是比特币就该没了

2018年1月21日 10:04

| #

| 引用

anor

说:

引用Dong的发言:

一块区块链只能存2000笔交易,2040年就挖不到新的区块链,但交易是继续增加的,那么区块链用完了怎么办呢?

区块链不会用完吧?只是用来奖励的比特币可能就没有了,到那时矿工只能靠手续费获得奖励了。

2018年1月25日 16:37

| #

| 引用

风君子-神游

说:

关于交易,按照文章里面所说,没交易一次是不是相当于生成了一个新的区块,因为会生成一个新的hash,那这个交易所产生的区块,和矿工新挖出来的区块有什么区别,其次,交易是通过矿工去填写数据的,那矿工会不会恶意的去写数据,例如,把新交易的比特币写自己钱包里面

2018年1月26日 14:24

| #

| 引用

ade

说:

引用Mike的发言:

比特币技术复杂、普通人不能很好的理解。比特币没有金融监管、容易产生金融犯罪。前段时间的黑客勒索无不采用比特币技术。所以个人并不看好这一块的技术。

比特币只是一种货币形式,RMB也是一种货币形式,如果敲诈勒索犯罪用RMB,那我们不是??

2018年1月26日 16:46

| #

| 引用

ALLEN

说:

区块链 和 比特币交易大概理解了。 但是作为交易者怎么获利。这一点是不是类似股票说,在比特币网上用现金(真实货币)交易购买虚拟比特币,然后等着升值再出售。

2018年1月29日 16:05

| #

| 引用

wjzsuperman

说:

是不是新增一个区块,就代表新增一个比特币?

2018年1月30日 10:08

| #

| 引用

胡吃喝

说:

引用wjzsuperman的发言:

是不是新增一个区块,就代表新增一个比特币?

最开始,新增一个区块,增加50个比特币,后来新增一个区块,增加25个,再后来就是12.5个

2018年2月 2日 20:32

| #

| 引用

胡吃喝

说:

引用anor的发言:

区块链不会用完吧?只是用来奖励的比特币可能就没有了,到那时矿工只能靠手续费获得奖励了。

区块链用不完,比特币倒是会用完,也就是再也挖不出来了。

2018年2月 2日 20:33

| #

| 引用

郭海峰

说:

原文:目前由于交易数量猛增,手续费已经水涨船高,一个区块2000多笔交易的手续费总额可以达到3~10个比特币。如果你的手续费给低了,很可能过了一个星期,交易还没确认。

请教:如果一个区块的2000比交易中有没有确认的,那这个区块怎么确认呢?不是一个小时就可以确认了吗?另外,如果一笔交易在确认过程中但还没没有支付成功,这些比特币是否可能再次支付给其它方,而因为第二次交易所在的区块被确认导致第二次交易成功,第一次交易失败呢?

2018年2月 3日 21:11

| #

| 引用

夜上

说:

引用Dong的发言:

有个疑问求解答:

一块区块链只能存2000笔交易,2040年就挖不到新的区块链,但交易是继续增加的,那么区块链用完了怎么办呢?

新开区块没有奖励了而已,并不是不开新的

2018年2月 5日 11:47

| #

| 引用

cqcmdwym

说:

你也可以用私钥加密信息,别人用你的公钥解开,从而证明这个信息确实是你发出的

你好,阮老师,这样是不是不安全,人家有公钥就能解开?

2018年2月 7日 07:45

| #

| 引用

airomyas

说:

引用王挺的发言:

我也有此疑问,但感觉这个回答没答到点上。

交易记录是必须要附在新的区块里,再写入主区块链才能生效的。而2040年之后,已经没机会“算出”新的区块了,还怎么附加交易记录呢?

区块永远可以增加,区块链的长度并没有限制。只是矿工取得记账权的时候,系统没有给矿工比特币来奖励了。

2018年2月12日 09:53

| #

| 引用

airomyas

说:

引用cqcmdwym的发言:

你也可以用私钥加密信息,别人用你的公钥解开,从而证明这个信息确实是你发出的

你好,阮老师,这样是不是不安全,人家有公钥就能解开?

这个叫数字签名,目的是为了证明这条用私钥签名的消息的确是你发出的(因为别人没有你的私钥),那么怎么证明呢?就是这条消息能够用你发布的公钥解开,这就说明消息是你发的,因为用别人的公钥不可能揭开你的私钥签名的消息。

这种情况下,不是为了保密,而是为了验证身份。

2018年2月12日 10:28

| #

| 引用

天空

说:

一开始错了,是欧美各大银行以及金融机构的一个需求,最后是一个中本聪的人或者组织造出一个比特比的产品来,本身不是中本聪的想法,它是需求的实现者

2018年2月13日 14:52

| #

| 引用

路人甲

说:

怎么全是小白?

2018年2月14日 01:10

| #

| 引用

老宽

说:

区块链记录着完整的账本,而比特币本质是希望解决去中心化的问题。1M的块大小引起交易堵塞的问题我能理解,通过扩容等技术手段肯定能解决的,只是扩多少的问题了。但是这个只是解决交易速度的问题啊?

但是,将来积累的账本数据肯定越来越多啊,那岂不是意味着每个安装了比特币钱包的客户端软件都得同步这些账本信息呢,比如现在账本数据如果几百G能理解不是问题,但是将来账本数据累积了总会很大啊,这个问题怎么能搞定啊?

2018年2月17日 00:22

| #

| 引用

谦修

说:

引用binary的发言:

"这个钱包不是用来存放比特币,而是存放你的公钥和私钥。软件会帮你生成这两把私钥,然后放在钱包里面。"

应该是生成这两把密钥

可以理解为,一个是银行卡号,一个是密码吗。。前者对应公钥,后者是私钥!

2018年2月23日 15:28

| #

| 引用

纪钟磊

说:

您好,我想问一个问题。就是张三有10个比特币,同时向另外两个他自己的私钥(s1,s2)分别支付10个比特币。把支付给s1的交易让旷工1处理。支付给s2的交易让旷工2处理。恰巧旷工1和旷工2出处理的达到的分支数也都是大于6并且相同的。那不是这个时候张三就把10个比特币分别成功支付给了自己的两个私钥,他本身拥有的10个bitcoin就变成了20个?解答一下我的疑惑吧,谢谢!

2018年2月24日 14:42

| #

| 引用

zcqshine

说:

引用TONYHEAD的发言:

有若干疑问:

一个100GB的数据库就可以记录到比特币创立至今的所有交易往来?

"2000笔交易的区块手续费是3-10个比特币",这个交易成本太高了,2000笔流水,大一点的小卖部都不止这个数,难不成按目前的交易成本, 比特币只适合做大额资金的交易?

比特币的价格现在已经够大额了...哈哈

2018年2月24日 16:30

| #

| 引用

btcoin小白

说:

区块是不是可以是0-2000条交易记录(包含是0条交易记录),我在想比特币诞生时应该是还没有交易的吧,这个时候区块里面应该是没有交易记录的吧?

2018年2月26日 23:22

| #

| 引用

xmokdjs

说:

引用温国兵的发言:

纠正一个错误

“你可能看出来了,每 4 年奖励减半,那么到了 2140 年,矿工将得不到任何奖励,比特币的数量也将停止增加。这时,矿工的收益就完全依靠交易手续费了。”

这里应该是 2040 年。

一尺之棰,日取其半,万世不竭。——《庄子·天下》

2018年2月27日 11:50

| #

| 引用

戴祎程

说:

我想问一下阮老师,如果矿工没有收集全交易记录,或者故意写错了交易记录,从而生成了最新的区块,后续的矿工怎么发现他记录的有问题?

2018年2月28日 16:42

| #

| 引用

DannyPei

说:

我想问个问题,矿工们从网络上收集各种交易请求,组包并计算hash,当计算出的hash不满足要求时,是会更换或重新收集网络上的各种交易请求然后重新打包计算hash,直到所计算出的hash满足要求吗?(因为如果不更换组包的交易内容的话,计算出的hash还是会和原来的一样)这样的话作为一个交易请求的提出方,所提出的交易请求能否被认可、何时被认可都是完全未知的,这样将难以满足货币日常流通的基本需求。不知道是否是这样,求阮老师和各位老师解答。

2018年3月 1日 15:22

| #

| 引用

DannyPei

说:

引用纪钟磊的发言:

您好,我想问一个问题。就是张三有10个比特币,同时向另外两个他自己的私钥(s1,s2)分别支付10个比特币。把支付给s1的交易让旷工1处理。支付给s2的交易让旷工2处理。恰巧旷工1和旷工2出处理的达到的分支数也都是大于6并且相同的。那不是这个时候张三就把10个比特币分别成功支付给了自己的两个私钥,他本身拥有的10个bitcoin就变成了20个?解答一下我的疑惑吧,谢谢!

不会,矿工1和矿工2同时计算出符合要求区块链,并且两个分支又同时达到6个链的长度,这是不可能发生的

2018年3月 1日 15:23

| #

| 引用

alex

说:

有个地方没明白。

假如说矿工A抢到了这块区块。然后广播出去。大家承认了以后。这块区块的HASH值就定了。

然后再在这块区块中输入"A挖到了这块区块 获得12.5个比特币"。那这个输入信息不是会导致这块区块的HASH值变了么?

2018年3月 2日 17:13

| #

| 引用

Aspi1in

说:

“事实上,我也不知道,如果我知道怎么发财,可能就不会在这里写博客了。”

扎心了老铁~

2018年3月 2日 19:17

| #

| 引用

gelvshige

说:

引用Aspi1in的发言:

“事实上,我也不知道,如果我知道怎么发财,可能就不会在这里写博客了。”

扎心了老铁~

坦白的很可爱!

2018年3月 2日 19:22

| #

| 引用

peakandyuri

说:

我其实有一个疑问,比特币是没有中心节点的,如果我要加入矿工的行列,我怎么才能知道其它节点并和它们交换数据。

2018年3月 5日 14:31

| #

| 引用

xuewuchen

说:

其实我觉得这里最大的问题就是,所有的资源都浪费在无意义的计算上面了。如果这些算力真的可以一起计算,是不是能够解决很多计算上面的难题呢

2018年3月 7日 09:14

| #

| 引用

zbw

说:

引用没事扯扯蛋的发言:

谁能说明比特币怎样和实际金钱或实物挂钩的???

如果不能挂钩,比特币就是个数字游戏,没有价值。

如果挂钩了,那说明比特币背后还是有势力(中心)支持的,否则怎么可能风生水起?

你可以把它当做一件物品,一个东西,这个东西只要有人愿意花钱去买,那就能与真实货币挂钩

2018年3月 9日 15:01

| #

| 引用

csha

说:

引用zyg的发言:

传说的去中心化呢~到头来还是矿工中心化~ 算力决定一切 哈哈~

你把去中心化这个概念理解错了

2018年3月13日 19:05

| #

| 引用

中本葱

说:

引用王挺的发言:

我也有此疑问,但感觉这个回答没答到点上。

交易记录是必须要附在新的区块里,再写入主区块链才能生效的。而2040年之后,已经没机会“算出”新的区块了,还怎么附加交易记录呢?

有区块啊,只是这些区块不会新生成比特币而已

2018年3月18日 11:27

| #

| 引用

沈小扬

说:

请教,矿工记录交易记录生成新的区块,从而得到奖励的比特币。这个奖励本身的交易又是谁来记录呐?有没有区块链来保存?

2018年3月19日 13:10

| #

| 引用

Satan

说:

160位是二进制,写成十六进制,大约是26到35个字符

这个是怎么算的?

2018年3月19日 13:13

| #

| 引用

Bicong Wang

说:

引用杨峰的发言:

很好奇,比特币是怎么开始的?有这个想法是因为,采矿是产生比特币的“造血系统”,而造血的过程是写入交易记录,而最初是没有交易记录给人来写的。

阮老师没有细讲挖矿,实际上挖矿的要求是造出一个哈希值小于xx的区块,这个跟交易是否存在没有必然关系。而随着区块的产生,比特币会被制造出来。

2018年3月19日 19:04

| #

| 引用

ieayoio

说:

引用小米的发言:

有一个地方不明白,需要请教博主。

如果我是矿工,挖矿时在当前交易记录中擅自增加一条“我获得1000比特币”的记录,然后很幸运这块矿被我挖到,交易记录被记录和通报全网了。

那是不是就能作弊了?

不知道你的问题解决了没,我觉得“我获得1000比特币”的这条记录不能凭空的产生,它必须是“xxx向你转账了1000比特币”才能达到你获得比特币的目的,而这个动作需要有向你转账的人的数字签名作为凭证

2018年3月20日 17:31

| #

| 引用

ieayoio

说:

所谓交易手续费,就是矿工可以从每笔交易抽成,具体的金额由支付方自愿决定。你完全可以一毛不拔,一分钱也不给矿工,但是那样的话,你的交易就会没人处理,迟迟无法写入区块链,得到确认。矿工们总是优先处理手续费最高的交易。

这里我有个疑问,是不是说等到矿工挖到新的区块没有奖励的时候,如果支付不付手续费,是不是说有可能交易永远无法写入区块链,这岂不是有钱花不出去了吗,所以只能追加手续费来完成交易吧?而且手续费少了也很有可能迟迟完成不了交易

2018年3月20日 17:40

| #

| 引用

悟空

说:

现在比特币的区块有多高了啊?

2018年4月 2日 21:05

| #

| 引用

mall

说:

有几点疑问:

1 公钥和私钥都是软件生成的,如何保证软件平台不会私自保存用户的私钥?

2 区块链本身的机制只承认最长新增链(block),那么最终会对导致每个block都只包含最简单的信息(空block或者只包含一笔交易的block),因为你等到2000笔交易凑齐的时候再开始打包计算,可能别人已经算出来的了。这样推演下去最终区块链里每个块只会包含一笔交易,1M的大小根本就用不完。为什么还会出现提议将block size增加 ?

望哪位大侠能指教一下?谢谢

2018年4月 9日 08:57

| #

| 引用

崔文远

说:

私钥的保存用什么方式最安全?

2018年4月11日 20:34

| #

| 引用

帅锅

说:

越看越带劲,真的十分感谢作者这么辛苦写的文章呀!已经能理解很多很多了,感激

2018年4月19日 16:10

| #

| 引用

shilion

说:

引用Satan的发言:

160位是二进制,写成十六进制,大约是26到35个字符

这个是怎么算的?

这个是十六进制和2进制的转换了。就像我们的十进制,冯10进1,十六进制是冯16进1,有0-9,A-F组成。

2018年4月19日 22:17

| #

| 引用

没有

说:

引用Mike的发言:

比特币技术复杂、普通人不能很好的理解。比特币没有金融监管、容易产生金融犯罪。前段时间的黑客勒索无不采用比特币技术。所以个人并不看好这一块的技术。

你不看好的原因我却感觉是比特币火的真正原因,不接受黑暗并不代表黑暗不存在

2018年4月28日 17:52

| #

| 引用

chen

说:

想请问一下:

比特币第一个区块Block #0是相当于初始化创建的,记录的交易一个新闻报纸的标题。

产生50个比特币的奖励(这50个比特币好像不能被使用)。

那第二个区块Block #1它的交易记录是什么呢(是否是用比特币交易呢)?

这些交易的手续费所需的比特币从何处来呢?

2018年5月 2日 18:11

| #

| 引用

梦元

说:

“我获得1000比特币”的这条记录不能凭空的产生,btc不会凭空产生,它产生的唯一渠道是旷工算出合规hash值后获得的奖励,而且会有专门的标识记录这笔btc的产生,以及它产生的条件。首先“我获得1000比特币”这条记录不会添加进去,因为这条记录不合规范至少是“xxx转给xx多少btc”或者是“xx算出了新的合规hash获得XX个btc的奖励”,其次即使你想办法强行添到了数据库,请求同步数据时,其它节点也会算出你这笔凭空产生的记录是非法,拒绝同步你的数据。

每一笔交易都必须具备 (from, to, value,fee ) ,而且每一笔交易应该都会有from方进行数字签名,避免旷工把转账给to方的5个btc改成了10个

2018年5月 3日 18:46

| #

| 引用

晨晨

说:

我就想知道怎么开户 交易

2018年5月11日 22:53

| #

| 引用

虾米

说:

虽然在币圈工作几年了,但是每次需要给小白讲解btc的时候都不知从何讲起。

以后我可以让他们来看峰哥的文章。

2018年5月17日 18:45

| #

| 引用

虾米

说:

引用梦元的发言:

“我获得1000比特币”的这条记录不能凭空的产生,btc不会凭空产生,它产生的唯一渠道是旷工算出合规hash值后获得的奖励,而且会有专门的标识记录这笔btc的产生,以及它产生的条件。首先“我获得1000比特币”这条记录不会添加进去,因为这条记录不合规范至少是“xxx转给xx多少btc”或者是“xx算出了新的合规hash获得XX个btc的奖励”,其次即使你想办法强行添到了数据库,请求同步数据时,其它节点也会算出你这笔凭空产生的记录是非法,拒绝同步你的数据。

每一笔交易都必须具备 (from, to, value,fee ) ,而且每一笔交易应该都会有from方进行数字签名,避免旷工把转账给to方的5个btc改成了10个

峰哥应该是想表达对 btc 的价值思考

2018年5月17日 18:47

| #

| 引用

浅蓝

说:

引用小白的发言:

有点疑惑,交易平台肯定需要维护 哪个比特币钱包是哪个用户的吧,而比特币钱包里包含公钥私钥,这样交易平台不就可以知道比特币是哪个用户的么

只需管理用户对应的钱包地址就行,不需要知道具体的公钥私钥,就好比支付宝管理用户的账号,但是不知道你的密码也能使交易正常完成

2018年5月18日 13:07

| #

| 引用

卫道者

说:

引用Mike的发言:

比特币技术复杂、普通人不能很好的理解。比特币没有金融监管、容易产生金融犯罪。前段时间的黑客勒索无不采用比特币技术。所以个人并不看好这一块的技术。

比特币勒索与比特币无关,只是通过比特币来收钱。

2018年7月13日 13:54

| #

| 引用

Tiger.xu

说:

每个节点都包含了整个区块链(目前大概 100多 GB),并且节点之间时刻不停地在同步信息。------目前100多GB,后面随着时间推移,这个区块链是否会非常之大。而且100多GB的数据在这么多节点中复制,会不会造成网络堵塞?

2018年7月15日 19:22

| #

| 引用

haiker

说:

为什么交易数据要包含双方的地址呢,既然交易数据中已经包含了公钥,而交易的支付方地址就是公钥计算hash得到,只提供公钥,私钥签名和接受方的地址和上次交易的hash不行吗?

2018年10月 7日 10:43

| #

| 引用

张淼

说:

嗯 讲的很清楚

2018年12月21日 11:31

| #

| 引用

风一样的男子

说:

老师,您好,我正在探究比特币的源码,现在有一块没弄清楚,就是同步机制.我想知道比特币的同步时机除了节点启动时,还有其他时机吗?特别时在处理孤块上,加入第k个区块在广播给A节点时丢了,那么对于A节点是采取怎样的措施来获得这个区块的呢?希望老师不吝赐教

2018年12月31日 12:08

| #

| 引用

哈哈

说:

很不错呢,通俗易懂。

2019年4月 9日 20:07

| #

| 引用

代富贵

说:

突然发现一个问题,有人(以为为例)炒币好几年了,说啥币都多少听说过,但是突然被问到到底什么是区块链,什么是加密货币的时候,还是一脸蒙。

2019年5月27日 17:02

| #

| 引用

柚子

说:

引用温国兵的发言:

纠正一个错误

“你可能看出来了,每 4 年奖励减半,那么到了 2140 年,矿工将得不到任何奖励,比特币的数量也将停止增加。这时,矿工的收益就完全依靠交易手续费了。”

这里应该是 2040 年。

每四年减半,要乘以4兄弟,就是2140年咯

2019年6月 1日 12:57

| #

| 引用

BitcoinFan

说:

引用haiker的发言:

为什么交易数据要包含双方的地址呢,既然交易数据中已经包含了公钥,而交易的支付方地址就是公钥计算hash得到,只提供公钥,私钥签名和接受方的地址和上次交易的hash不行吗?

交易数据其实压根就没有包含“地址”。地址只在应用层(钱包软件)里存在,在底层(区块链数据里)并不存在。

交易数据包含的是“输入”和“输出”。

每一项“输出”都含有金额和“锁定脚本”。就好像开宝箱一样,你必须有密码,或者钥匙(取决于这个宝箱最初是怎么制作的)才能打开,打开后想干啥就全部由你做主了。

一般情况下,锁定脚本的内容基本上就是公钥的哈希,外加一点点脚本操作码,

地址只是把公钥的哈希加上校验码,再用Base58编码了一下而已。加上校验码可以防止打错字,用Base58编码可以方便人类阅读。

每一项“输入”都要声明被“解锁”的是具体哪一笔钱,用上一笔交易的哈希(txid)和输出序号指定。同时还要拿出“解锁脚本”,一般就是公钥、数字签名,以及一点点脚本操作码。

2019年9月 6日 22:18

| #

| 引用

BitcoinFan

说:

引用haiker的发言:

为什么交易数据要包含双方的地址呢,既然交易数据中已经包含了公钥,而交易的支付方地址就是公钥计算hash得到,只提供公钥,私钥签名和接受方的地址和上次交易的hash不行吗?

更正一下,地址里不止包含公钥哈希和校验码,还有一个版本号。

实际上这还只是最简单的P2PKH地址,除此之外还有3开头的P2SH地址(含有脚本哈希而不是公钥哈希),以及bc1开头的P2WPKH、P2WSH地址(原生隔离见证地址,功能和P2PKH和P2SH类似)。

P2SH地址可以设置更复杂的脚本,也就是设定更复杂细致的解锁条件。一般它用于多重签名。除了多重签名,还可以“封装”隔离见证脚本,因为bc1开头的原生隔离见证地址很多地方还不兼容,封装成3开头的地址,就能保持兼容了(代价是交易略大,手续费略贵)。

对bc1开头的原生隔离见证地址来说,编码不再使用中本聪设计的Base58,而是使用重新设计的Bech32,只包含小写字母,但也可以全部转换成大写字母来表示(这样可以让二维码更小更“轻便”)。这样更方便在电话中口述这种用途。

2019年9月 6日 22:27

| #

| 引用

BitcoinFan

说:

引用haiker的发言:

为什么交易数据要包含双方的地址呢,既然交易数据中已经包含了公钥,而交易的支付方地址就是公钥计算hash得到,只提供公钥,私钥签名和接受方的地址和上次交易的hash不行吗?

比特币很多时候都是反直觉的……就比如“3开头的P2SH地址可以封装隔离见证”,可能会让很多人产生一种误解:“3开头的地址和bc1开头的地址往往使用同一个公钥”——实际上很多时候并不是这样,因为一般HD钱包都遵守BIP44/49/84规范,生成不同类型的地址时,使用的私钥也不一样;只有少数钱包,比如Bitcoin Core,在一些特殊情况下(老版本的addwitnessaddress,以及importprivkey/importpubkey导入单个私钥/公钥)是这么做的。

2019年9月 6日 22:32

| #

| 引用

BitcoinFan

说:

引用Tiger.xu的发言:

每个节点都包含了整个区块链(目前大概 100多 GB),并且节点之间时刻不停地在同步信息。------目前100多GB,后面随着时间推移,这个区块链是否会非常之大。而且100多GB的数据在这么多节点中复制,会不会造成网络堵塞?

确实是越攒越大的……有些比特币开发者反对增大区块,就是出于“历史区块增长的速度已经超过技术进步速度”这种理由。

网络堵塞,现在看还不至于,因为跑全节点的比特币用户算是少数(很多人只是在交易所里炒一炒,或者就只是用一下轻量级钱包而不是全节点钱包),而且只有一开始要下载那么多,后面只需要不断跟进就可以了,并不需要一遍遍地从头下载。

2019年9月 6日 22:36

| #

| 引用

BitcoinFan

说:

引用alex的发言:

有个地方没明白。

假如说矿工A抢到了这块区块。然后广播出去。大家承认了以后。这块区块的HASH值就定了。

然后再在这块区块中输入"A挖到了这块区块 获得12.5个比特币"。那这个输入信息不是会导致这块区块的HASH值变了么?

实际上当然是先把区块里的各种数据填好、把交易都打包进去,再发给矿机、让矿机去暴力试错凑hash值啊。矿机只需要拿到区块头、coinbase交易等很少的信息就可以进行挖矿了,并不需要拿到完整的区块。

2019年9月 6日 22:42

| #

| 引用

BitcoinFan

说:

引用老宽的发言:

区块链记录着完整的账本,而比特币本质是希望解决去中心化的问题。1M的块大小引起交易堵塞的问题我能理解,通过扩容等技术手段肯定能解决的,只是扩多少的问题了。但是这个只是解决交易速度的问题啊?

但是,将来积累的账本数据肯定越来越多啊,那岂不是意味着每个安装了比特币钱包的客户端软件都得同步这些账本信息呢,比如现在账本数据如果几百G能理解不是问题,但是将来账本数据累积了总会很大啊,这个问题怎么能搞定啊?

交易确认速度这个问题争议比较大。主流认可的办法是开发闪电网络,放弃原有的零确认交易。少数派的办法是用avalanche预共识加固零确认。还有侧链,以前经常提,现在已经有了liquid、rsk这些,却很冷清,几乎没人用。而且也有adam back等大佬认为侧链并不能从根本上解决扩容问题。

区块越攒越多的问题,也有争议。

有人坚持全节点必须把所有区块都下载验证一遍(启用修剪,也只是一边下载新的一边删旧的,并不是不下载旧的),有人就认为这么做太浪费,可以妥协一下,直接从最近的状态开始,跳过历史(也就是utxo commitment、assumeutxo之类的)。

以前对这个问题还提出一个解决方法,就是“欺诈证明”,也就是让轻量级客户端随机挑一部分进行验证,“众目睽睽”之下,总能发现猫腻。但是后来这个基本上是弃坑了,理由是如果有恶意矿工挖违反规则的链,那他完全可以把有猫腻的部分藏着不发出来,轻量级客户端拿它没办法,没办法证明这里缺了一块(而不只是网速卡了)。

引用DannyPei的发言:

我想问个问题,矿工们从网络上收集各种交易请求,组包并计算hash,当计算出的hash不满足要求时,是会更换或重新收集网络上的各种交易请求然后重新打包计算hash,直到所计算出的hash满足要求吗?(因为如果不更换组包的交易内容的话,计算出的hash还是会和原来的一样)这样的话作为一个交易请求的提出方,所提出的交易请求能否被认可、何时被认可都是完全未知的,这样将难以满足货币日常流通的基本需求。不知道是否是这样,求阮老师和各位老师解答。

区块头里有个nonce值,矿机一般是先修改nonce值。nonce值用完了,还可以稍微改一下时间戳,让时间戳前后稍微变动一下。除了时间戳,还有coinbase交易,可以用作extranonce,这里面的空间就大了,但是每次修改extranonce的计算成本都比较大,所以这一般是放到最后尝试。

还有像asicboost这样有争议的办法,(分显式和隐式两种,隐式asicboost里面有提到交换交易顺序,是多种办法中的一种),显式asicboost是修改nversion,争议相对较小。

2019年9月 6日 22:55

| #

| 引用

李晓铭

说:

请问博主,矿工们如何收集交易请求啊?我有一个交易,如何发给矿工呢?这个过程,需要一个中心转发吗?矿工们之间如何联系呢?

就像bt技术一样,最终离不开一个中心来发布种子和登记提供bt服务的ip地址,比特币和区块链能完全脱离一个中心吗?

2019年12月18日 17:38

| #

| 引用

BitcoinFan

说:

引用李晓铭的发言:

请问博主,矿工们如何收集交易请求啊?我有一个交易,如何发给矿工呢?这个过程,需要一个中心转发吗?矿工们之间如何联系呢?

就像bt技术一样,最终离不开一个中心来发布种子和登记提供bt服务的ip地址,比特币和区块链能完全脱离一个中心吗?

比特币有一套P2P协议啊,简单说就是一传十、十传百。

BT不也是有完全去中心化的DHT么,DHT是不需要Tracker服务器的。

不过,比特币的节点软件里确实有硬编码写进几个“种子节点”,一开始不知道其他节点的IP时,就可以向这些“种子节点”查询(这个查询用的是DNS协议,所以叫DNS seeding)。如果从其他途径来发现其他节点,比如手动添加、从已经连接上的其他节点查询等等,那DNS seeding就不是必要的。

这个话题细说的话就不简单了。

比如“节点”具体指什么呢?要是去阅读中本聪最初的介绍和发言,就会发现他默认“矿工即节点、节点即矿工”。

现在的话,“节点”(负责验证交易)和“矿工”(负责穷举哈希来“挖矿”)已经自然而然地分离了。

矿工自己并不会运行节点,他们会把矿机的算力输出给矿池,让矿池的“节点”(或者说是“全节点”full node)负责产生区块。

很多“全节点”背后也是没有算力的,只能监视网络,不能出块。

现在的比特币核心开发者大多认为用户需要跑全节点,因为全节点可以独立、完整地验证区块链账本的内容。

如果是SPV轻量级钱包的话,因为没有对交易内容进行验证,所以,理论上,即便是矿工打破了比特币的规则,比如凭空造100万币,那SPV也是无法识别的。

但是,全节点很笨重,很显然并不适合一般用户;而且有人认为“按照中本聪原本的设计,就不需要普通用户去跑全节点”,比特币的社区可以说也因为这个分歧而分裂了,反对“普通人应该跑全节点”的人很多转而去支持BCH(然后BCH又分裂成ABC和SV两个币……)。

比特币核心开发者则会指出中本聪很早以前就消失了,在他消失之前,他也并没有把SPV轻量级钱包设计完善,因为缺失了“警报机制”来提醒SPV不要去跟随违反规则的区块链账本。

2020年1月 4日 02:06

| #

| 引用

BitcoinFan

说:

还有,矿池之间可能未必是走比特币自身的P2P网络,他们可能还会走更快的FIBRE、Falcon等更加中心化、但也更快的网络,这样可以避免自己因为网络通信不畅(没有及时收到最新区块,或者没有及时把自己新挖出的区块广播出去)而挖出废块。

2020年1月 4日 02:11

| #

| 引用

JAK

说:

用核心钱包交易是不是每次交易都会生成一个新的地址,且钱包内所有的比特币都会转移到新的钱包内,接收了比特币是不是也是一样,所有的比特币包括不是交易所得的比特币都会自动到一个新的找零地址里去?

2020年3月31日 12:15

| #

| 引用

BCG

说:

引用温国兵的发言:

纠正一个错误

“你可能看出来了,每 4 年奖励减半,那么到了 2140 年,矿工将得不到任何奖励,比特币的数量也将停止增加。这时,矿工的收益就完全依靠交易手续费了。”

这里应该是 2040 年。

就是2140年,不是2040.

2020年4月30日 12:07

| #

| 引用

BitcoinFan

说:

引用JAK的发言:

用核心钱包交易是不是每次交易都会生成一个新的地址,且钱包内所有的比特币都会转移到新的钱包内,接收了比特币是不是也是一样,所有的比特币包括不是交易所得的比特币都会自动到一个新的找零地址里去?

避免重复使用同一个地址,这个是中本聪的白皮书里提到的。这是一种很鸡肋的、聊胜于无的隐私保护措施。

每次收款时都用新的收款地址,结合每次转出时都用新的找零地址,双管齐下,理想情况下就分不清哪个地址是回到原主人手里的找零,然后就无法进一步追查资金去向,从而保护隐私。

实际上有不少情况会泄露“哪个地址是找零”这个信息;甚至还有不少轻量级钱包是直接上传xpub主公钥的,钱包服务商直接就知道哪些地址背后是同一个主人了。

(而且Bitcoin Core虽然是HD钱包,但是用的是很蛋疼的hardened derivation,压根就没有xpub主公钥——这个情况可能在未来版本会有所改革,开发者现在正在做descriptor wallet)

每次转出,并不是会把所有币都转移到新的找零地址上。这要看你转出的金额大不大,以及你的钱包如何“选币”,选择花掉哪些UTXO。一般情况下钱包是只选择差不多够用的UTXO(所以这也会造成交易里的找零输出项金额较小,可以被猜测分辨出来;但是如果选了太多UTXO,也要注意,把不同地址上的币同时花出去本身也是隐私信息泄露,因为这样透露了这些地址背后实际上是属于同一个主人)。

2020年10月 2日 01:56

| #

| 引用

undefined

说:

挖到新区块的矿工可以获得比特币奖励,奖励的数量逐年递减,这个机制可以修改吗?谁来决定呢

2022年4月15日 11:56

| #

| 引用

sutungpo

说:

请教下在第三部分交易流程中:

转出比特币的一方提供的数据中的数字签名是不是也保证了交易金额的属实?否则交易的金额在申报提交过程中存在被篡改的可能性?

2022年8月15日 14:54

| #

| 引用

我在2023看世界

说:

2023年再看这篇文章,确实受益匪浅

2023年5月12日 21:43

| #

| 引用

我要发表看法

您的留言

(HTML标签部分可用)

您的大名:

«-必填

电子邮件:

«-必填,不公开

个人网址:

«-我信任你,不会填写广告链接

记住个人信息?

正在发表您的评论,请稍候

«- 点击按钮

Weibo |

Twitter |

GitHub

Email: [email protected]