imtoken钱包下载1.0|比特币入门指南
入门指南 - 比特币
入门指南 - 比特币
Bitcoin.org 是一个社区支持的社区,我们十分感谢任何捐助。这些捐助会用于改进网站。
捐助
Bitcoin.org 需要你的帮助!
×
捐助Bitcoin.org
使用下方二维码或地址
3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd
$5.00
(... BTC)
$25.00
(... BTC)
$50.00
(... BTC)
介绍
个人
商家
开发者
入门指南
工作原理
White paper
资源
资源
兑换
社区
词汇表
活动
比特币核心
创新
参与
支持比特币
购买比特币
开发
常见问题
简体中文
Bahasa Indonesia
Català
Dansk
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português Brasil
Română
Slovenščina
Srpski
Svenska
Türkçe
Ελληνικά
български
Русский
Українська
Հայերեն
العربية
فارسی
עברית
हिन्दी
한국어
ខ្មែរ
日本語
简体中文
繁體中文
Bahasa Indonesia
Català
Dansk
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português Brasil
Română
Slovenščina
Srpski
Svenska
Türkçe
Ελληνικά
български
Русский
Українська
Հայերեն
العربية
فارسی
עברית
हिन्दी
한국어
ខ្មែរ
日本語
简体中文
繁體中文
Language: zh_CN
比特币入门指南
使用比特币交易对于所有人都是简单易用的。
如何使用比特币
如何接受比特币
如何使用比特币
告诉自己
比特币与你日常所知道的、所用到的都不同。在开始使用它之前,先了解一些注意事项可以增加安全性和避免常见的陷阱。
了解更多
选择钱包
各个主流平台都有免费且满足各种需求的比特币钱包。例如,你可以在移动设备上安装一个日常使用的应用,或者在电脑上安装一个只用于网上付款的钱包。不管怎样,选择和安装钱包都十分便捷。
选择钱包
获取比特币
你可以接受比特币作为商品或服务的支付方式,也可以通过许多方式购买比特币。
购买比特币
花费比特币
世界上接受比特币付款的服务和商家正在逐渐增多。你可以在他们那里用比特币付款,并为你的购物体验评分来帮助这些商家获得更多的知名度。
寻找商家和产品
如何接受比特币
告诉你自己
比特币不需要商家改变习惯,但是比特币不同于你日常所知所用的东西。在开始使用比特币之前,你需要先了解一些注意事项以便安全使用比特币以及避免常见的陷阱。
阅读更多
支付处理
你可以自己处理支付和发票,或者你可以使用商户服务将资金存为当地货币或比特币。大部分销售点业务使用平板电脑或者手机,让顾客可以用他们的手机进行支付。
寻找商户服务
会计与税收
商家通常用当地货币进行存款和标价。在其他情况下,比特币则相当于一种国外货币。你需要联系一个有资质的会计师以获得关于如何符合当地税收规定的适当指导。
阅读更多
获得知名度
越来越多的用户在寻找消费他们比特币的途径。你可以向网上目录提交你的业务,帮助用户轻松找到你。你也可以在你的网站或者实体企业中展示 比特币标识。
提交你的业务
支持Bitcoin.org:
捐助
3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd
介绍:
个人
商家
开发者
入门指南
工作原理
注意事项
White paper
资源:
资源
兑换
社区
词汇表
活动
比特币核心
参与:
支持比特币
开发
其他:
法律
Privacy Policy
新闻媒体
关于bitcoin.org
Blog
© Bitcoin Project 2009-2024 基于MIT协议授权发布
Network Status
简体中文
Bahasa Indonesia
Català
Dansk
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português Brasil
Română
Slovenščina
Srpski
Svenska
Türkçe
Ελληνικά
български
Русский
Українська
Հայերեն
العربية
فارسی
עברית
हिन्दी
한국어
ខ្មែរ
日本語
简体中文
繁體中文
Bahasa Indonesia
Català
Dansk
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português Brasil
Română
Slovenščina
Srpski
Svenska
Türkçe
Ελληνικά
български
Русский
Українська
Հայերեն
العربية
فارسی
עברית
हिन्दी
한국어
ខ្មែរ
日本語
简体中文
繁體中文
zh_CN
史上最全比特币“新手入门”攻略 - 知乎
史上最全比特币“新手入门”攻略 - 知乎切换模式写文章登录/注册史上最全比特币“新手入门”攻略软云存储IPFS行业的比特大陆 一、什么是比特币?比特币能做什么? 比特(bit)是数字世界信息的单位,那么比特币(Bitcoin)自然是数字世界的货币。比特币是一种在现实世界中具备有意义价值的数字货币,因此,比特币可用于兑换美元、日元或世界上任何其他货币。比特币通常可以简写成“BTC”来表示。 任何人皆可参与比特币活动,你可以利用比特币做一切可以用传统货币做的事!从小额零售付款到大型机构之间的大额汇款资金,比特币可用于任何事情。结算是以电子方式完成的,因此在互联网上发送资金是很简单的。无论接收人与你相邻或在世界的另一端,资金都能在极短的时间内结算。 比特币允许个人直接支付给他人,与现金相同,不需经过如银行、清算中心、证券商、电子支付平台等第三方机构,从而避免了高手续费、繁琐流程以及受监管性的问题,任何用户只要拥有可连接至互联网的数字设备皆可使用。 (比特币爱好者创造的比特币实体,其实比特币并无实体) 它能够通过去中心化的区块链网络被发往世界任一角落,而无需依赖银行,因此在使用它进行跨国转账时,也无需担心会有高昂的转账手续费和漫长的等待时间。对于那些进行跨国转账的人来说,它的好处显而易见,因为它不仅转账时间快,转账也跟平时我们用支付宝转账一样简单方便。 但是由于比特币区块链在一定时间内能接受的交易量有限,约每10分钟能接受最多2500笔交易,交易手续费也会随着比特币交易量而波动,而此问题,正在试图以闪电网络之类的技术来解决,扩展比特币一定时间内的交易量。 二、比特币有什么价值? 比特币具有货币的数学特性(持久性,可携带性,可互换性,稀缺性,可分割性和易识别性),但实现这些依赖的并不是物理特性(比如黄金和白银)或中央权力机构的信任(比如法定货币)。 简而言之,比特币是由数学支持的。一种货币形式要具有价值所需要的就是信任和使用。有了这些特性,对比特币而言,这可以从它日益增长的用户,商家和初创企业基数上得到体现。同所有货币一样,比特币的价值直接来自于愿意接受它作为支付方式的人们,这也是唯一的来源。 没有银行或政府参与该过程,因此比特币是执行某些活动(例如转账)的绝佳方式,下面介绍了其中一些理由:1) 人对人直接转账,没有中介机构参与 通常来说,转账给不在你附近的人需要使用银行或其他汇款服务用于加快转帐。er使用比特币发送资金相当于从自己的钱包里拿现金给某个人。2) 费用近似于零 比特币没有中间商。这意味着为收发比特币资金而支付的费用基本上近似于零,或非常低。这是比特币的一个重要优势,对于小额付款来说尤其如此。银行转账和信用卡付款需支付大笔费用,令发送小额资金变得十分困难。比特币的结构巧妙而有利,结算费接近于零对比特币而言是轻而易举的事情!3) 没有任何第三方监督或设定限制 比特币不要求银行或第三方结算,因此过程更加快速,资金能够自由流动。比特币是全球性的,国与国之间没有货币单位差异。全世界目前已经有很多店铺和网站接受比特币。 此外,比特币的总量也是有限的。比特币数量被设计为上限2100万个,以避免通货膨胀问题。全世界仅有2100万枚,它的产出经过精心设计,由代码来控制产出。一枚比特币最多可以被细分到小数点后8位,而且每4年,比特币的挖矿产出就减半一次,并将在2140年发行总量达到2100万枚时停止产出新比特币。 所以它有一定的稀缺性,不会像纸币一样可能因为滥发而导致贬值,又很容易被分割,获得它的获得过程跟挖黄金也很像,因此它被人们誉为“数字黄金”。三、比特币是如何运作的? 从用户的角度来看,比特币就是一个手机应用或电脑程序,一个比特币钱包。用户可以用它支付和接收比特币。这就是比特币对于大多数用户的运作原理。 在幕后,整个比特币网络共享一个称作“区块链”的公共账本。 如果我们把比特币区块链类比成一个实物账本,那么每个区块就相当于这个账本中的一页,每十分钟生成一页新的账本,每一页账本上记载着比特币网络这十分钟的交易信息。每个区块之间依据密码学原理,按照时间顺序依次相连,形成链状结构。 所以这份账本包含了每一笔处理过的交易,使得用户的电脑可以核实每一笔交易的有效性。每一笔交易的真实性由发送地址对应的电子签名保护。 另外,任何人都可以利用专门计算设备来处理、记录交易并获得比特币奖励。这一服务经常被称作“挖矿”。通过挖矿,调动了挖矿者(矿工)的积极性,还保证了交易的确认速度、交易记录的正确性及比特币网络的安全性。( 比特币矿机,挖矿专用的计算设备) 没有谁拥有比特币网络,就像没有人拥有电子邮件背后的技术一样。比特币由世界各地所有的比特币用户控制。开发者可以改善比特币钱包软件,但他们不能强行改变比特币协议的规则,因为所有的用户都可以自由选择他们想用的钱包软件。 为了相互之间保持兼容性,所有用户也需要选择遵循相同规则的钱包软件。只有所有用户达成完全一致的共识,比特币才能正常地工作。因此,所有的用户和开发者对接受和保护这一共识很有动力。四、谁创造了比特币? 2008年11月1日,一个化名为中本聪(Satoshi Nakamoto)的神秘密码学极客在网络上发布了比特币白皮书。 他在白皮书中表示这是一种点对点的电子现金系统,那么比特币和传统货币有什么不一样呢?中本聪表示:“传统货币最根本的问题在于信任,中央银行必须让人相信它不会让货币贬值,但历史上这种可信度从来都不存在,银行必须让人信任它能管理好钱财,并让这些财富以电子货币形式流通。但银行却用货币制造信贷泡沫,是私人财富缩水。” 比特币这种新型的货币模式和传统的模式有几点不同,首先它不是有一个中央机构发行的,其次他的总量恒定 2100万枚永不超发,再者比特币所有的交易都是记录在一个公共账本当中,这样所有人都可以查看,所有人都可以参与记账,这样既保证了整个系统的公开透明,又保证了货币不会因为滥发而导致的贬值。 2009年1月3日,中本聪在比特币账本的第一页记录一个历史性时刻,也就是当天泰晤士报当天的头条——The Times 03/Jan/2009 Chancellor on brink of second bailout for banks)(注释:《泰晤士报》,2009年1月3日,财政大臣正站在第二轮救助银行业的边缘) 在区块链世界,中本聪赫赫有名:他是比特币的发明者,也是区块链的开创者、去中心化概念的先驱、自由主义者,他还是密码学专家、经济学家、社会学家、世界顶级开发者、诺贝尔奖经济学奖候选人、如耶稣一样的传奇人物……他的头衔和光环太多了。 2010年年底,中本聪离开该项目,关于他的身份没有透露太多。此后,众多开发人员致力于比特币的项目,比特币社区迅速成长起来。 比特币的协议和软件都是公开发布的,世界各地的任何开发人员都可以查看其代码,或者开发他们自己修改过的比特币软件版本。就像目前的开发人员,中本聪的影响仅仅局限于那些他做出的被其他人采纳的改动,因此,中本聪并没有控制比特币。那么,在今天,关于比特币的发明者的身份问题可能和纸张发明者的身份问题一样。 到目前,比特币诞生十余年了,谁也不知道中本聪究竟是什么人、是哪国人、是一个人还是一群人。至今没有任何人知道他是谁,他可能是这个星球上最神秘的人了。五、比特币与日元或美元有什么区别? 如果比特币与日元和美元是相同的,那么它就没有必要存在了。那么,比特币有什么特别之处? 最大的不同就是比特币没有中央银行。没有机构、政府或其他第三方监管比特币的发行和流通。 换言之,比特币虽然是数字货币,但也是存在于世界上的另一种货币。数字货币(例如比特币)与实物货币(例如日元或美元)的一个区别是,比特币没有实体,它是由计算机生成的一串串复杂代码生成的。 不同于日元或美元,比特币必须用电子方式结算。比特币不是纸币或硬币,它没有实体的形态。比特币也没有一个中心化的发行方,而是由网络节点的计算生成,谁都有可能参与制造比特币,而且可以全世界流通,可以在任意一台接入互联网的电脑上买卖,不管身处何方,任何人都可以挖掘、购买、出售或收取比特币,并且在交易过程中外人无法辨认用户身份信息。 虽然比特币具备政府货币的基本特征,但是比特币不由任何国家或公司管理。这一开创性的概念让比特币变得独一无二。六、比特币与Q币有什么区别? 比特币是一种去中心化的数字资产,没有发行主体。Q币是由腾讯公司发行的电子货币,类似于电子积分,其实不是货币。 Q币需要有中心化的发行机构,Q币因为有腾讯公司的信用背书,才能被认可和使用。使用范围也局限在腾讯的游戏和服务中,Q币的价值完全基于人们对腾讯公司的信任。 比特币不通过中心化机构发行,但却能够得到全球的广泛认可,是因为比特币可以自证其信,比特币的发行和流通由全网矿工共同记账,不需要中心机构也能确保任何人都无法窜改账本。七、如何使用比特币?你可以通过以下渠道获取比特币:在一个比特币交易所购买比特币和你附近的人兑换比特币通过挖矿获取比特币 比特币保存在数字“钱包”内。数字钱包类似于你保存日元或美元用的银行帐户。 任何人只需创建数字钱包就能使用比特币。该钱包随后可用于保存比特币,收发付款。 比特币的收款地址类似于电子邮件地址,是一长串字符。鉴于其长度很难记忆,通常要使用缩短的 ID 或二维码才能执行交易。 ( 图示15MGz开头的即为比特币的收款地址) 目前市面上有各种各样免费且满足各种需求的比特币钱包。例如,你可以在移动设备上安装一个日常使用的钱包应用,或者在电脑上安装一个只用于网上付款的钱包。不管怎样,选择和安装钱包都十分便捷。当然你也可以将比特币储存在比特币交易平台上。 ( 比特币钱包客户端 - Bitcoin Core) 通过钱包转账或者交易平台提现,你便可以实现比特币的转移,将比特币从一个钱包发送到另一个钱包上。八、比特币有什么优缺点? 优点: 支付自由 无论何时何地都可以即时支付和接收任意数额的资金。无银行假日,无国界,无强加限制。比特币允许用户完全控制自己的资金。自己选择手续费 目前交易比特币仅收取极少的手续费。当然用户可以把更高的手续费包含在交易中来鼓励更快的交易确认。降低商家的风险 比特币交易是安全、不可撤销的,并且不包含顾客的敏感或个人信息。这避免了由于欺诈或欺诈性退单给商家造成的损失。在信用卡无法使用或欺诈率高得令人无法接受的地方,商家也可以很容易地扩展新的市场。最终结果是更低的手续费,更大的市场,和更少的成本。安全和控制 比特币的用户可以完全控制自己的交易;商家不可能强制收取那些在其它支付方式中可能发生的不该有或不易发现的费用。用比特币付款可以无须在交易中绑定个人信息,这提供了对身份盗用的极大的防范。比特币的用户还可以通过备份和加密保护自己的资金。透明和中立 关于比特币所有的交易信息都存储在区块链中,任何人都可以实时查看、检验。没有个人或组织能控制或操纵比特币交易。所以我们可以信任比特币是完全中立,透明且可预测的。缺点:接受程度 仍然有很多人不知道比特币。每天都有很多的商户接受比特币,因为他们希望从中受益,虽然这个数目依然很小,但未来会有更多的商户支持比特币。波动性 流通中的比特币总价值和规模仍然非常小。因此,相对较小的交易或业务活动都可以显著地影响其价格。从理论上讲,随着比特币的市场和技术的成熟,这种波动将会减少。这个世界从未出现过类似这样的新兴货币,所以想象它将如何进展真的非常困难 (同时也令人兴奋)。处于发展阶段 比特币软件依然处于beta版本,许多未完成的功能处于积极研发阶段。新的工具,特性和服务正在研发中,以使比特币更为安全,为更多大众所使用。目前还有一些功能还不是每个用户都能使用的。总体来说,比特币尚处于成熟的过程当中。九、什么是闪电网络? 简单来说,闪电网络是构建在比特币网络上的第二层支付协议,用来解决比特币网络堵塞问题。其理念是,在区块链之外开通一条“绿色通道”,将大量高频的、小额的交易在区块链外进行。(闪电网络实时状态) 如此,交易双方可在这条“绿色通道”上进行多次、高频、双向地、点对点的交易,可实现瞬间确认的微支付;而且双方若无直接的点对点支付通道,只要闪电网络中存在一条连通双方的、由多个支付通道构成的支付路径,那么也可以利用这条支付路径实现交易。发布于 2021-06-25 17:41比特币 (Bitcoin)赞同 81 条评论分享喜欢收藏申请
比特币入门
门开始比特币入门浏览下方的比特币新手指南,开启你的加密货币世界之旅。不管你目前的知识水平如何,这些指南都能帮你快速了解对你而言重要的主题.比特币快速入门指南了解比特币及其重要性的简明介绍。查看 →比特币快速入门指南了解比特币及其重要性的简明介绍。如何接收比特币?要接收比特币,只需将您的比特币地址提供给发送方,您可以在您的比特币钱包中找到这个地址。阅读这篇文章以获取更多详细信息。查看 →如何接收比特币?要接收比特币,只需将您的比特币地址提供给发送方,您可以在您的比特币钱包中找到这个地址。阅读这篇文章以获取更多详细信息。我怎样购买比特币?了解如何在几分钟内获得您的第一比特币。查看 →我怎样购买比特币?了解如何在几分钟内获得您的第一比特币。更多热门文章BitcoinBitcoin CashEthereumVerseAcademyOther比特币是什么?了解比特币及其重要性的简明介绍。我怎样购买比特币?了解如何在几分钟内获得您的第一比特币。你知道比特币不用买一整颗吗?了解更多关于购买比特币的问题,以及为什么这对于比特币的新手来说是一个常见的误解。什么是比特币钱包?了解这个用于发送、接收和储存比特币的必备工具;它是如何工作的,以及如何安全使用它。如何选择最佳的比特币钱包在选择比特币钱包时,安全性和费用自定义选 项是需要考虑的关键因素。我如何创建比特币钱包?学习如何快速轻松地创建比特币钱包。了解不同的钱包类型及其各自的优缺点。如何接收比特币?要接收比特币,只需将您的比特币地址提供给发送方,您可以在您的比特币钱包中找到这个地址。阅读这篇文章以获取更多详细信息。如何发送比特币?发送比特币就像选择要发送的金额和决定将其发送到哪里一样简单。阅读文章以获取更多详情。什么是“自我托管”钱包?了解自我托管模式如何让你掌控自己的加密资产,并保护你免受第三方风险。如何保障我的加密资产安全?确保您的加密资产安全,请遵循这些简单的建议。How to backup and restore a crypto walletMake sure to backup your crypto wallets. Find out why you should, and how.我在哪里可以使用比特币和加密货币消费?了解消费比特币、比特币现金和其他加密货币的地点和方式概况。如何出售比特币?了解如何安全地将比特币兑换成本地货币。避免比特币及其他加密货币欺诈的方法从网络钓鱼诈骗到假比特币交易所,这里是您识别和避免比特币相关欺诈行为的指南。比特币的好处探索比特币的关键特性,了解它如何成为颠覆性技术。比特币是一种价值储存手段吗?了解比特币与其他价值储存方式的相似之处或不同点,比如法定货币(美元)和贵金属(黄金)。比特币与其他资产类别相比如何?探索比特币作为资产类别相较于其他资产表现如何。比特币是对抗通货膨胀的工具吗?了解比特币是否是一个好的抗通胀工具。比特币对环境有什么影响?随着比特币逐渐进入主流视野,人们对其环境影响的担忧也越来越多,越来越迫切。不幸的是,一些批评误解了事实。定期定额投资了解这个简单却强大的投资策略,如何帮你避免巨大损失。什么是审查抵抗性?审查抵抗力是加密货币最大的优势之一。了解它的力量。比特币交易所是如何运作的?在中心化交易所存储您的加密货币安全吗?比特币交易是如何进行的?了解比特币公共区块链如何随着时间追踪所有权。明确一些关键术语,如公钥与私钥、交易输入与输出、确认时间等。什么是确认?了解区块链确认、它们为何重要等信息。比特币网络费是什么?了解比特币手续费是什么,手续费是如何确定的,以及更多相关信息。什么是比特币挖矿?了解为什么生产新比特币的过程,即所谓的“比特币挖矿”,在某些方面与从地球中提取贵金属的过程相似。比特币的治理是什么?网络如何运作并就关键问题做出决策?比特币和以太坊有什么区别?了解两种最受欢迎的加密货币之间的关键差异。什么是侧链?了解不同类型的侧链、它们的优缺点,以及它们的应用场景。掌握关键侧链项目的基本情况。什么是闪电网络?了解比特币关键的第二层扩展解决方案是如何运作的,并理解它所面临的挑战。什么是共享比特币钱包?了解共享(多签名)比特币钱包的优劣势以及它们的工作原理。如何设置和使用共享比特币钱包了解有关共享钱包的“参与者”、“交易请求”、“批准”等信息。共享钱包有哪些使用场景?了解共享钱包在现实世界中的多种应用方式。如何设置比特币冷储存钱包了解比特币冷存储钱包是什么,为什么它很重要,以及如何使用一个。What is inflation?Understand inflation, how it's measured, and how to protect yourself from it.什么是WBTC?WBTC 是DeFi 生态系统中的重要组成部分。了解它是什么,以及为什么它如此重要。比特币如何收税?比特币税收入门指南什么是比特币借记卡?比特币借记卡让人们可以在任何接受借记卡的地方消费比特币。如何找到并使用比特币ATM机用现金买卖比特币了解使用比特币ATM进行现金买卖比特币的基本知识。你收件箱中的 Bitcoin.com每周的重要新闻提要,加上为经济自由提供支持的教育资源和产品及服务更新注册新手炒比特币教程 - 知乎
新手炒比特币教程 - 知乎切换模式写文章登录/注册新手炒比特币教程谋财续命为你带来一切和赚钱有关的知识。虚拟货币市场,一直都和一夜暴富、财务自由等词绑定在一起,但也和倾家荡产、一夜亏空等词关系紧密。可以说,这里既可以让你一步登天,也可以让你一步坠入深渊,但不得不说,这确实是一个充满诱惑,可以帮助人实现财务自由的市场。至于结果,这主要还是取决于你是抱着怎样的一种心态进入这个市场。今天就写一篇文章,主要针对新手,教大家一些虚拟货币的基本知识,以及交易平台、交易方式、如何避险等基本常识,以及一些简单的赚钱方法,防止上来就被割了韭菜。说到虚拟货币,就必须说起虚拟货币之王——比特币。比特币刚出的时候,基本等于不要钱,现在的价格大概是11500美金一块,在2017年最高的时候涨到过20000美金一块,粗略估算,价格大概翻了3000万倍,秒杀一切股票、期货、黄金、房地产、债券、基金等投资产品。所以当初在比特币刚兴起的时候就买了比特币的,并且能够坚定持有的,现在基本都财务自由了。当然,也有坚定过头的,买了比特币,密码忘了,找不到了。听过一个例子,说是一妹子,和男朋友分手,就想买东西发泄情绪,不知道买什么,就买了30个比特币扔在那了。结果等比特币涨起来的时候突然想起来了,但是密码找不到了。按现在的价格,30个比特币大约值34.5万美金,200多万人民币,妹子一定悔的哭都找不到调了。继续说回比特币,新手适合去买比特币吗?会不会有风险?就我个人而言,我觉得只要不随意跟风,不去买风险高的币,风险是比较小的,而且现在区块链,数字货币的概念也比较火,央行也在推数字货币的概念,我甚至有点相信,比特币真的会改变几千年来实物货币的制度,推出一套全世界通用的数字货币概念。这里,我说的风险不高的币主要指比特币,ETH,EOS,LINK,XRP等一些主流币。除了这些,虚拟货币市场里还存在大量的山寨币,可能部分是真的有技术,想好好做币的,但是大部分其实就是上来圈钱的,甚至连白皮书都没有,也没有经过审核,上来就开始暴涨,一晚上几倍,甚至十几倍的涨,引来众人纷纷跟投,结果人家韭菜一割,卷钱跑路,到时候你哭都没有用。最近的YAM就是一个典型的例子,刚启动没多久就锁仓7亿多美元,人气十分火爆。然而,上市才36小时就暴跌98.1%,从最高的179.8美元跌至2.4美元,割了一大波韭菜。附一张我写这篇文章时涨的比较猛的币的截图,24小时内涨了189%,然而实际你从图上看,其实只是几个小时就涨了这么多。怎么样?是不是很刺激?在这里奉劝大家一句,不要觉得这个币涨的这么厉害,就都去跟风买,因为跌的时候,你会发现他跌的更疯狂,根本不给你反应的时间。最近也确实看见好多蹭了一波Defi风暴富的人,一位靠10万本金,坚定持有一个币三个月,赚了847万,及时收手,实现财务自由,提现退场了。这种人是明智的,知道何时抽身。也见到最近自说赚了400倍,到处吹嘘叫嚣的人。我不确定他是不是真的赚了400倍,但是以他到处叫嚣的个性,就算真的赚了400倍,我也不相信他能最终把钱拿到手。心态很重要,无论是亏是赚,不骄不躁,才能在无情的市场中找到自己的栖身之地。下面说一说虚拟货币都有哪些交易方式,以及哪些适合新手来操作。首先,最简单的就是现货交易。现货交易就是直接买虚拟货币,就和我们买股票一样,低点买入,高点卖出,赚高低点的差价。由于虚拟货币的波动很大,一天之内的波动在百分之十几二十几都是正常范围内的。可以找到一个合适的波动区间,在低点定价买入,在高点定价卖出,这种方法适合市场行情比较稳定,长期横盘,利用做短线波段赚钱。注意,如果波段太小,比如只有百分之二,百分之三的话,就不要这样操作了,因为你赚的还不够手续费的。还有一种更简单的就是看准时机,低点买入,然后长期持有,等待着币价上涨。甚至我见过那种买完之后,设置一个高点的价格定价卖出,然后就放在那不管了,甚至有的把软件都卸载了,等到币涨到那个价格的时候自动就卖了,这种人就比较佛系了。罗永浩之前就买了100万的币放在那不管了,等他想起来看的时候,发现涨到300万了。但是这种方法除了时间成本比较高以外,还有注意不要买那种山寨币或者没有前景的币,不然等你哪天打开,看到的不是300万,可能是这个币已经下架了……还有一种玩法风险就比较高了,就是做合约,做杠杆。这个每个平台,每种币提供的杠杆倍数不一样,最高的有125倍杠杆的。高风险意味着高收益,但是建议新手不要去碰杠杆,甚至所有人都不建议去碰杠杆,玩杠杆的人就真的是赌徒了。你见过有赌徒把赌场赢关门的?大部分都是钱全扔进赌场,输的裤子都没了,才从赌场里出来的吧。玩杠杆也一样,玩了杠杆你就是赌徒,平台就是庄家,是赌场,不把你的钱全赢光,你就别想走。而你,只会越赢越上瘾,越赢越想赢,最后把所有钱都摆上赌桌,被人一把连本带利全收回去。不过虽然不建议大家去碰杠杆,但是还是给大家讲一下杠杆是怎么玩的,大家了解一下就好了,因为我就是踩过雷过来的。在你确定一个币一定会涨的时候,你就可以加杠杆做多,在你确定一个币一定会跌的时候,你就可以加杠杆做空。杠杆可以自己选择,10倍,50倍,100倍都可以。比如你看涨,并100倍做多,那也就意味着,如果它涨了1%,你就能获得1%*100,也就是一倍本金的收益。如果它涨了10%,你就能得到10倍本金的收益。这时候你卖掉,扣除一部分手续费,剩下的就是你的收益。这是你赚的情况下。相反,如果运气没那么好,你做了100倍的多,它只要跌1%,就意味着你亏了100%,也就是爆仓。所以,风险和利益是并存的,而且里面无论你亏还是赚,都有高额的手续费,所以多次操作下来,亏的概率是非常大的,所以我不建议大家去操作合约行杠杆,尤其是容易上头的人,百分之九十九的概率是会血本无归的。我当时玩合约的时候,前面行情好的时候,每次操作都是百分之三四十的收益,感觉找到了发财致富的道路。后来慢慢发现,如果波段小的话,有时候盈利的还不够手续费,如果亏了的话,算上手续费亏的更多,直到有一天晚上,开着合约睡着了,没有开止盈止损,结果就被爆仓了,早上起来一看账户,只剩一块多钱,从此以后,再也不玩合约。最后,说一下哪里可以交易虚拟货币。现在三大虚拟货币交易平台为OKEx,火币以及币安。建议新手不要去一些不靠谱的平台玩,容易被割,玩的话去这三个大的交易所,会靠谱一些。手机端和电脑端都有他们的app,由于国内不支持虚拟货币交易,所以ios用户想要下载手机端app的话,需要用海外账号登陆软件商店。可以去淘宝买一个香港的ID,几块钱,方便又省事。虚拟货币玩的话确实是能赚到钱的,也有很多人在这里实现了财务自由,甚至一夜暴富。但是我建议大家不要抱着一夜暴富的心态来玩,那样多半赚不到钱,还有可能损失掉本金。分享一下我最近7天的收益。7天时间,8%的收益,我已经挺满足了,毕竟银行理财,一年也才4%。后面有时间,再给大家介绍一下币圈常见的坑人套路,避免大家也入坑。钱多,利益多的地方,坑越多,大家一定要小心。今天实在写不动了,太累了,改天写。编辑于 2020-08-16 20:24比特币 (Bitcoin)比特币投资数字货币赞同 6111 条评论分享喜欢收藏申请
比特币入门教程 - 阮一峰的网络日志
比特币入门教程 - 阮一峰的网络日志
阮一峰的网络日志 » 首页 » 档案
上一篇:区块链入门教程
下一篇:加密货币的本质
分类:
理解计算机
⇐
⇒
比特币入门教程
作者: 阮一峰
日期: 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]
比特币 - 开源的P2P货币
比特币 - 开源的P2P货币
Bitcoin.org 是一个社区支持的社区,我们十分感谢任何捐助。这些捐助会用于改进网站。
捐助
Bitcoin.org 需要你的帮助!
×
捐助Bitcoin.org
使用下方二维码或地址
3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd
$5.00
(... BTC)
$25.00
(... BTC)
$50.00
(... BTC)
介绍
个人
商家
开发者
入门指南
工作原理
White paper
资源
资源
兑换
社区
词汇表
活动
比特币核心
创新
参与
支持比特币
购买比特币
开发
常见问题
简体中文
Bahasa Indonesia
Català
Dansk
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português Brasil
Română
Slovenščina
Srpski
Svenska
Türkçe
Ελληνικά
български
Русский
Українська
Հայերեն
العربية
فارسی
עברית
हिन्दी
한국어
ខ្មែរ
日本語
简体中文
繁體中文
Bahasa Indonesia
Català
Dansk
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português Brasil
Română
Slovenščina
Srpski
Svenska
Türkçe
Ελληνικά
български
Русский
Українська
Հայերեն
العربية
فارسی
עברית
हिन्दी
한국어
ខ្មែរ
日本語
简体中文
繁體中文
Language: zh_CN
比特币是一个创新的支付网络,一种新的货币。
比特币入门指南
选择钱包
购买比特币
什么是比特币?
大致了解一下
个人
了解更多
商家
了解更多
开发者
了解更多
比特币入门指南
比特币基于P2P技术运作,无需中央管理机构或银行;交易管理和比特币发行由比特币网络统一进行。比特币是开源的;其设计是公开的,任何人都无法拥有或控制比特币网络,人人都可参与其中。基于其种种独有的特性,比特币使之前任何支付系统都无法实现的激动人心的用途成为可能。
快速的端对端交易
横跨全球的支付
低手续费
比特币入门指南
支持Bitcoin.org:
捐助
3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd
介绍:
个人
商家
开发者
入门指南
工作原理
注意事项
White paper
资源:
资源
兑换
社区
词汇表
活动
比特币核心
参与:
支持比特币
开发
其他:
法律
Privacy Policy
新闻媒体
关于bitcoin.org
Blog
© Bitcoin Project 2009-2024 基于MIT协议授权发布
Network Status
简体中文
Bahasa Indonesia
Català
Dansk
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português Brasil
Română
Slovenščina
Srpski
Svenska
Türkçe
Ελληνικά
български
Русский
Українська
Հայերեն
العربية
فارسی
עברית
हिन्दी
한국어
ខ្មែរ
日本語
简体中文
繁體中文
Bahasa Indonesia
Català
Dansk
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português Brasil
Română
Slovenščina
Srpski
Svenska
Türkçe
Ελληνικά
български
Русский
Українська
Հայերեն
العربية
فارسی
עברית
हिन्दी
한국어
ខ្មែរ
日本語
简体中文
繁體中文
zh_CN
快速了解比特币 | 全面认识BTC | 比特币入门
比特币 | 全面认识BTC | 比特币入门开始比特币快速入门指南Bitcoin是一种去中心化的数字资产。它是一种新型资产,加入了传统资产如现金、黄金和房地产等行列。使用多链Bitcoin.com Wallet 应用程序,数百万用户信赖的安全易用工具,用于购买、出售、交易以及管理比特币和最流行的加密货币。目录什么是比特币?是什么赋予了比特币价值?比特币是如何工作的?谁控制比特币?为什么比特币存在?它有必要吗?比特币合法吗?比特币能被盗吗?比特币软件中会有漏洞吗?比特币网络能被关闭或黑掉吗?如何创建比特币钱包如何买卖比特币?如何发送比特币?如何接收比特币?比特币交易所是如何运作的?比特币借记卡使用比特币的税务影响是什么?什么是自管比特币钱包?仅需 30 美元就能起步购买从比特币、比特币现金、以太坊等中选择相关文章从此处开始 →我怎样购买比特币?了解如何在几分钟内获得您的第一比特币。查看 →我怎样购买比特币?了解如何在几分钟内获得您的第一比特币。如何出售比特币?了解如何安全地将比特币兑换成本地货币。查看 →如何出售比特币?了解如何安全地将比特币兑换成本地货币。什么是比特币钱包?了解这个用于发送、接收和储存比特币的必备工具;它是如何工作的,以及如何安全使用它。查看 →什么是比特币钱包?了解这个用于发送、接收和储存比特币的必备工具;它是如何工作的,以及如何安全使用它。我如何创建比特币钱包?学习如何快速轻松地创建比特币钱包。了解不同的钱包类型及其各自的优缺点。查看 →我如何创建比特币钱包?学习如何快速轻松地创建比特币钱包。了解不同的钱包类型及其各自的优缺点。如何选择最佳的比特币钱包在选择比特币钱包时,安全性和费用自定义选项是需要考虑的关键因素。查看 →如何选择最佳的比特币钱包在选择比特币钱包时,安全性和费用自定义选项是需要考虑的关键因素。如何发送比特币?发送比特币就像选择要发送的金额和决定将其发送到哪里一样简单。阅读文章以获取更多详情。查看 →如何发送比特币?发送比特币就像选择要发送的金额和决定将其发送到哪里一样简单。阅读文章以获取更多详情。如何接收比特币?要接收比特币,只需将您的比特币地址提供给发送方,您可以在您的比特币钱包中找到这个地址。阅读这篇文章以获取更多详细信息。查看 →如何接收比特币?要接收比特币,只需将您的比特币地址提供给发送方,您可以在您的比特币钱包中找到这个地址。阅读这篇文章以获取更多详细信息。什么是“自我托管”钱包?了解自我托管模式如何让你掌控自己的加密资产,并保护你免受第三方风险。查看 →什么是“自我托管”钱包?了解自我托管模式如何让你掌控自己的加密资产,并保护你免受第三方风险。比特币交易所是如何运作的?在中心化交易所存储您的加密货币安全吗?查看 →比特币交易所是如何运作的?在中心化交易所存储您的加密货币安全吗?How to backup and restore a crypto walletMake sure to backup your crypto wallets. Find out why you should, and how.查看 →How to backup and restore a crypto walletMake sure to backup your crypto wallets. Find out why you should, and how.避免比特币及其他加密货币欺诈的方法从网络钓鱼诈骗到假比特币交易所,这里是您识别和避免比特币相关欺诈行为的指南。查看 →避免比特币 及其他加密货币欺诈的方法从网络钓鱼诈骗到假比特币交易所,这里是您识别和避免比特币相关欺诈行为的指南。比特币交易是如何进行的?了解比特币公共区块链如何随着时间追踪所有权。明确一些关键术语,如公钥与私钥、交易输入与输出、确认时间等。查看 →比特币交易是如何进行的?了解比特币公共区块链如何随着时间追踪所有权。明确一些关键术语,如公钥与私钥、交易输入与输出、确认时间等。你收件箱中的 Bitcoin.com每周的重要新闻提要,加上为经济自由提供支持的教育资源和产品及服务更新注册使用 Bitcoin.com 钱包,开始安全投资已生成超过个钱包安全买卖、交易和投资比特币及其他加密货币所需要的一切立即创建您自己的钱包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.
比特币入门指南(一):了解数字货币世界的第一步 - 知乎
比特币入门指南(一):了解数字货币世界的第一步 - 知乎切换模式写文章登录/注册比特币入门指南(一):了解数字货币世界的第一步Laplace电气工程师,BTC holder,重度fomo欢迎来到数字货币的世界!对于新进入币圈的人来说,了解比特币(BTC)是一个很好的开始。本指南将帮助你快速了解比特币的基本知识,让你能够更自信地探索这个令人兴奋的领域。### 1. 什么是比特币?比特币是一种数字货币,也被称为加密货币。它是通过使用密码学技术进行安全交易的一种形式,而不依赖于中央机构或政府管理。### 2. 比特币的特点- **去中心化**: 比特币不受任何中央机构控制,交易和发行由网络中的节点共同管理。- **有限供应**: 比特币的总供应量被限制在2100万枚,这意味着它具有稀缺性,类似于黄金。- **匿名性**: 比特币交易可以在一定程度上实现匿名,但并非完全匿名,因为交易信息都被记录在公开的区块链上。- **安全性**: 比特币交易是通过密码学技术保护的,因此被认为是相对安全的。### 3. 如何获得比特币?- **购买**: 可以通过加密货币交易所或经纪人购买比特币,使用法定货币或其他加密货币进行交换。- **挖矿**: 比特币挖矿是通过计算机处理复杂的数学问题来验证交易并添加到区块链中,从而获得新比特币的过程。但这需要大量的计算资源和能源。### 4. 如何存储比特币?- **数字钱包**: 比特币存储在数字钱包中,可以是软件钱包、硬件钱包、纸钱包或在线钱包。每种钱包类型都有其安全性和便利性的特点。### 5. 比特币的用途- **数字支付**: 越来越多的商家和服务提供商开始接受比特币作为支付方式。- **投资和储值**: 许多人将比特币视为一种投资资产,类似于黄金或股票,因为其价值在过去几年里经历了显著的增长。- **跨境转账**: 比特币的快速和低成本的特性使其成为跨境转账的一种替代方式。### 结语比特币是数字货币领域的先驱之一,了解它是进入加密货币世界的第一步。希望这篇指南能够帮助你快速入门,并激发你对数字货币世界的兴趣。继续学习、探索和实践,你将会发现数字货币世界的无限可能性!发布于 2024-02-26 13:27・IP 属地湖北比特币 (Bitcoin)数字货币区块链(Blockchain)赞同 1添加评论分享喜欢收藏申请
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.
入门指南 - 比特币
入门指南 - 比特币
Bitcoin.org 是一个社区支持的社区,我们十分感谢任何捐助。这些捐助会用于改进网站。
捐助
Bitcoin.org 需要你的帮助!
×
捐助Bitcoin.org
使用下方二维码或地址
3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd
$5.00
(... BTC)
$25.00
(... BTC)
$50.00
(... BTC)
介绍
个人
商家
开发者
入门指南
工作原理
White paper
资源
资源
兑换
社区
词汇表
活动
比特币核心
创新
参与
支持比特币
购买比特币
开发
常见问题
简体中文
Bahasa Indonesia
Català
Dansk
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português Brasil
Română
Slovenščina
Srpski
Svenska
Türkçe
Ελληνικά
български
Русский
Українська
Հայերեն
العربية
فارسی
עברית
हिन्दी
한국어
ខ្មែរ
日本語
简体中文
繁體中文
Bahasa Indonesia
Català
Dansk
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português Brasil
Română
Slovenščina
Srpski
Svenska
Türkçe
Ελληνικά
български
Русский
Українська
Հայերեն
العربية
فارسی
עברית
हिन्दी
한국어
ខ្មែរ
日本語
简体中文
繁體中文
Language: zh_CN
比特币入门指南
使用比特币交易对于所有人都是简单易用的。
如何使用比特币
如何接受比特币
如何使用比特币
告诉自己
比特币与你日常所知道的、所用到的都不同。在开始使用它之前,先了解一些注意事项可以增加安全性和避免常见的陷阱。
了解更多
选择钱包
各个主流平台都有免费且满足各种需求的比特币钱包。例如,你可以在移动设备上安装一个日常使用的应用,或者在电脑上安装一个只用于网上付款的钱包。不管怎样,选择和安装钱包都十分便捷。
选择钱包
获取比特币
你可以接受比特币作为商品或服务的支付方式,也可以通过许多方式购买比特币。
购买比特币
花费比特币
世界上接受比特币付款的服务和商家正在逐渐增多。你可以在他们那里用比特币付款,并为你的购物体验评分来帮助这些商家获得更多的知名度。
寻找商家和产品
如何接受比特币
告诉你自己
比特币不需要商家改变习惯,但是比特币不同于你日常所知所用的东西。在开始使用比特币之前,你需要先了解一些注意事项以便安全使用比特币以及避免常见的陷阱。
阅读更多
支付处理
你可以自己处理支付和发票,或者你可以使用商户服务将资金存为当地货币或比特币。大部分销售点业务使用平板电脑或者手机,让顾客可以用他们的手机进行支付。
寻找商户服务
会计与税收
商家通常用当地货币进行存款和标价。在其他情况下,比特币则相当于一种国外货币。你需要联系一个有资质的会计师以获得关于如何符合当地税收规定的适当指导。
阅读更多
获得知名度
越来越多的用户在寻找消费他们比特币的途径。你可以向网上目录提交你的业务,帮助用户轻松找到你。你也可以在你的网站或者实体企业中展示 比特币标识。
提交你的业务
支持Bitcoin.org:
捐助
3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd
介绍:
个人
商家
开发者
入门指南
工作原理
注意事项
White paper
资源:
资源
兑换
社区
词汇表
活动
比特币核心
参与:
支持比特币
开发
其他:
法律
Privacy Policy
新闻媒体
关于bitcoin.org
Blog
© Bitcoin Project 2009-2024 基于MIT协议授权发布
Network Status
简体中文
Bahasa Indonesia
Català
Dansk
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português Brasil
Română
Slovenščina
Srpski
Svenska
Türkçe
Ελληνικά
български
Русский
Українська
Հայերեն
العربية
فارسی
עברית
हिन्दी
한국어
ខ្មែរ
日本語
简体中文
繁體中文
Bahasa Indonesia
Català
Dansk
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português Brasil
Română
Slovenščina
Srpski
Svenska
Türkçe
Ελληνικά
български
Русский
Українська
Հայերեն
العربية
فارسی
עברית
हिन्दी
한국어
ខ្មែរ
日本語
简体中文
繁體中文
zh_CN
比特币入门教程 - 阮一峰的网络日志
比特币入门教程 - 阮一峰的网络日志
阮一峰的网络日志 » 首页 » 档案
上一篇:区块链入门教程
下一篇:加密货币的本质
分类:
理解计算机
⇐
⇒
比特币入门教程
作者: 阮一峰
日期: 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]
比特币入门教程 - 阮一峰的网络日志
比特币入门教程 - 阮一峰的网络日志
阮一峰的网络日志 » 首页 » 档案
上一篇:区块链入门教程
下一篇:加密货币的本质
分类:
理解计算机
⇐
⇒
比特币入门教程
作者: 阮一峰
日期: 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]