tokenpocket安卓版|比特币 挖矿 教程
利用个人电脑GPU挖矿回血,教程只需要看这一篇! - 知乎
利用个人电脑GPU挖矿回血,教程只需要看这一篇! - 知乎首发于cryptocurrency切换模式写文章登录/注册利用个人电脑GPU挖矿回血,教程只需要看这一篇!比特小子一键购买比特币 binance.pigshi.com如果你有闲置的电脑,或者工作电脑每天都有一段时间闲置,或者平时工作时CPU、GPU不会全部使用,那么何不利用它们赚点零花钱,积少成多呢?加密货币挖矿就是一个很好的选择。现在动荡不安的加密货币市场并不适合投资,利用闲置电脑挖矿就成了一个很好的选择。如果你的电脑有超过4G显存的显卡,且是A卡580和N卡1060以上,那么可以选择GPU挖矿。以笔者的Nvidia GTX 1070显卡为例,在挖矿收益计算平台minerstat选择发文时刻之前三天的平均收益,可以看到挖矿收益前七名均为ETH,因此我们当前还是应该选择ETH作为挖矿货币。下面推荐两个笔者亲测好用的挖矿平台:一、币安币安是当前全世界上最大的加密货币交易所之一,拥有大量矿工。币安矿池收益计算周期是每日一结,结算完成后直接打款至用户的币安矿池钱包。不设提现门槛,特别适合三天打鱼两天晒网的用户。同时,手续费较为低廉,ETH挖矿费率为0.5%。操作也较为简洁。详细的挖矿教程如下所示:首先,你要拥有一台配置有GPU(NVIDIA或AMD,显存不低于4G)的个人电脑,操作系统可以是Windows或Linux。随后在注册,可以享受40%返佣!注册完毕币安矿池帐户之后,创建挖矿账户:填写挖矿ID,此处以bubu666为例,需要改为你自己的:根据自己的系统类型,选择下载以下任一开源软件进行ETH挖矿Claymore: http://github.chttps://laymore-Dual/Claymore-Dual-Miner/releases/Teamredminer: https://http://github.com/todxx/teamredminer/releasesNBMiner: https://http://github.com/NebuTech/NBMiner/releasesGMiner: https://http://github.com/develsoftware/GMinerRelease/releases这些软件都会有最低1%的抽水,如果不想被抽水,可以自行搜索ETH挖矿软件反抽水版。不过开发软件需要时间和精力,尽量支持一下。说一下这里为什么不推荐轻松矿工类的软件:这些软件虽然傻瓜式操作,但是天下没有免费的午餐。闭源软件好上手的代价就是你不知道有多少暗箱操作。比如有人统计过轻松矿工的抽水为5%左右:【科普】细说轻松矿工抽水多少_wsckqiu的博客-CSDN博客_轻松矿工抽水多少挖矿软件的操作均大同小异,推荐使用claymore软件。以windows操作系统举例,首先下载Claymore挖矿软件,选择“将文件解压缩到当前文件夹”,找到“start.bat”批处理文件,如下图所示:右键点击“start.bat”批处理文件,选择“编辑”,将下列命令粘贴:EthDcrMiner64.exe -epool ethash.poolbinance.com:8888 -ewal username -epsw x -eworker workername -allpools 1其中username就是之前所填写的挖矿ID,workername可以自己随便取。比如我的挖矿命令就是:EthDcrMiner64.exe -epool ethash.poolbinance.com:8888 -ewal bubu666 -epsw x -eworker 001 -allpools 1修改完毕之后,双击start运行,会弹出以下界面:显示出Eth speed也就说明正在进行挖矿了。耐心等待一段时间,可能需要半小时到1小时,币安矿池统计界面就开始计算收益了。有人可能会遇到挖矿很长时间,确认用户名没写错,币安都不显示收益的问题。只需在币安挖矿后台用户名左边将算法由SHA256切换为Ethash即可看到挖矿收益。最后总结一下币安矿池:优点:不设提币门槛,每天收益自动转账到矿池账户(非常适合于利用闲置电脑时间挖矿的用户),手续费较低。二、EzilEzil矿池是一个收益较高的矿池。它最大的特点是ETH和ZIL双币可以同时开采,获得双份收益。(2021年9月2日更新:目前从ezil矿池提币也需要自行支付手续费!请自行斟酌)Ezil的最小打款额度为0.05 ETH和30 ZIL。以Nvidia 1070 GTX为例,大概连续挖矿一个月左右可以达到提币门槛。 Ezil矿池的教程如下所示:注册完毕后,点击start mining进入挖矿设置页面。选择自己的操作系统,Mining pair我们选择ETH+ZIL,区域选择所在的区域,如果是在国内的话选Asia (singapore)。下面需要填写ETH钱包地址和ZIL钱包地址,推荐使用trust wallet创建自己的钱包。创建之后输入自己的ETH和ZIL钱包地址,worker_name随便输入一个即可。3. 输入完毕之后会生成相应的挖矿软件命令。挖矿软件推荐Phoenix:https://http://phoenixminer.org/,在官网点击download下载。下载之后解压,在文件夹下创建文本文件,打开后粘贴上述命令:PhoenixMiner.exe -pool stratum1+tcp://http://eu.ezil.me:5555 -proto 2 -wal ETH_WALLET.ZIL_WALLET -worker WORKER pause随后保存,重命名为批处理文件ezil.bat,打开运行即可。耐心等待一段时间,Ezil矿池网站上会显示当前收益以及预计月收益。总结一下Ezil矿池:优点:多币挖矿,预计收益较高 ;缺点:转账门槛高,个人电脑需要连续不断挖接近一个月才可以达到。不推荐个人电脑挖矿用户使用。此外,目前提币也需支付转账手续费。最后,计算一下具体收益。以Nvdia 1070 GTX为例,发文时前一天的收益如下:每天可以挣一顿饭钱。月收入100美元左右,一年也就是1200美元。刨去电费的话,也是一笔不小的收入。可以直接评论区留言,看到都会及时回复的。发布于 2021-09-02 10:24挖矿图形处理器(GPU)个人电脑赞同 5514 条评论分享喜欢收藏申请转载文章被以下专栏收录cryptocurrencySomething interest
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.
如何通过挖矿,获得一枚比特币? - 知乎
如何通过挖矿,获得一枚比特币? - 知乎切换模式写文章登录/注册如何通过挖矿,获得一枚比特币?青春向上比特币挖矿是获取比特币最廉价的方式,但大部分人并不了解比特币是如何挖矿的,更不知道如何挖矿,下面就给大家讲一下如何通过挖矿获得一枚比特币。根据比特币基本算法,比特币每10分钟产生1个区块(block),每个区块里有N个比特币作为报酬(N的数量在下文中说明),这个区块包含了最近10分钟所有的比特币交易信息。制造比特币的过程叫做“挖矿”(mining),在这个过程中,计算机把最近收到的帐单打包在刚制造的区块里,这个打包的过程即制作的过程,只有极其稀少的几率被制造成功。(你可以理解成把新收到的帐单合在一起,一次成型不可修改,如果制造失败就要再来一次)一旦制造成功,你就把这个区块广播出去,这就意味着,你获得了这个区块中的N个比特币作为报酬。那么N是多少呢?根据比特币算法,在比特币发布之日起的头4年里,N = 基础报酬(50个比特币) + 交易报酬(过去10分钟内整个比特币网络耗费的交易手续费,前面已经说过,每笔比特币交易会消耗0.001比特币作为报酬给挖矿的人),每隔4年,N的基础奖励将减少一半,也就是说,头4年为50,第5-8年为25,第9-12年为12.5,以此类推。而随着比特币越来越普及,交易越来越频繁,N的交易奖励会逐渐增加。从2013年5月起,比特币正式进入了第5年,因此到2017年5月之前,每个区块的报酬N为25+交易报酬。挖矿步骤(1) 下载比特币官方客户端 (2) 安装好客户端后,启动客户端,客户端启动后一般3分钟内会开始同步网络数据,由于比特币数据非常庞大,这可能需要若干个小时(根据网速和电脑性能决定)。图为客户端同步网络数据:请保证你的C盘有10GB以上的剩余空间,如果C盘空间不够的话,需要将数据设置到D盘或E盘(3) 如果你的客户端显示的是英文,而你又对英文不太擅长,你可以把它设置成中文(4) 客户端同步网络数据不会影响我们挖矿,我们先获取我们的账户地址,点击客户端的“收款地址”按钮,这时你看到的一串非常长的地址,类似19G5E9SY5WKdMJEJd71Zs35G8V6x2o3qpG,就是你的比特币账户,比特币账户地址是自动生成的、全世界唯一的地址。(5) 你的账户里现在是0.00 BTC,意味着你还没有比特币,但你现在可以开始挖矿了,下载一个简单易用的挖矿软件CGMiner(CGMiner能挖比特币以及大部分的货币,但并非所有货币的挖矿都能用CGMiner)(6) 你需要确认你的显卡型号,如果是nvidia显卡,那么就可以直接挖矿了,请跳过本步骤。如果是ATI显卡,除了CGMiner你还需要安装一个AMD SDK包。(7) CGMiner是英文界面,不过这并不影响一个菜鸟来使用它,请将下载到的CGMiner解压到电脑的任意地方,然后进入到CGMiner的文件夹。(8) 在cgminer的文件夹里面,新建一个文本文件(TXT)该矿池是比特时代提供的完全免费的矿池),如果以后你想使用其它矿池和端口,请再自行修改矿池URL和端口(9) 然后双击运行上面的run.bat文件,就可以开始采矿了。你挖矿时产生的收益,比如你获得了0.001个比特币,会存放到你自己填写的BTC地址中(由于现在这个阶段BTC挖矿的难度非常大,你可能要等待一整天才会有BTC收益,挖矿时,电脑屏幕可能会有一些卡,是因为显卡的资源绝大部分被占用了)注:实际上,比特币挖矿的用户数量非常庞大,而每10分钟产出的比特币又十分有限,因此挖矿的难度已经是非常非常大了,如果你拥有性能强劲的显卡,那么会有一定的收益,如果你的显卡不好,那么你可能需要耗费N个小时才可以获得一点点比特币。发布于 2021-03-24 13:05比特币 (Bitcoin)比特币矿池比特币矿机赞同 206 条评论分享喜欢收藏申请
五分钟,开启比特币挖矿之旅! - 知乎
五分钟,开启比特币挖矿之旅! - 知乎首发于云体验师切换模式写文章登录/注册五分钟,开启比特币挖矿之旅!奉孝翼德对未知世界留有敬畏之心挖矿其实很简单,只需要:一台有计算能力的联网设备和一个小小的挖矿软件。设备可以是:一台笔记本电脑,一块装着FPGA的主板都可以。挖矿软件,以最有影响力的比特币来说,常见的有以下几个:CGMiner:CGMiner支持命令行方式,因为是C语言写的,所以效率比较好,跨平台也非常好。虽说是跨平台的,但是在我的Windows10上安装失败了,系统提示有毒,可能是因为别人修改了什么被病毒库发现了吧,还是推荐在Linux上运行CGMiner,为了简便起见,这次体验就选一个难度其实奇低的吧。Bitminter:Java写的跨平台的工具,有图形化界面,但是限定了只能用特定的矿池。此外还有BFGMiner,这个不支持GPU,无法发挥我GTX1070的威力,也放弃了。EasyMiner,有图形化界面,但是太丑了,而且,也会惹到防病毒软件,想想也是放弃了,唯一推荐的是这个叫NiceHash的软件,界面美观,适合有美学修养的爱好者体验。官网(https://www.nicehash.com/)软件实际截图很好看吧不仅美观,它支持CPU,ASIC当然还有GPU,而且是AMD和NVIDIA的GPU都支持,软件操作感觉也很不错。软件选好了,我来介绍一下我的电脑配置吧,2016年买的i76700K CPU+16GB RAM+GTX 1070显卡,还过得去。软硬件都有了,现在开始挖矿吧?等等……这时候要准备一个钱包,比特币钱包提供一串地址,唯一的地址,就靠这个地址记录你的比特币,丢了就真的丢了。然后,你需要选择一个矿池。当然,你也可以选择Solo挖,就是不做矿池公认,自己干,但是自己需要解决很多问题,比如安全问题,风险比较大,建议还是找个包工头(Pool)一起挖,旱涝保收,也不怕故障丢成果,也不怕黑客给你添乱,这些麻烦事儿都交给池主吧。当然,你得交保护费。我们先注册登录,登录后的Dashboard如下图。点击Wallet钱包选项,里面就有一串地址,如下图所示,一串以3或者1开头的字符串:Yourbtc address。你可以把这串地址复制出来,粘贴到软件里,也可以注册第三方的Wallet(钱包来用)。UseBTC Address,我用的是后者。我是在Coinbase上注册的,不考虑别的原因,纯粹为了测试起见,选择了Coinbase(Coinbase不支持中国地区用户买,限制中国用户交易)。选择自己找的钱包或者直接用NiceHash提供的钱包选矿池。NiceHash提供了矿池,挖矿的时候你可以直接用。另外,作为买家的话,你可以自己添加矿池。Stratum列表中有很多可选项如果你就是挖矿的话,用NiceHash的你可以暂时跳过选池子的问题,NiceHash自带池子。你也可以看看配置栏里的东西,有点迫不及待的朋友可以之间点击Start了,点了之后,马上就可以进入正式的Benchmark过程了。为了测试一下你机器的水平吧,过程中会相应的做一些优化。Benchmark如果能顺利走完,就可以开始挖矿了。挖矿对计算能力要求还是很高的,如果机器不太行的话,这次挖矿之旅可能就到此为止了。挖矿ing图中预估了一天挖矿的产出,这个是波动的数字,因为BTC也在波动,计算力也在波动。当你的BTC足够支付手续费的时候,你就可以考虑出售了。NiceHash更牛的地方是,这里就支持交易。更多内容自己挖掘吧,考虑到现在的行情,我还是让我的显卡歇一歇吧。https://miner.nicehash.com/祝大家挖的愉快,不用交电费发布于 2018-09-06 08:59比特币 (Bitcoin)挖矿挖矿机赞同 226 条评论分享喜欢收藏申请转载文章被以下专栏收录云体验师科技爱好者,IT科技八卦党(公号:云体
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.
比特币挖矿指南 - 比特币挖矿入门
比特币挖矿指南 - 比特币挖矿入门
Start
News
Pool
Cloud
Software
Hardware
Price
...
Global Vol.
...
Diff.
...
比特币挖矿指南 - 比特币挖矿入门
你将了解(1)如何进行比特币挖矿,(2)如何开始挖比特币,(3)最好的比特币挖矿软件是什么,(4)最好的比特币挖矿硬件是什么,(5)哪里能找到最好的比特币采矿池和(6)如何优化你的比特币收益。
比特币挖矿很难做到有利可图,但如果你尝试的话,那么这个比特币挖矿机可能是一个很好的机会。
如何进行比特币挖矿
在开始比特币挖矿之前,了解比特币挖矿到底是什么意思非常有用。比特币挖矿是合法的,通过运行SHA256双向哈希验证流程来完成,以验证比特币交易并为比特币网络的公开帐本提供必要的安全性。你挖比特币的速度是以每秒哈希为单位测算的。
比特币网络通过向贡献所需计算能力的人员发放比特币来作为比特币矿工的工作报酬。这以新发行的比特币和挖比特币时已验证交易中包含的交易费用的形式进行。你贡献的计算能力越大,你所获得的奖励份额就越多。
步骤 1 - 获得最好的比特币挖矿硬件
购买比特币 - 某些情况下,你可能需要使用比特币来购买挖矿硬件。今天,您可以在Amazon上购买大部分硬件。你也可能想查看比特币图表。
如何开始比特币挖矿
要开始挖比特币,您需要获取比特币挖矿硬件。在比特币早期,可以使用电脑CPU或高速视频处理器卡来挖矿。但今天这种作法已经不可行了。定制的比特币 ASIC芯片的性能最多可达旧系统的100倍,现在已经占据了比特币挖矿的主导地位。
使用性能比这低的硬件来挖比特币,消耗的电力比可能会赚到的钱还要多。使用专门为此目的而制作的最好硬件来挖比特币至关重要。像Avalon这样的多家公司提供专门针对比特币挖矿而设计的优质系统。
最好的比特币云挖矿服务
另一个选择是购买比特币云挖矿合同。这大大简化了过程,但是由于你无法控制实际的硬件,因此会增加风险。
本节列出的并不是对这些服务的认可。已经发生过许多比特币云挖矿诈骗事件了。
Hashflare 评价:Hashflare提供SHA-256 挖矿合同,也可以挖更有利可图的SHA-256 比特币,同时仍使用比特币自动付款。客户必须至少购买10 GH/s。
Genesis Mining 评价:Genesis Mining 是最大的比特币云算力挖矿提供商。Genesis Mining提供三种比特币云挖矿计划,价格合理。另外也提供Zcash挖矿合同。
Hashing 24 评价:Hashing24自2012年以来就参与到比特币挖矿行业。他们在冰岛和格鲁吉亚有设施。他们使用BitFury的现代ASIC芯片,可以提供最佳的性能和效率。
Minex 评价:Minex是以经济模拟游戏格式呈现的区块链项目的创新聚合者。用户购买Cloudpack,然后可以使用它们为预先选定的云挖矿场、彩票、赌场、现实世界市场等建立索引。
Minergate 评价:提供比特币矿池以及合并的挖矿和云挖矿服务。
Hashnest 评价:Hashnest由比特币蚂蚁矿机的生产商Bitmain 运营。 HashNest目前有超过600台蚂蚁矿机 S7 供出租。你可以在Hashnest的网站上查看最新的价格和可租用的数量。在撰写本文时,一台蚂蚁矿机 S7的哈希率可以租$1200。
Bitcoin Cloud Mining 评价:当前 Bitcoin Cloud Mining 的合同已经售罄。
NiceHash 评价:NiceHash独一无二的原因在于,它使用订单来匹配采矿合同买家和卖家。查看其网站以了解最新价格。
Eobot 评价:刚开始时比特币云挖矿的价格可以低至$10。Eobot声称客户可以在14个月后实现盈亏平衡。
MineOnCloud 评价:MineOnCloud目前在云端有约35 TH/s的挖矿设备可供出租。另外还有一些挖矿机出租,其中包括蚂蚁矿机S4和S5。
步骤 2 - 下载免费的比特币挖矿软件
在收到比特币挖矿硬件后,你需要下载一个用于比特币挖矿的特殊程序。比特币挖矿可以使用很多程序,但两个最受欢迎的是CGminer和BFGminer,它们都是命令行程序。
如果你喜欢图形用户界面的易用性,你可能想试试EasyMiner,这是一个点击运行Windows / Linux / Android程序。
更多详细信息,请访问最佳比特币挖矿软件。
步骤 3 - 加入比特币矿池
在你准备好开始挖比特币时,我们建议你加入一个比特币矿池。比特币矿池是许多比特币挖矿机一起工作,共同解决一个数据块并分享其奖励。没有比特币矿池,你可能挖一年多也不会挖到任何比特币。与更大的比特币挖矿机群体一起工作并分享奖励,会让挖矿变得更为方便。这里有一些选择:
对于全分散控制矿池,我们强烈推荐p2pool。
以下矿池被认为目前正在使用比特币核心钱包 0.9.5或更高版本的有效数据块(由于DoS漏洞而推荐使用0.10.2或更高版本)
BitMinter
CK Pool
Eligius
Slush Pool
步骤 4 - 设置比特币钱包
挖比特币的下一步是设置一个比特币钱包,或使用现有的比特币钱包来接收你挖到的比特币。Copay是一个很棒的比特币钱包,并可在许多不同的操作系统上运行。也可以使用比特币硬件钱包。
比特币通过使用仅属于您的唯一地址发送到您的比特币钱包。设置比特币钱包最重要的一步是通过启用双因素身份验证或将其保存在无法访问互联网的离线电脑上,从而防止潜在的威胁。可以通过将软件客户端下载到电脑上来获得钱包。
有关选择比特币钱包的帮助,你可以从这里开始
您还需要能够购买和出售你的比特币。为此,我们建议:
SpectroCoin - 同日 SEPA 的欧洲交易平台,可以使用信用卡购买
Kraken - 最大的欧洲交易平台,具有同日SEPA
Buying Bitcoin Guide - 帮助你寻找你所在国家的比特币交易平台。
Local Bitcoins - 这个奇妙的服务可让你在你的社区寻找愿意直接出售给你比特币的人。不过要小心!
购买比特币时,Coinbase 是一个很好的开始之地。我们强烈建议你不要在其服务中保存任何比特币。
步骤 5 - 关注最新的比特币新闻
关注最新的比特币新闻对于比特币挖矿利润很重要。如果你想要了解一般的比特币新闻,那么我们推荐WeUseCoins news。
这是比特币挖矿新闻部分,这里有 5 篇最新的文章:
[警告] - 1 August 2017 年 8 月 1 日将发生 BIP 148 UASF 。这可能会大大影响比特币挖掘机传统挖矿或挖BIP 148 区块链的收益。
要做好准备,我们建议阅读 UASF 指南。
Written by Bitcoin Mining on .
Recommended posts
Contribute
Advertise
FAQ
About Us
Español
Deutsch
Français
Nederlands
Pусский
Português
Bitcoin Mining™® © 2010-2022 Hesiod Services LLC | Terms | Privacy
比特币(BTC)挖矿详细图文教程-太平洋电脑网
比特币(BTC)挖矿详细图文教程-太平洋电脑网
首页 > 软件 > 区块链 > 百科 > 比特币 > 正文
正在阅读:比特币(BTC)挖矿详细图文教程比特币(BTC)挖矿详细图文教程
2018-07-11 17:31
出处:其他
作者:佚名
责任编辑:liukaiping
好吧,废话不多说了,其实比特币 - Bitcoin 出现时间已经很久了,不过对于新手来说,还是需要讲解一下的。关于比特币。FORECE 在好几年前就听说过了,不过当时就觉得这玩意不靠谱。不过看到CNBETA这几年来一直不时的有比特币的新闻出现。FORECE 决定没事玩玩先吧。比特币的简介比特币(英语:Bitcoin,简写:BTC,货币符号:?),是一种用开源的P2P技术的软件而产生的电子货币。 虚拟货币 “比特币”的概念最初由中本聪(Satoshi Nakamoto,可能化名)在2009年提出。现在比特币也指根据中本聪的思路设计发布的开源软件以及建构其上的整个P2P网络。在全球范围内,比特币可以通过多个线上的交易所和服务商进行兑换交易,也可以在线下找到兑换点,兑换为现钞或金币,但未有国家对此作出法律上的任何保障。比特币的价值那么现在的比特币的价值如何呢?我们可以通过 https://mtgox.com/ 来查看当前汇率,刚刚 Forece 查看了一下,一个 BTC 就可以兑换到 $117 美元。比特币的获取渠道那么我们如何获取比特币呢?最开始,比特币的获取方式就是通过CPU来进行“挖矿”。也就是说像挖金子一样,通过CPU计算,通过贡献我们的CPU计算量,我们就可以获得比特币,当你的CPU挖出了一个区块,你就获得了一定量的比特币。不过现在这种单干的方式越来越难了,因为比特币的量是固定的,知道比特币的用户越来越多,所以造成了比特币的矿越来越难挖。于是“矿池”这个东东就诞生了,网上的大牛们建立了一个网站,集合大家的计算能力一起挖矿,虽然你并没有挖到比特币,但是通过贡献计算量,你也可以获得少量的比特币。目前来说比特币的挖矿方式已经从 CPU 转为了 GPU,因为 GPU 的设计问题,GPU 更适用于比特币的计算方式。所以一般来说 GPU 的速度往往要比 CPU 的速度大十倍甚至几十倍。准备工作1. 显卡显卡最好是 AMD ATI 的显卡,N卡不成,速度没有A卡的效果好,当然等级越高越好,另外可以从这个网站看一下自己挖矿的速度。https://en.bitcoin.it/wiki/Mining_hardware_comparison2. 比特币钱包3. 挖矿软件比特币挖矿教程1. 首先安装一个比特币钱包,获得一个比特币的地址去 Bitcoin 官方网站,下载比特币钱包 Bitcoin-Qt ,适用于多个平台。当然你也可以下载到你安卓手机上,在 Google Play 中搜索 Bitcoin Wallet 就可以简单安装了。在各种比特币钱包中,找到你自己的钱包地址,如下图所示:比特币挖矿详细图文教程除了比特币的官方钱包外,我们还有其他各种钱包可供选择。各有优势。Bitcoin-Qt - 基于 C++/Qt 的 Bitcoin 比特币客户端图形化界面,支持 Linux/MacOSX/Windows,全功能。现在作为官方客户端使用,不过有个缺点,就是需要同步数据,超级慢啊,网上搜索了一下,大概需要7G的数据。所以就难怪网络上一堆人在那里叫:比特币钱包同步怎么这么慢啊?实在是没法快起来,数据包太大了。如果实在受不了,只想要一个钱包地址的话,那么不妨试试手机客户端或者以下其他几种客户端吧。 下载地址: http://bitcoin.org/en/downloadMultiBit - 一个安全、轻量级、国际化的 Bitcoin 比特币钱包,支持 Windows、MacOS 和 Linux。MultiBit比特币客户端主要面向非技术用户,目标是为了让普通用户更快更方便的使用比特币。主要特征有“秒同步”(同步速度飞快),客户端可以创建和管理多个钱包,另外每个钱包都可以创建无数个收款地址。唯一的一点不好,选项里面有一个0.001的交易手续费,且不能取消。这是不是意味着,每次付款都要付出至少0.001的手续费呢?小编使用的就是这个客户端,强烈推荐。网站: https://multibit.org/Armory - 是一个开放源代码的钱包客户端。它从一开始就设计用来给大量投资比特币的用户提供最高级别的安全性,同时仍然保持了高度的易用性和便利性。其易于使用和大量先进的功能,使它成为最流行的比特币客户端之一。Armory是基于 Python 的客户端,当前处在 Alpha 测试阶段,Beta 版本由多人资助。网站: https://bitcoinarmory.com/Electrum - 是一个轻量级的、易于使用的比特币客户端,它可以保护你的比特币,避免遭受到因为备份错误或者电脑故障而造成的损失。你的钱包可以从一个秘密的短语中恢复,你可以把这段密语写在纸上或者记在心里。它并不下载比特币的块链数据,所以当你启动客户端时,你会发现不需要等待(众所周知官方客户端启动超慢)。网址: http://electrum.org/2. 找一个矿池,注册一个账号我们就可以开始挖矿啦。如果你不知道都有哪些矿池的话,不妨先下载一个挖矿软件,这里 Forece 推荐的挖矿软件叫做 GUIMiner 然后打开 GUIMiner,通过查看服务器,我们就可以知道目前都有哪些流行的矿池了。比特币挖矿详细图文教程3. 注册完毕后,在网站中选择挖矿方式,然后我们就可以用 GUIMiner 开始挖矿了,在 GUIMiner 中填入刚刚注册的矿池账号信息,然后点击开始挖矿即可。至于挖矿方式,下方会有介绍。几种挖矿方式介绍1. Slush方式-Slush矿池基于积分制,较老的shares将比新的shares拥有更低的权重,以减少一轮中切换矿池的投机分子。2. Pay-Per-Share方式-该方式为立即为每一个share支付报酬。该支出来源于矿池现有的比特币资金,因此可以立即取现,而不用等待区块生成完毕或者确认。这样可以避免矿池运营者幕后操纵。这中方法减少了矿工的风险,但将风险转移给了矿池的运营者。运营者可以收取手续费来弥补这些风险可能造成的损失。3. Luke-Jr方式-该方式借用了其他方式的长处,如Slush方式一样,矿工需要提供工作证明来获得shares,如puddinpop方式一样,当区块生成时马上进行支付。但是不象之前的方式,针对一个区块的shares,会被再次利用于生成下一个 区块 。为了区分一下参与矿工的交易传输费用,只有当矿工的余额超过1BTC时才进行支付。如果没有达到1BTC,那么将在下一个区块生成时进行累计。如果矿工在一周内没有提供一个share,那么矿池会将剩下的余额进行支付,不管余额是多少。4. Triplemining方式-该方式是将一些中等大小矿池的计算力合并起来,然后将获得奖励的1%按照各个矿池计算力的比例分发给矿池运营者。5. P2Pool方式-P2Pool的挖矿节点工作在类似比特币区块链的一种shares链上。由于没有中心,所以也不会受到DoS攻击。和其他现有的矿池技术都不一样-每个节点工作的区块,都包括支付给前期shares的所有者以及该节点自己的比特币。99%的奖励(寻修网 http://www.seekxiu.com/ (注意:50BTC+交易费用)会平均分给矿工,另外0.5%会奖励给生成区块的人。6. Puddinpop方式-一种使用“元哈希”技术的方式,使用特定的puddinpop挖矿软件,现在没有矿池用这种方式。目前使用较多的方式为Pay-Per-Share,如 deepbit.net和btcguild.com 等均支持PPS,矿工使用起来也比较方便。当然除了 GUIMiner ,我们还有其他选择,比如 CGMiner 等等,不过 GUIMiner 是大家最常用的软件,对于新手来说比较方便。像CGMiner 就是纯代码版本的,需要手动如数一些参数才可以开始挖矿,对于新手来说麻烦一些。另外使用 GUIMiner 的时候,请先安装 AMD 的 SDK 软件,和更新一下驱动程序,目前来说 AMD-APP-SDK-v2.6 和 AMD 12.6 的显卡驱动比较稳定。请大家去官网查询下载。其他赚取比特币的方式现在很多网站还提供很多其他赚取比特币的方式,比如看广告,看视频等等,只要完成他们的任务,你就可以获得小部分比特币,这里 Forece 会稍作整理然后放出。每天只能免费获取一次的:http://dailybitcoins.org/http://boklund.nu/bunnyrun/http://bitcoiner.net/http://netlookup.se/free-bitcoins/http://cointicket.org/index.php以下几个站可以每天看广告获取BTC:http://www.bitvisitor.com/http://www.bitcoin4you.net/earnBit.phphttp://earnfreebitcoins.com/visit关于比特币提现很多人一拿到比特币就想提现,这里 Forece 推荐几个网站提现美元、外币Mt.GoxBTC-E提现人民币:BtcChina比特海FXBTC关于挖矿的速率计算大家可以来到这个网站,通过 GuiMiner 中提供的速率,然后来查询你通过挂机能获得的金额。http://www.alloscomp.com/bitcoin/calculator
相关文章
玩得就是心跳 BTC比特币价格暴跌了20%
警方破获比特币挖矿窃电大案:日均偷电4万度!
关注我们
聚超值
抽油烟机
洗衣机
蓝牙耳机
摄像机
智能眼镜
无线主动降噪耳机
人体工学无线鼠标
迷你游戏笔记本
热门排行
CorelDRAW2024:矢量设计软件的新里程碑
0
十大ERP系统品牌排行榜,哪些软件更适合您的企业?
0
几个堪称神器的小众网站 用过就离不开
0
OpenAI发布Sora火爆全球,微美全息(WIMI.US)布局AI视频生成迎来新的“GPT时刻”
0
网络犯罪的阴暗创新:暗网上的人工智能试验揭露
0
热门软件
PC软件
安卓应用
iOS应用
手游电脑版
游戏专区
资讯|曝《上古卷轴6》2025-26年发售 背景在落锤省
资讯|塞班经典国产手游《七夜》高清重制版实机演示
资讯|《守望先锋2》加入计分板功能 玩家:不能划水了
IT百科
热门专题
ETC免费办?当心猫腻
当心这种微信诈骗!
细思极恐!这些微信清粉软件可能暗含大阴谋
库克又对你的iPhone下手了,比让手机变卡更狠
除了反向绕行80公里,网约车还有哪些坑爹操作?
让你看得怀疑人生的支付宝账单,是怎么算出来的?
PPT制作软件
抢票软件大全
牛市炒股利器合集
看美剧软件大全
看日漫软件排行榜
安卓模拟器电脑版下载合集
汽车资讯
正在加载中...
成都车展
宏光MINI EV
普拉多
欧拉黑猫
途达
起亚嘉华
玛奇朵
皇冠陆放
奔驰C级
哈弗神兽
坦克600
奥迪Q5
思域
卡罗拉双擎E+
轩逸
太平洋汽车网app
新能源车
最新资讯离线随时看
聊天吐槽赢奖品
NiceHash - Leading Cryptocurrency Platform for Mining and Trading
NiceHash - Leading Cryptocurrency Platform for Mining and Trading
We're sorry but client doesn't work properly without JavaScript enabled. Please enable it to continue.
3种方法来挖比特币
3种方法来挖比特币
Skip to Content探索
关于我们
互助客栈
随机阅读
指南分类
登录
登录
社交帐号登录在无痕和私人浏览器中无法使用。请用您的用户名或电子邮箱登录以继续。
wikiHow账号
还没有账号? 创建帐户
随机首页随机浏览文章关于wikiHow登陆/注册政策分类计算机与电子产品如何挖比特币
下载PDF文件
共同创作者是
Vinny Lingam
参考
下载PDF文件
X
这篇文章的共同创作者是 Vinny Lingam. Vinny Lingam是Civic Technologies的首席执行官,这家初创公司主要提供区块链认证解决方案,以方便用户控制和保护身份信息。Vinny于2006年荣获了“非洲最佳ICT青年企业家奖”,并于2009年参加了“全球青年领袖世界经济论坛”。Vinny在2015年被评选为“全球500强首席执行官”之一。他获得了南非大学的电子商务学士学位。
这篇文章已经被读过63,262次。
在本文中:
申请一个比特币钱包
签订云采矿合约
使用你自己的硬件
相关文章
参考
你一定听说过比特币,并且也想在数字财富的热潮中小试身手。然而,这说起来容易但做起来难。所谓比特币的“挖矿”过程,实际上就是在公共的、去中心化的比特币交易分类账(也就是所谓的“区块链”)中验证比特币交易。每当你找到一个新的区块添加到区块链上,系统就会给你一些比特币作为奖励。在比特币的发展早期,在自己的电脑上很容易就能挖到比特币。但随着加密货币被炒得越来越火热,个人挖比特币几乎已经是无利可图。不过,这并不能浇灭很多人的热情。如果你想挖比特币,可以考虑与一家云计算挖矿公司签约,或者搭建自己的设备来挖矿。[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":"
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":"
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":"
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":"
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":"
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":"
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":"
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":"
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":"
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":"
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":"
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":"
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":"
7
把你挖到的所有比特币转到安全钱包里。在挖比特币时,它会显示在你的矿池账户中。矿池可能会按月或季度自动把比特币转给你,或者你也可以手动完成这一操作。
一些矿池可能会设定比特币的最低转移限额,通常是0.001 BTC左右。你或许可以提取更小的金额,但可能会收取一定的费用。
广告
警告
不要购买二手ASIC矿机。它们很容易宕机,可能还没帮你赚到钱就彻底坏掉。
加密货币的波动很剧烈。比特币的市场价值会经常变化。投到比特币上的资金不要超出你能承受的损失范围。
不要还想着用自己的CPU或GPU来挖比特币。虽然曾经这是可能的,但现在的区块链已经今非昔比,这样并不是可行的选择。最终,你花的电费会比你赚到的比特币还多得多,而且还很有可能会烧毁你的电脑设备。[12]
X
研究来源
广告
相关wikiHows
你可能还喜欢
如何登录Twitter
如何下载YouTube视频
如何保存Instagram上的图片
如何从SIM卡中获取你的手机号码
如何从网站上免费下载视频
如何打开EPUB文件
如何在安卓上保存Telegram视频
如何在Instagram上隐藏你关注了哪些人
如何绕过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强首席执行官”之一。他获得了南非大学的电子商务学士学位。 这篇文章已经被读过63,262次。
分类: 计算机与电子产品
其他语言
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
한국어:비트코인 채굴하는 방법
日本語:ビットコインを採掘する
ไทย:ขุดเหมืองบิทคอยน์
العربية:تعدين البيتكوين
हिन्दी:बिटकॉइन में पैसा इन्वेस्ट करें
打印
本页面已经被访问过63,262次。
这篇文章对你有帮助吗?
是
不是
广告
启用cookies能优化您使用wikiHow的体验。接受我们的cookie相关条例, 继续使用wikiHow.
有关 wikiHows如何登录Twitter如何下载YouTube视频如何保存Instagram上的图片如何从SIM卡中获取你的手机号码
订阅wikiHow新闻通讯
每周通过邮箱接收有用的万事指南!
立即注册!
分享TweetPin It
特色指南文章如何清理耳垢如何种植一棵树如何煎碎牛肉如何变简单的扑克魔术热门指南文章如何去除玻璃上的划痕如何打开上锁的门如何打出倒过来的问号¿如何在推特上发送私信如何在葬礼上衣着得体如何发送匿名电子邮件特色指南文章如何使用算盘如何庆祝国际妇女节如何辞职左手发痒预示着什么特色指南文章如何原谅出轨的另一半如何识别疥疮如何带着腰痛入眠如何涂头发精华素特色指南文章如何拉直男士的头发如何治疗伤寒如何清洗羽绒服如何在Linux中下载iTunes特色指南文章如何解决耳钉无法插入耳洞的问题如何自己剪头发(男士)如何做灯笼如何更快乐
分类计算机与电子产品
首页
关于wikiHow
专家
联系我们
站点地图
使用条款(英文)
隐私政策
Do Not Sell or Share My Info
Not Selling Info
关注我们
×
不要错过!注册
wikiHow的新闻通讯
订阅!
--403
比特币入门教程 - 阮一峰的网络日志
比特币入门教程 - 阮一峰的网络日志
阮一峰的网络日志 » 首页 » 档案
上一篇:区块链入门教程
下一篇:加密货币的本质
分类:
理解计算机
⇐
⇒
比特币入门教程
作者: 阮一峰
日期: 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]
比特币入门教程 - 阮一峰的网络日志
比特币入门教程 - 阮一峰的网络日志
阮一峰的网络日志 » 首页 » 档案
上一篇:区块链入门教程
下一篇:加密货币的本质
分类:
理解计算机
⇐
⇒
比特币入门教程
作者: 阮一峰
日期: 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]
如何通过挖矿,获得一枚比特币? - 知乎
如何通过挖矿,获得一枚比特币? - 知乎切换模式写文章登录/注册如何通过挖矿,获得一枚比特币?青春向上比特币挖矿是获取比特币最廉价的方式,但大部分人并不了解比特币是如何挖矿的,更不知道如何挖矿,下面就给大家讲一下如何通过挖矿获得一枚比特币。根据比特币基本算法,比特币每10分钟产生1个区块(block),每个区块里有N个比特币作为报酬(N的数量在下文中说明),这个区块包含了最近10分钟所有的比特币交易信息。制造比特币的过程叫做“挖矿”(mining),在这个过程中,计算机把最近收到的帐单打包在刚制造的区块里,这个打包的过程即制作的过程,只有极其稀少的几率被制造成功。(你可以理解成把新收到的帐单合在一起,一次成型不可修改,如果制造失败就要再来一次)一旦制造成功,你就把这个区块广播出去,这就意味着,你获得了这个区块中的N个比特币作为报酬。那么N是多少呢?根据比特币算法,在比特币发布之日起的头4年里,N = 基础报酬(50个比特币) + 交易报酬(过去10分钟内整个比特币网络耗费的交易手续费,前面已经说过,每笔比特币交易会消耗0.001比特币作为报酬给挖矿的人),每隔4年,N的基础奖励将减少一半,也就是说,头4年为50,第5-8年为25,第9-12年为12.5,以此类推。而随着比特币越来越普及,交易越来越频繁,N的交易奖励会逐渐增加。从2013年5月起,比特币正式进入了第5年,因此到2017年5月之前,每个区块的报酬N为25+交易报酬。挖矿步骤(1) 下载比特币官方客户端 (2) 安装好客户端后,启动客户端,客户端启动后一般3分钟内会开始同步网络数据,由于比特币数据非常庞大,这可能需要若干个小时(根据网速和电脑性能决定)。图为客户端同步网络数据:请保证你的C盘有10GB以上的剩余空间,如果C盘空间不够的话,需要将数据设置到D盘或E盘(3) 如果你的客户端显示的是英文,而你又对英文不太擅长,你可以把它设置成中文(4) 客户端同步网络数据不会影响我们挖矿,我们先获取我们的账户地址,点击客户端的“收款地址”按钮,这时你看到的一串非常长的地址,类似19G5E9SY5WKdMJEJd71Zs35G8V6x2o3qpG,就是你的比特币账户,比特币账户地址是自动生成的、全世界唯一的地址。(5) 你的账户里现在是0.00 BTC,意味着你还没有比特币,但你现在可以开始挖矿了,下载一个简单易用的挖矿软件CGMiner(CGMiner能挖比特币以及大部分的货币,但并非所有货币的挖矿都能用CGMiner)(6) 你需要确认你的显卡型号,如果是nvidia显卡,那么就可以直接挖矿了,请跳过本步骤。如果是ATI显卡,除了CGMiner你还需要安装一个AMD SDK包。(7) CGMiner是英文界面,不过这并不影响一个菜鸟来使用它,请将下载到的CGMiner解压到电脑的任意地方,然后进入到CGMiner的文件夹。(8) 在cgminer的文件夹里面,新建一个文本文件(TXT)该矿池是比特时代提供的完全免费的矿池),如果以后你想使用其它矿池和端口,请再自行修改矿池URL和端口(9) 然后双击运行上面的run.bat文件,就可以开始采矿了。你挖矿时产生的收益,比如你获得了0.001个比特币,会存放到你自己填写的BTC地址中(由于现在这个阶段BTC挖矿的难度非常大,你可能要等待一整天才会有BTC收益,挖矿时,电脑屏幕可能会有一些卡,是因为显卡的资源绝大部分被占用了)注:实际上,比特币挖矿的用户数量非常庞大,而每10分钟产出的比特币又十分有限,因此挖矿的难度已经是非常非常大了,如果你拥有性能强劲的显卡,那么会有一定的收益,如果你的显卡不好,那么你可能需要耗费N个小时才可以获得一点点比特币。发布于 2021-03-24 13:05比特币 (Bitcoin)比特币矿池比特币矿机赞同 206 条评论分享喜欢收藏申请
比特币入门教程 - 阮一峰的网络日志
比特币入门教程 - 阮一峰的网络日志
阮一峰的网络日志 » 首页 » 档案
上一篇:区块链入门教程
下一篇:加密货币的本质
分类:
理解计算机
⇐
⇒
比特币入门教程
作者: 阮一峰
日期: 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]
利用个人电脑GPU挖矿回血,教程只需要看这一篇! - 知乎
利用个人电脑GPU挖矿回血,教程只需要看这一篇! - 知乎首发于cryptocurrency切换模式写文章登录/注册利用个人电脑GPU挖矿回血,教程只需要看这一篇!比特小子一键购买比特币 binance.pigshi.com如果你有闲置的电脑,或者工作电脑每天都有一段时间闲置,或者平时工作时CPU、GPU不会全部使用,那么何不利用它们赚点零花钱,积少成多呢?加密货币挖矿就是一个很好的选择。现在动荡不安的加密货币市场并不适合投资,利用闲置电脑挖矿就成了一个很好的选择。如果你的电脑有超过4G显存的显卡,且是A卡580和N卡1060以上,那么可以选择GPU挖矿。以笔者的Nvidia GTX 1070显卡为例,在挖矿收益计算平台minerstat选择发文时刻之前三天的平均收益,可以看到挖矿收益前七名均为ETH,因此我们当前还是应该选择ETH作为挖矿货币。下面推荐两个笔者亲测好用的挖矿平台:一、币安币安是当前全世界上最大的加密货币交易所之一,拥有大量矿工。币安矿池收益计算周期是每日一结,结算完成后直接打款至用户的币安矿池钱包。不设提现门槛,特别适合三天打鱼两天晒网的用户。同时,手续费较为低廉,ETH挖矿费率为0.5%。操作也较为简洁。详细的挖矿教程如下所示:首先,你要拥有一台配置有GPU(NVIDIA或AMD,显存不低于4G)的个人电脑,操作系统可以是Windows或Linux。随后在注册,可以享受40%返佣!注册完毕币安矿池帐户之后,创建挖矿账户:填写挖矿ID,此处以bubu666为例,需要改为你自己的:根据自己的系统类型,选择下载以下任一开源软件进行ETH挖矿Claymore: http://github.chttps://laymore-Dual/Claymore-Dual-Miner/releases/Teamredminer: https://http://github.com/todxx/teamredminer/releasesNBMiner: https://http://github.com/NebuTech/NBMiner/releasesGMiner: https://http://github.com/develsoftware/GMinerRelease/releases这些软件都会有最低1%的抽水,如果不想被抽水,可以自行搜索ETH挖矿软件反抽水版。不过开发软件需要时间和精力,尽量支持一下。说一下这里为什么不推荐轻松矿工类的软件:这些软件虽然傻瓜式操作,但是天下没有免费的午餐。闭源软件好上手的代价就是你不知道有多少暗箱操作。比如有人统计过轻松矿工的抽水为5%左右:【科普】细说轻松矿工抽水多少_wsckqiu的博客-CSDN博客_轻松矿工抽水多少挖矿软件的操作均大同小异,推荐使用claymore软件。以windows操作系统举例,首先下载Claymore挖矿软件,选择“将文件解压缩到当前文件夹”,找到“start.bat”批处理文件,如下图所示:右键点击“start.bat”批处理文件,选择“编辑”,将下列命令粘贴:EthDcrMiner64.exe -epool ethash.poolbinance.com:8888 -ewal username -epsw x -eworker workername -allpools 1其中username就是之前所填写的挖矿ID,workername可以自己随便取。比如我的挖矿命令就是:EthDcrMiner64.exe -epool ethash.poolbinance.com:8888 -ewal bubu666 -epsw x -eworker 001 -allpools 1修改完毕之后,双击start运行,会弹出以下界面:显示出Eth speed也就说明正在进行挖矿了。耐心等待一段时间,可能需要半小时到1小时,币安矿池统计界面就开始计算收益了。有人可能会遇到挖矿很长时间,确认用户名没写错,币安都不显示收益的问题。只需在币安挖矿后台用户名左边将算法由SHA256切换为Ethash即可看到挖矿收益。最后总结一下币安矿池:优点:不设提币门槛,每天收益自动转账到矿池账户(非常适合于利用闲置电脑时间挖矿的用户),手续费较低。二、EzilEzil矿池是一个收益较高的矿池。它最大的特点是ETH和ZIL双币可以同时开采,获得双份收益。(2021年9月2日更新:目前从ezil矿池提币也需要自行支付手续费!请自行斟酌)Ezil的最小打款额度为0.05 ETH和30 ZIL。以Nvidia 1070 GTX为例,大概连续挖矿一个月左右可以达到提币门槛。 Ezil矿池的教程如下所示:注册完毕后,点击start mining进入挖矿设置页面。选择自己的操作系统,Mining pair我们选择ETH+ZIL,区域选择所在的区域,如果是在国内的话选Asia (singapore)。下面需要填写ETH钱包地址和ZIL钱包地址,推荐使用trust wallet创建自己的钱包。创建之后输入自己的ETH和ZIL钱包地址,worker_name随便输入一个即可。3. 输入完毕之后会生成相应的挖矿软件命令。挖矿软件推荐Phoenix:https://http://phoenixminer.org/,在官网点击download下载。下载之后解压,在文件夹下创建文本文件,打开后粘贴上述命令:PhoenixMiner.exe -pool stratum1+tcp://http://eu.ezil.me:5555 -proto 2 -wal ETH_WALLET.ZIL_WALLET -worker WORKER pause随后保存,重命名为批处理文件ezil.bat,打开运行即可。耐心等待一段时间,Ezil矿池网站上会显示当前收益以及预计月收益。总结一下Ezil矿池:优点:多币挖矿,预计收益较高 ;缺点:转账门槛高,个人电脑需要连续不断挖接近一个月才可以达到。不推荐个人电脑挖矿用户使用。此外,目前提币也需支付转账手续费。最后,计算一下具体收益。以Nvdia 1070 GTX为例,发文时前一天的收益如下:每天可以挣一顿饭钱。月收入100美元左右,一年也就是1200美元。刨去电费的话,也是一笔不小的收入。可以直接评论区留言,看到都会及时回复的。发布于 2021-09-02 10:24挖矿图形处理器(GPU)个人电脑赞同 5514 条评论分享喜欢收藏申请转载文章被以下专栏收录cryptocurrencySomething interest