一年多来,攻击者已经能够崩溃 比特币无限 和 比特币经典 节点。昨天,有人确实做到了。根据喜欢的网站 投币舞, 数小时内,Bitcoin Unlimited节点的数量从近800个急剧下降到少于250个。比特币经典版不久后被击中. 一天前,发现漏洞的安全研究人员已经联系到 比特币杂志. “对于旨在为一个价值200亿美元的网络提供支持的项目如何能犯这样的初学者错误,我非常不自在。” 漏洞 比特币无限和比特币经典是 比特币核心 打算增加比特币的块大小限制。两者均于2015年推出,自此以后一直由自己的开发团队维护。去年,虽然经典比特币是比特币核心的一个相对受欢迎的替代方案,但近来无限比特币吸引了人们的注意。世界上最大的矿池- 蚂蚁池 – 宣布 它会切换到Bitcoin Unlimited,因为有几个较小的池. 但并非所有人都认为这是一个好主意. “我对比特币无限版中糟糕的代码质量感到沮丧,我怀疑还有很多其他问题,”一位安全研究人员仅以“夏洛特·加德纳”的身份告诉自己。 比特币杂志 周一. 通过电子邮件进行通信,加德纳说,她正在审核该软件供自己使用,但是很快得出结论,该软件非常不安全:“令我担心的是,该软件现在已被比特币采矿生态系统的很大一部分所使用。” Gardner透露,她已经向Bitcoin Unlimited开发团队提交了两个漏洞-确切地说是“严重的远程崩溃漏洞”。. 第一个被称为“空指针取消引用,“第二个”可达断言.在这两种情况下,攻击者都可以将特制的消息发送到Bitcoin Unlimited或Bitcoin Classic节点,以使这些节点崩溃。在像比特币这样的开放式对等网络上,这意味着攻击者可以从诸如 位节点, 并简单地将每个人都脱机. “我很惊讶还没有人注意到他们,”加德纳告诉 比特币杂志 袭击发生的前一天。 “我猜实际上没有多少人使用比特币无限软件。但是随着攻击者的“崛起”,攻击者可能会更加感兴趣。” 披露事项 联络时 比特币杂志 周一,加德纳(Gardner)不想立即公开这些漏洞。她解释说,这将是不负责任的,因为在Bitcoin Unlimited开发团队有机会对其进行修复之前,仍然可以利用这些漏洞. 但是她也确实将漏洞提交给了 Mitre的常见漏洞和披露(CVE)数据库. 这样可以确保Mitre从现在开始的一个月内即可发现这些错误,这迫使开发人员及时切实地解决问题。. 但是,即使遵循了这一负责任的披露,加德纳也认为存在漏洞一旦在比特币无限代码存储库中修复后即会被滥用的风险。毕竟,到那时,问题还没有得到真正解决:运行已发布的Bitcoin Unlimited软件的任何人仍然容易受到攻击,直到他们下载并运行新的修订版。这为攻击者打开了一个窗口. 她说:“问题是,这些缺陷非常明显,以至于在修复它时,任何人都可以很容易地注意到他们的开发过程,”. 现在看来,这确实是发生了什么。尽管比特币无限开发人员确实在向他们指出后不久确实解决了该问题,但他们这样做的原因太明显了GitHub 提交信息, 加德纳告诉 比特币杂志 一旦出现错误,这些错误似乎已经修复,并且在攻击开始之前. “他们的提交消息确实敲响了警钟。我不确定是否有人会注意到,但他们可能应该对消息进一步混淆。该措词可能会引起更严格的审查。但是,如果它被忽视了这么长时间,也许它会被忽视。” 显然,它没有. 正如Gardner警告的那样,攻击者很快就可以利用其中一个漏洞:第一次攻击 […]
后叉:这是交易所如何处理比特币现金
比特币现金的硬分叉仍在消除烟雾,但交易所已经介入以增加对小规模产品的支持. 2018年11月16日,原本打算对比特币现金区块链进行例行的硬分叉升级成为了争夺哈希力和链支配地位的斗争,因为由克雷格·S·赖特(Craig S.Wright)领导的比特币中本聪的愿景(SV)试图争夺对比特币现金的控制权来自其原始客户Bitcoin ABC的Bitcoin Cash区块链. 比特币ABC(到目前为止)拥有强大的比特币SV强大的挖掘能力并保持了其作为主导链的地位,但昨天的摊牌仍以硬币分裂为高潮,该硬币分裂给网络留下了两个竞争对手的硬币,出于以下目的:在本文中,我们将其称为BCHABC和BCHSV. 这种分裂给交易所管理留下了很多潜在市场。之后,他们要么选择支持这两种硬币,要么默认使用ABC链作为真正的BCH,要么坐下来直到他们愿意以任何一种方式做出决定。并非每个交易所都在同一页面上显示每种代币的报价,或者有些似乎满足于忽略货叉的锯齿状副产品并继续进行其通常的比特币现金交易. 不同的支持水平 少数交易所宣布他们暂时将同时支持这两种硬币. 诸如Poloniex,HitBTC和Bittrex之类的公司在硬分叉发生之前就提供了两种硬币之间的期货交易,从而领先于游戏。. 已宣布 在11月7日,Poloniex首次出现了以期货为特色的交易,并且自从硬币分裂以来,它以BTC和USDC交易对的形式在BCHABC和BCHSV股票代码下集成了对硬币的支持。. 我们已经完成了将所有BCH余额转换为BCHABC和BCHSV的操作。生物安全信息交换所市场现已禁用。 BCHABC / BTC,BCHSV / BTC,BCHABC / USDC和BCHSV / USDC市场开放。 BCHABC和BCHSV的存款和取款仍处于暂停状态,并且将保持暂停状态,直到网络稳定为止. -Poloniex交易所(@Poloniex) 2018年11月15日 HitBTC在 博客文章 11月9日,它将为BCHABC和BCHSV开通叉前交易。 11月13日,排名前5的交易所Bitfinex也遵循了这一趋势,并指出它将以链拆分代币(CST)的形式推出ABC和SV的前叉交易。这些事前交易工具可以随时创建或兑换成比特币现金,并且自分叉以来,它们已被代号为BAB(对于ABC)和BSV(对于SV)下的实际分叉硬币替代。 HitBTC上的Bitfinex,BCHABC和BCHSV. 其他顶级交易所,例如Binance和Bittrex,耐心地进行了分叉,等待比特币现金网络是否会分裂,然后重组其比特币现金交易。例如,币安在等待冲突消退之前 写博客 它将为BCHABC和BCHSV相对于BTC和USDT开放市场. 与同行不同,Bittrex在以与BCH前身相同的重力对待SV之前等待了更长的时间。 11月7日,交易所发表 博客文章 表示将默认以ABC的实施方式作为分叉前的主链,同时还向客户保证,在分叉后,他们的帐户将使用拆分后的BCHSV代币记入贷方。到目前为止,BCH仍是交易所唯一获得交易支持的代币,因为它在决定重组市场之前正在等待进一步的澄清。. ““ BCH”行情自动收录器将保留在硬分叉之前的比特币ABC链。该帖子写道:. Kraken进一步将Bittrex对ABC的(初步)支持作为主链。在11月10日宣布 博客文章 那,“ [最初,它]只会支持 比特币ABC.Kraken继续透露,它不会自动容纳链条分割的硬币。取而代之的是,用户必须通过将其硬币移出交易所来手动要求这些. “在分叉当天,我们将不支持任何替代性资金或交易链。然后,我们将在分叉后的几周和几个月内监视情况,并评估是否有必要对我们的立场进行任何更改,包括支持替代链的可能性。但是,我们不做任何保证或保证将支持任何替代链…如果您想选择保留/声明替代链上的代币,则必须先从Kraken撤回BCH,然后在11月15日禁用资金。通过在升级过程中将硬币留在Kraken上,您有可能没收其他可能会用到的替代链上的硬币。. 在同一篇文章中,Kraken表示,最重要的是,它会谨慎行事,并写道:“在分叉之后,除非我们认为这样做是安全的,否则我们将不会启用BCH资金,而且我们不知道提前这可能需要多长时间。” 正如币安(Binance),Bitfinex和Poloniex的行动所暗示的那样,在分叉欣欣向荣的崩溃中,一些交易所已经屈服于现实,即比特币现金网络现在拥有两个相互竞争的硬币。其他人,例如Bittrex和Kraken,都在花时间看看它如何继续发展-毕竟,叉子还不到24小时. 还有其他交易所也选择等待观察如何进行,其中许多交易所暂停了对BCH的存款,提款和交易,直到尘埃落定。币库 宣布 如果他们已经将他们的BCH留在Coinbase平台上,它将“确保客户可以访问每个链上的资金”. 这篇文章将被更新 定期地 随着故事的发展包括其他交流支持新闻. 更新,11月16日: 根据Jack […]
Op Ed: Koliko napačnih je Wright?
V drugih člankih in na družabnih omrežjih so nekateri postavili pod vprašaj značaj Craiga Wrighta na osebni ravni in poskušali vzpostaviti vzorce prevarantskih poslovnih praks, ki niso posebej povezane s to zadevo. Medtem ko so me raziskave vodile k preučitvi teh obtožb, sem se odločil, da se osredotočim na ta članek le na dokaze samo […]
Bitcoin Core 0.12.0发布:有什么新功能?
今天标志着的正式发布 比特币核心 0.12.0,是七年前中本聪首次发布的第十二代比特币参考客户端。最新版本的比特币核心(Bitcoin Core)在七个月内由近100位贡献者开发,包括20多项改进,特别是在性能,安全性和可用性方面. 这些是第六个最显着的变化. 内存池限制 内存池是由所有完整节点分别存储的未确认事务的集合。当新交易通过比特币网络传输时,内存池在区块之间填满,而当这些交易包含在区块中时,内存池将耗尽。但是,如果由于合法交易或垃圾邮件攻击而导致一系列后续块在很长一段时间内保持满状态,则内存池可能不会完全耗尽,积压的积压可能会增加。没有最大限制,积压甚至可能增长到节点内存不足并崩溃的地步。 (这是“坠毁着陆”前比特币XT首席开发人员Mike Hearn担心的情况。) 顾名思义,内存池限制对内存池的最大大小施加了硬性限制,以防止出现这种情况。如果达到最大值,则节点拒绝或清除其内存存储池,该存储池每字节收费最低. 全节点运营商可以配置其限制,但是Bitcoin Core 0.12.0中的默认最大大小设置为300 MB. 钱包用户的区块链修剪 运行完整节点的负担之一是需要存储完整的区块链。这加起来 55 GB 在撰写本文时,在当前1 MB的块大小限制下,每年还可以增长50 GB. 为了降低此要求,Bitcoin Core 0.12.0允许用户修剪区块链,这意味着一旦节点验证,他们就可以摆脱较旧的数据。保留的数据量是可配置的,尽管Bitcoin Core 0.12.0仍将需要至少2 GB的磁盘空间. 修剪区块链确实意味着这些节点将不再能够与对等节点共享所有区块链数据,例如第一次与网络同步的完整节点. (应该注意的是,修剪区块链最初是在Bitcoin Core 0.11.0中引入的,但尚不适用于将Bitcoin Core作为钱包运行的用户。) 上传流量限制 完整的节点通过比特币的对等网络不断地传输和中继交易,并互相阻止。这通常需要下载适量的数据,但是同时与多个对等方共享同一数据可能会增加可观的上载成本. 比特币核心0.12.0引入了可配置的数据上限,用于上传流量。如果达到此上限,节点将抢占一个星期以上的上传块,这通常是由首先与网络同步的节点请求的。此外,所有轻客户端将断开连接,不再再提供任何块数据. 选择加入费用代替 随着比特币网络上交易数量的增加,并非所有交易都可能陷入困境。因此,矿工可能会选择由用户支付的费用最高的交易。这意味着某些交易-来自支付过低费用的用户-根本无法确认。而且,由于许多完整的节点和矿工当前拒绝发生冲突的交易(与早期交易使用相同的输入发送),因此低价交易可能会“卡在”网络上. 为了解决这个问题,Bitcoin Core 0.12.0引入了按费用选择加入。如果使用收取费用的选择加入发送交易,则用户可以通过收取更高的费用将自己的交易替换为更新的交易。 (这也意味着,矿工可以选择收入更高的交易来增加收入。) 选择加入费用替代的“选择加入”部分意味着这些类型的交易将不是默认交易,并且将在比特币网络上标记为“替代费用交易”。依赖零确认交易的任何人都应该监视这些以费用代替的交易,因为在确认之前很容易将它们还原。 (当然,零确认交易是 永远不安全.) 选择收费替代收费实际上是否有用取决于比特币矿工;他们最终决定将哪些交易包括在区块中,以及根据什么政策. 默认情况下Tor 虽然通常声称比特币向用户提供匿名性,但事实并非完全如此。例如,可以通过对等网络将比特币用户取消匿名。如果确定交易源自哪个IP地址,则此信息可用于识别比特币用户. 为了保护用户的隐私,Bitcoin Core 0.12.0通过匿名工具Tor(洋葱路由器)自动连接到比特币网络(如果Tor安装在同一台计算机上)。 Tor会在广播数据之前对数据进行加密并将其路由到世界各地的多个节点。这使得很难(也许不可能)追踪比特币交易的起源. (应注意,仅使用Tor可能不足以保护比特币用户的身份。有关更多信息,请参阅《比特币杂志》的《比特币隐私入门指南》。) 更快的签名验证 签名是一种加密技巧,其中私钥与任何其他数据“组合”以计算唯一的数字字符串。可以使用相应的公用密钥来验证签名是使用私钥创建的。以比特币为例,签名被有效地用来证明比特币的所有权,并以此来验证交易. 但是,有几种方法可以进行这种加密技巧,从而可能导致不同的签名-均以自己的方式有效。而且,如果不同的比特币节点采用不同的验证方法,则某些节点可能认为某些交易有效,而其他节点则认为无效,这可能会使比特币网络分裂. […]
区块流卫星将如何推动比特币的采用:Adam Back和Chris Cook访谈
上个星期 比特币杂志 涵盖了 区块流卫星, 一项新服务,可从太空卫星向地球上几乎每个人广播实时比特币区块链数据。目前,Blockstream卫星覆盖了地球的三分之二,服务扩展正在进行中. “今天,Blockstream Satellite的发射使地球上更多的人可以选择参与比特币,” Blockstream联合创始人兼首席执行官亚当·巴克(Adam Back)在宣布这一消息时表示。 “随着越来越多的用户通过Blockstream Satellite的免费广播访问比特币区块链,我们预计全球范围将推动比特币的更多采用和用例,同时增强网络的整体健壮性。” 杰夫·加兹克(Jeff Garzik)先前曾提出过从太空卫星向整个星球传送比特币区块链的想法,但是Blockstream的实现引入了一些有趣的调整:它依赖于已经在轨的现有商业卫星,并利用开源软件,即 GNU电台 和 纤维, 降低成本. 区块链卫星和太空社区都对Blockstream Satellite的发布表示了极大的兴趣,但也有疑问和挥之不去的疑问. 比特币杂志 与Adam Back和Blockstream卫星负责人克里斯·库克(Chris Cook)联系,以了解更多信息. 您实际上是在使用现有的商业卫星作为中继站。为什么这种方法比建造,发射和操作自己的卫星更好,因为立方体卫星和更便宜的立方体卫星发射系统允许这样做具有成本效益? 克里斯·库克(Chris Cook):尽管最近立方体卫星和其他低地球轨道(LEO)卫星的成本已大大降低,但与使用现有卫星相比,这仍然是一笔昂贵得多的冒险。由于cubesat不同步,因此它们总是在开销范围内移动。这意味着您需要其中许多才能完全覆盖全球. 此外,许多立方体卫星的寿命只有几个月,才能脱离轨道。您需要不断补充它们,或者必须将它们提升到更高的轨道,这两者都会增加成本. 最后,我们还没有完全放弃发射自己的卫星的想法。但是,使用现有卫星部署全球卫星网络似乎是一个不错的第一步。它使我们能够快速,经济高效地向全世界的人们提供这项服务。. 使用专用的定制卫星会如何处理,而当前系统则无法解决? 克里斯·库克(Chris Cook):专用卫星将有可能使我们能够在卫星本身上操作节点,而不是需要地面站来支持它. 如果政治压力迫使您的商业卫星服务提供商取消您的合同,该怎么办? 亚当·贝克:由于比特币已在世界许多国家/地区广泛使用并通过其他方式提供,因此取消比特币卫星广播的威胁的可能性不大。卫星网络正在为数据提供冗余,低成本的可用性,这些数据已经公开发布,任何人都可以通过Internet下载。块流卫星网络中有来自不同提供商的多颗卫星. 与此相关的是,Blockstream Satellite(或可能的扩展)是否允许改善比特币交易的隐私性和匿名性? 亚当·贝克:Blockstream Satellite允许被动接收,因此基本上没有Internet流量占用空间,从而使您的ISP或分析比特币网络的监视公司可以跟踪您的节点。即使对于拥有快速家庭互联网的用户来说,使用Blockstream Satellite也可以吸引他们,然后他们可以在其中通过Tor将钱包连接并固定到其家庭节点上. 对于高速互联网价格昂贵或无法使用的地区,他们可以通过WiFi或网状网将智能手机钱包连接到卫星节点,并通过SMS网关(例如, 短信推送, 经过 帕沃尔·鲁斯纳克(Pavol Rusnak), 或者 双向Ku 或L波段互联网服务(可从商业渠道购买,与Blockstream Satellite无关),价格昂贵,但即使最昂贵的价格为$ 10 / MB,每次交易的费用也不到一美分,因为比特币交易量很小. 因此,我已经建立了我的Blockstream卫星接收站。我没有连接到互联网。我如何发送比特币付款? 亚当·贝克:通过SMS参见上文,或者通常人们确实拥有2.5G或3G数据,但是数据速率很高。由于比特币交易很小,即使接收区块链会很昂贵,发送交易的成本也很小. 对于共享设备,也许对于一个村庄或商业区域,双向卫星互联网也是经济高效的,这也是因为比特币交易量很小。 L波段 BGAN […]
Infografika: Zemljevid bitcoin vilic
Ta infografika ponuja shematski pregled glavnih “vilic”, povezanih z Bitcoini, ki se lahko zgodijo, in prikazuje najpomembnejše vilice, ki so se zgodile. Ne vsebuje pregleda vseh vilic, ki so se zgodile. Kaj so Bitcoin vilice? Beseda “vilice” je nekoliko zmedena, ker obstajajo različne vrste “vilic”, ki pomenijo zelo različne stvari. Vilice Codebase Fork za kodno […]
当叉子分叉时:您需要知道的比特币现金走向战争
文章下方的实时更新. 明天(UTC)2018年11月15日下午16点左右,比特币现金网络将进行另一次硬分叉升级。但是关于此次升级的争论使比特币现金生态系统分裂了,这可能再次导致分裂成多个项目和硬币. 您需要了解有关即将到来的比特币现金分叉的最新信息. 快速提醒一下,什么是比特币现金? 比特币现金(有时称为“ Bcash”或“ BCH”)是一种加密货币,于2017年8月从主要的比特币区块链中分离出来。从比特币多年的规模争议中解脱出来,该衍生项目最显着地增加了其区块大小限制一次有争议的硬叉升级,“分叉”成为自己的硬币-尽管它的一些支持者将其视为“真正的比特币”。虽然目前的交易价格只是比特币的一小部分(在撰写本文时约为480美元),但按市值计算,比特币现金是第四大加密货币,并获得了诸如bitcoin.com首席执行官Roger Ver和Bitmain联合创始人等加密货币领域大人物的支持创始人吴继汉. 这件事是关于什么的? 比特币现金纠纷实际上是两个相互竞争的派系之间的争端,以各自的软件实现为代表. 在一个拐角处 比特币ABC, 一年多前导致比特币区块链分裂的“原始”比特币现金客户。由AmaurySéchet领导,并且与主要的采矿硬件生产商Bitmain有着紧密(尽管是非正式的)联系,Bitcoin ABC的政策是每六个月进行一次硬分叉,以升级协议. 这次,比特币ABC将介绍 几个变化. 第一个,可能也是主要的一个称为“规范交易排序”(CTOR)。尽管当前可以几乎以任何顺序将事务包含在一个块中,但是在CTOR下,必须以特定的顺序包含事务。比特币ABC开发团队认为这提供了 几个技术上的好处, 部分与(未来)扩展规模有关. 第二个变化是称为OP_CHECKDATASIG(DSV)的新脚本(“ OP代码”)。这扩展了比特币现金的功能,最显着的是启用了Oracle(允许使用一类智能合约)。比特币ABC还引入了一些较小的技术修复,例如交易的最小大小. 在另一个拐角处 n链 及其首席科学家克雷格·史蒂文·怀特(Craig Steven Wright) 要求 曾是Monicker中本聪(Satoshi Nakamoto)的幕后黑手,但在公开场合只能提供伪造的证据。赖特已经发布了一个相对较新的软件实现,名为“ Bitcoin Satoshi’s Vision”(比特币SV),他说他想将比特币恢复为其原始协议:2009年推出的0.1.0版本。此后,他将采取一种相当保守的方法很少或没有进一步的协议升级. 为此,Bitcoin SV现在相对于Bitcoin ABC进行了一些更改。首先,它拒绝CTOR,将其作为nChain 相信 潜在利益尚未得到充分证明,风险过高。其次,它将默认的块大小限制增加到128兆字节(而比特币ABC的是32兆字节)。第三,它重新安装了几个旧的OP代码(名称分别为OP_MUL,OP_LSHIFT,OP_RSHIFT和OP_INVERT)。它还消除了脚本的大小限制. 在未来,赖特承诺将做出更多更改,使比特币SV更接近比特币协议的0.1.0版本。块大小限制最终将进一步增加甚至完全删除。 DSV将被拆除。 (赖特甚至宣称DSV将使比特币ABC及其矿工 非法的. 在比特币SV上,“ DSV地址”中持有的硬币可能会变成 给矿工的捐款.)不推荐使用P2SH交易(该交易具有很大的交易灵活性,于2012年推出)。更多旧的OP代码将被还原。 nChain首席科学家暗示将“丢失的”硬币重新投入流通。 (“丢失”可能是指很长时间没有移动过的硬币。) 谁支持什么? 比特币ABC和比特币SV是两个主要竞争派系,到目前为止,大多数比特币现金生态系统已在争议中占了一方. 虽然在某些情况下 勉强, 其他大多数比特币现金实施都支持比特币ABC。这 最大 其中,Bitcoin Unlimited默认情况下已使其最新版本与Bitcoin ABC硬叉兼容-尽管用户可以将其软件配置为与Bitcoin […]
Bitcoin Core 0.17.0发布:这是新功能
今天标志着的正式发布 比特币核心0.17.0, 中本聪(Satoshi Nakamoto)在大约10年前推出的第17代比特币原始软件客户端,至今仍是网络上占主导地位的比特币实施。监督者 比特币核心 首席维护者Wladimir van der Laan,这个最新的主要版本是由135个贡献者在大约七个月的时间内开发的. 超过700个合并的合并请求的结果,Bitcoin Core 0.17.0包括一系列性能改进和错误修复以及其他更改. 以下是其中一些更改的概述. 改进硬币选择 钱包中的硬币有效地存储为单独的块(“交易输出”)。通常,每个收到的付款都有一个大块;因此,大多数块代表不同的数量。从钱包付款时,会将不同的部分加在一起,以构成足以支付的大笔金额,再加上费用。不同的块通常未加总到所需的确切数量,但是,在这种情况下,将“更改地址”添加到交易中,将所有剩余资金退回同一钱包. 到目前为止,Bitcoin Core钱包将不同的区块加在一起。只有这样,它才能计算并添加支付交易所需的费用。但是在某些情况下,向交易中添加费用意味着添加的块不再构成足够大的金额,在这种情况下,必须包括一个额外的块. 比特币核心0.17.0引入了由 比特币 工程师Mark Erhardt。这提供了两个具体的改进。首先,在避免将每个大块的费用选择为交易的一部分之前计算费用,以避免以后必须添加新的大块。其次,该算法尝试匹配不同的块,以使它们加起来达到所需的确切数量,并尽可能避免使用“更改地址”(发送剩余的“更改”的地方)。 (具有大块的大钱包,例如由交易所或其他高流量实体操作的大钱包,比其他钱包更不需要更改地址。) 此外,Bitcoin Core 0.17.0中的硬币选择算法还包括一项可选的隐私改进措施. 虽然违反最佳做法,但有可能收到同一位比特币地址的多笔付款。 (例如,捐赠地址经常发生这种情况。)重复使用地址本身就不利于隐私,因为很明显该地址上的所有硬币和从该地址进行的所有付款均来自同一用户。但是,如果在不同的交易中使用绑定到同一地址的不同数据块,并将它们链接到最初与该地址不相关的数据块,则情况更糟。. 为了解决最后一个问题,Bitcoin Core 0.17.0为用户提供了一个选项,可以让他们优先考虑在交易中添加与同一地址绑定的块,并在可能的情况下将其他任何块都排除在交易之外. 轻松创建和使用新钱包 从Bitcoin Core 0.15.0开始,可以创建多个彼此独立运行的钱包。这些钱包都有各自独立的比特币地址,私钥和资金。用户可以将不同的钱包用于不同的目的;例如,一个钱包可以用于个人日常购买,另一个可以用于与业务相关的交易,而另一个则可以用于交易。由于不同的钱包无法通过区块链分析相互链接,这可以使记帐更加容易和便捷,并且用户可以更轻松地从增加的隐私中受益。. 但是,到目前为止,只能在启动节点时创建新的钱包,并且它不适用于Bitcoin Core钱包(GUI)用户。这两个限制现在都已解决。 Bitcoin Core 0.17.0允许用户随时创建新的钱包,并且在GUI中提供了此功能. 另外一个好处是,Bitcoin Core 0.17.0引入了一项称为“ Scantxoutset”的功能。这使用户可以通过检查未使用的交易输出(UTXO)设置而不是重新扫描整个交易历史记录,来快速验证其新钱包是否已包含硬币(例如,因为私钥是从另一个钱包导入的)。. 非高清到高清钱包升级 早于0.13.0的比特币核心版本仍要求用户备份其所有私钥,而自那时起,所有比特币核心版本均提供了分层确定性(HD)钱包。 HD钱包用户只需要存储一个种子短语(单词列表)作为备份. 但是,比特币核心用户谁 已升级 他们的系统使用的比特币核心0.13.0及更高版本无法创建新的高清钱包。非HD钱包和HD钱包之间的不兼容性意味着这些用户仍然无法备份其所有私钥. 现在,Bitcoin Core 0.17.0允许这些用户也升级到HD格式。此外,已经拥有高清钱包的比特币核心钱包用户现在可以选择生成或导入新的高清种子。. 仅观看-钱包 比特币钱包通常存储私钥,允许用户花费其硬币。但是,比特币核心现在也支持“仅监视”地址已有一段时间了。这些地址的私钥未存储在钱包中,但附加到这些地址的硬币仍在钱包中可见。这使用户可以轻松地接受付款并跟踪其资金,例如,离线存储其私钥. Bitcoin […]
Bitcoin Core 0.19.0发布:这是新功能
今天(2019年11月24日)标志着 比特币核心0.19.0, 中本聪(Satoshi Nakamoto)在11年前发布的第19个主要版本的比特币原始软件客户端,至今仍是网络上占主导地位的比特币实施。 (尽管由于在Bitcoin Core 0.19.0发布过程的后期发现了一个问题,所以发布供下载的版本实际上是0.19.0.1.。) 比特币核心 首席维护者Wladimir van der Laan,这个最新的主要版本是由一百多位贡献者在大约六个月的时间内开发的. 550个合并拉取请求的结果,Bitcoin Core 0.19.0包括一系列性能改进,现代化和错误修复以及其他更改. 以下是其中一些更改的概述. 默认情况下,GUI中的Bech32地址 “ bech32”地址格式(BIP 173)已于2018年初发布的Bitcoin Core 0.16.0中引入,但现在首次在Bitcoin Core钱包图形用户界面(GUI)中设置为默认选项. Bech32地址是以“ bc1”开头的地址(与以1或3开头的地址相对)。这些地址也稍长一些,但是使用的字符比当前地址格式少,因为不再有区别小写和大写字母之间。 (例如,这样可以减少人为错误的可能性,例如当一个地址被大声读出时。)Bech32地址还旨在限制错别字引起的错误。. 此外,bech32在SegWit的上下文中提供了很多好处。提供SegWit的某些钱包(包括到目前为止默认情况下的默认比特币核心钱包)通过将其“包装”到P2SH输出(地址以“ 3”开头)来实现。要从这样的地址花费比特币,用户必须显示一段代码-“兑换脚本”-以表明比特币确实被锁定在SegWit输出中。使用新的bech32地址,可以跳过此步骤,这意味着来自SegWit输出的支出将需要更少的数据通过比特币网络传输并包含在区块链中。这使得bech32输出的事务比P2SH输出的SegWit事务便宜。. 由于并非所有比特币钱包都支持发送到bech32地址,因此,Bitcoin Core 0.19.0用户仍可以通过GUI中的切换来选择生成PS2H接收地址。. 默认情况下,两个额外的仅阻止出站连接 比特币节点连接到其他几个比特币节点,一起形成对等网络。通过该网络,节点共享块,交易和一些其他交易数据. 但是对等网络可能会遭受诸如“分区攻击”之类的攻击。如果攻击者控制了足够多的比特币节点,它可能会通过拦截所有流量来“切断”比特币网络的某些部分(甚至是特定节点)。然后,例如,可以将网络的分区部分欺骗为有效地接受少数链而不是最长的链,这反过来又可能为双重攻击打开大门. 如果网络分区部分中的节点甚至只有一个与主网络上诚实节点的连接,则可以抵抗分区攻击。然后,它将接收并中继所有交易和区块,并拒绝少数链,转而支持多数链. 一种实现这一目标并使分区攻击更难以进行的方法是,使节点之间建立更多的连接。但是,更多的连接确实需要更多的内存和带宽。需要权衡. Bitcoin Core 0.19.0将传出连接的默认值增加了两个,但是-巧妙地-这两个额外的连接仅用于中继块-它们不中继交易或其他交易数据。这最小程度地增加了带宽需求,同时仍然使分区攻击更难以成功实施. 不推荐使用Bloom过滤器 Bitcoin Core是一个完整的节点实现,这意味着它下载并验证了所有Bitcoin块。尽管这是最佳的安全性,但它并不十分适合移动电话等资源匮乏的计算设备。因此,移动钱包(以及某些台式机钱包)通常是“轻型客户端”:这些仅下载交易和与它们有关的(部分)区块. 实现此目的的一种方法是使用Bloom Blooms过滤器,该过滤器如今已被多个钱包使用。简而言之,布隆过滤器是轻客户端用来从网络上或多或少的随机完整节点请求相关数据的一种加密技巧。但是,不幸的是,这些年来,Bloom Filters非常不适合隐私,这一点变得很明显:它们实质上将所有地址公开给整个节点。最重要的是,支持Bloom Filter请求的确会消耗整个节点的CPU和磁盘空间,而整个节点本身并没有直接的好处. 特别是由于后一个原因,默认情况下,Bitcoin Core 0.19.0不再支持Bloom Bloom请求。用户仍然可以切换默认设置以支持Bloom Blooms(Bloom筛选器). 值得注意的是,即使没有人更改默认设置,整个比特币网络几乎肯定会在未来几年内继续支持Bloom Blooms过滤器,这仅仅是因为较旧的Bitcoin Core节点通常在新版本推出后已经使用了很多年。被释放. 对紧凑型客户端块过滤的更多支持 […]
了解闪电网络,第1部分:建立双向比特币支付渠道
闪电网络可能是部署在比特币之上的最受期待的技术创新。约一年前,约瑟夫·庞(Joseph Poon)和塔奇·德里亚(Tadge Dryja)首次提出了支付层,它承诺在不增加成本的情况下支持用户之间几乎无限数量的脱链交易,同时利用比特币提供的安全性。. 至少三家公司-Poon和Dryja’s 闪电, 区块流 和 区块链 –目前正在研究该技术的实现。但是,除了这个小技术前沿之外,几乎没有人完全了解“小额支付的未来”将如何提高比特币的功能. 在这个由三部分组成的系列文章中,《比特币杂志》展示了闪电网络的基本构建模块,并展示了它们如何组合在一起以实现即将到来的协议层. 该系列的第一部分建立了必要的构造块,并展示了如何将它们组合起来以创建“智能合约”,该合约可用于实现闪电网络的第一个要求:双向支付渠道. (注意:对比特币有深入了解的任何人都可以跳过构建基块。) 构件1:未确认的交易 从本质上讲,比特币协议由交易组成,这些交易通常链接到先前的交易,并可能链接到将来的交易。每笔交易均包含输入(表示比特币发送至的地址)和输出(表示比特币发送至的地址)。此外,输入必须包含发送比特币的要求,例如证明输入地址“所有权”的签名。同时,输出确定了新要求,必须将其包含在后续交易的输入中. 作为其主要功能之一,闪电网络是由或多或少的常规比特币交易建立的。只是这些交易通常实际上并未通过比特币网络广播。取而代之的是,它们存储在本地的用户节点上,但是可以随时通过网络广播。. 构件2:双重支出保护 闪电网络的第二个构建块可能不需要太多解释,因为它可以说是比特币本身的存在理由:双花保护。如果两个事务(或:输入)依赖于相同的输出,则只有一个可以确认. 这里要记住的重要一点是,即使未确认的交易也可能会发生冲突,这意味着只有一个可以确认. 构件3:Multisig 闪电网络的第三个组成部分也是一个简单明了的组成部分:多重签名(multisig)地址。 (或更笼统地说:P2SH地址。) 多重签名地址是比特币地址,顾名思义,它需要多个私钥来“解锁”并从中花费比特币。可以在各种条件下设置多重签名地址。例如,要求三个可能的键中的两个,或者十五个中的十五个,或者几乎其他任何组合. 闪电网络通常使用两个(两个,共两个)多重信号设置中的两个。要从2 of 2多重签名地址中解锁比特币,需要使用两个专用密钥的两个签名. 构件4:时间锁定 第四要素是时间锁定。时间锁定可以“锁定”输出中的比特币,以使其只能在将来的某个时间使用(包含在后续输入中). 有两种不同类型的时间锁:绝对类型,称为CheckLockTimeVerify(CLTV),以及相对类型,CheckSequenceVerify(CSV)。 CLTV锁定比特币直到(或多或少)未来的具体时间为止:实际时间和日期,或特定的区块高度。 CSV则使用相对时间。将CVS输出记录在区块链上之后,从该点开始需要花费特定数量的块,然后才能再次使用比特币. 构件5:哈希值和秘密 第五个也是最后一个构建块-加密-是比特币本身的最基本构建块。但是在Lightning Network中,它以一种新方式应用. 简而言之,“值”或“秘密”是一个长而唯一的数字字符串,即使对于具有无限尝试次数的计算机,也几乎是不可能猜到的。通过特殊的计算,可以将该值(或机密)“哈希”为不同的数字字符串,即“哈希”。这就是诀窍:知道值的任何人都可以轻松地复制哈希。但这反过来是行不通的;这是一条单向街. 这个技巧可以在比特币本身中使用,再次“锁定比特币”。 (实际上,这实际上是比特币的工作方式。)例如,哈希可以包含在输出中,并且要求后续输入包含相应的值才能使用. 第一个挑战:双向支付渠道 甚至在闪电网络出现之前,支付渠道的概念就已经存在了一段时间。典型的支付渠道可用于某些目的,但也有局限性:它们是单向的。爱丽丝可以向鲍勃支付几笔脱链交易,但鲍勃根本无法通过同一渠道向爱丽丝付款. 作为闪电网络的关键功能,Poon和Dryja提出了无信任的双向支付渠道. 打开频道 要建立双向支付渠道,有关双方必须首先就开始交易达成协议。这项开仓交易确定每个通道中存入多少比特币. 假设爱丽丝(Alice)想向鲍勃(Bob)发送一个比特币。由于爱丽丝(Alice)和鲍勃(Bob)希望更频繁地进行交易,因此他们决定开放双向支付渠道,并使用该渠道发送比特币。 (对于支付渠道而言,发送整个比特币可能很多,因为对于小额支付来说,这些比特币可能会更有用-但这是完全有可能的。) 为了打开频道,爱丽丝和鲍勃分别向5个2位数的多重签名地址发送了5个比特币。这是“期初交易”。如果爱丽丝(Alice)和鲍勃(Bob)都签署了后续交易,则只能从该地址使用比特币. 此外,Alice和Bob都创建了一个秘密(一串数字),并交换了哈希值. 现在,爱丽丝立即根据期初交易创建一个后续交易。这是“承诺交易”。通过承诺交易,爱丽丝向自己发送了四个比特币,并向第二个多重签名地址发送了六个比特币。第二个multisig地址有点时髦。鲍勃可以自己解锁它,但只有在将其包含在区块链中之后再挖掘1000个额外的块之后,才能解锁。它包括一个CSV锁。或者,爱丽丝可以自己打开它,但前提是她还必须包括鲍勃刚刚为其提供的哈希值的秘密。 (当然,爱丽丝不知道这个秘密是什么-她只知道哈希-因此她现在无法利用此选项。) 爱丽丝签署了此承诺交易的结束通知。但是她没有广播!相反,她把它交给了鲍勃. 同时,鲍勃(Bob)做了同样的事情,但也有所反映。他还创建了一个承诺交易,从中他自己发送了六个比特币,并向一个时髦的新的多重签名地址发送了四个。如果她再等待1000个街区,爱丽丝可以解锁该地址,或者鲍勃可以使用她的秘密与爱丽丝解锁. 鲍勃签下这一半,然后交给爱丽丝. 在完成“半有效”承诺交易和秘密哈希的所有这些交换之后,他们都签署并广播了期初交易,以确保将其记录在区块链上。该频道现已正式开放. 此时,Alice和Bob都可以签名并广播他们从对方那里获得的半有效承诺交易。如果爱丽丝这样做,鲍勃立即获得六个比特币。如果鲍勃这样做,爱丽丝立即获得四个比特币。但是无论签名或广播该交易的人将不得不等待1000个区块才能解锁后续的multisig-address,并要求剩余的比特币. 但是,这是支付渠道的关键技巧:根本不签署也不广播其交易的一半. 更新频道 过了一会儿,鲍勃想寄回一个比特币给爱丽丝。他们想更新通道状态,使平衡再次达到5。为此,爱丽丝和鲍勃做了两件事. 首先,两者都重复上述过程(除了开仓交易已记录在区块链上;该部分被跳过)。这次,爱丽丝和鲍勃都给自己分配了五个比特币,并且都给时髦的多重签名地址分配了五个比特币。这些多重签名地址的条件是相似的,除了它们需要新的秘密:爱丽丝和鲍勃都互相提供了新的哈希值。他们都签署了新的一半有效承诺交易,并将其互相给予. 其次,爱丽丝和鲍勃互相交往他们的第一批秘密,如第一次设置中所使用的那样. 在这一点上,爱丽丝和鲍勃再次可以签署并广播他们刚刚获得的新的“半有效”承诺交易。他们的交易对手将立即获得5个比特币,而广播公司则必须等待1000个区块。因此,频道已更新. 但是,是什么阻止了Bob广播较旧的承诺交易呢?这项承诺交易导致他付给他六比特币的报酬,而不是五…. 当然,阻止Bob的是他的第一个秘密,现在他已将其提供给Alice。. […]
什么是Libbitcoin和SX以及它们为何如此重要
阿米尔·塔基(Amir Taaki)的 利比币 已成为现有比特币协议最先进的替代实现之一。尽管现在市场上有数十种替代实现,但libbitcoin是为数不多的重新实现完整比特币标准的少数应用之一,从而允许用户运行 确定性钱包, 一个 椭圆曲线消息签名界面 当然, 功能齐全的比特币节点. 即使是多签名交易(许多流行的钱包,包括blockchain.info和Android的Bitcoin Wallet仍不支持),libbitcoin也能很好地处理。比特币在模块化方面也很独特。程序包本身是一个软件库,其中包含一组组件,每个组件都可以通过编程方式单独调用,从而避免了启动完全成熟的整体式软件守护程序,而仅需进行一些简单的事务或查询。如果要在本地运行完整的客户端,则可以使用libbitcoin进行操作,但是也可以轻松地仅使用libbitcoin进行事务管理和联网,并依靠其他节点获取事务数据。无论您需要什么,都可以使用,无论您不需要什么,都可以轻松使用. 作为libbitcoin的第一个主要实际应用,Amir Taaki最近发布了 sx, 一组用于处理比特币密钥和交易的命令行实用程序。基本意图很简单:授权具有一定技术水平但没有经验的程序员的比特币用户与比特币进行交互,不仅是他们输入一定数量的接口,目的地址和比特币可以为他们做所有事情,而且还可以直接工作与基础构建块。每个sx工具都遵循Unix的哲学:它做一件事,并且做得很好。 genaddr 获取一个Electrum钱包种子或主公钥以及一个索引并返回一个地址. mktx 创建未签名的交易,并 符号输入 签署交易输入. 历史 返回与可以用作输入的比特币地址相关的未使用交易的列表,依此类推. 可以在命令行上访问这些工具以一次构建一个比特币交易,或者可以以编程方式调用它们(例如,使用os.popen(command).read() 在Python中)来创建比特币软件,例如商家软件包和钱包。到目前为止,创建一个新的比特币钱包还很困难,要么要么从头开始重新实现所有东西,要么拿一个现有的钱包,然后努力解开代码以将交易逻辑从钱包逻辑中分离出来,要么依靠一个bitcoind节点在后台运行。但是,有了libbitcoin和sx,就可以使用最低级别的比特币交易工具-使开发人员有能力去处理真正需要最多工作的问题-例如优化安全性和用户体验。. 不仅仅是图书馆 那么,为什么libbitcoin和SX如此重要?事实证明,答案远不止这些方便的事实。比特币生态系统的主要问题之一是,尽管比特币名义上是分散的,但实际上,保持网络运行的矿工都在运行相同的核心比特币软件: 比特币. 自从中本聪(Satoshi)在2009年发布第一个版本以来,Bitcoind是原始比特币客户端的“无头”(即仅命令行)版本,并且是所有矿工和几乎所有企业用来与该平台通信的软件。比特币网络. 这是不健康的,原因有两个。首先,垄断可能导致高度破坏性的区块链分叉。例如,今年3月,数据库中的一个错误被删除,该错误阻止了比特币节点处理一个区块,同时影响了5,000多个交易的状态,导致比特币网络在有错误和无错误的节点之间分裂了大约六个小时。不同意区块的有效性,并开始在两个独立的区块链上工作。解决方法:比特币社区聚集在一起,同意关闭0.8版节点,并将数据库错误添加到官方协议中已有两个月,直到两个月后可以以受控方式将其删除为止。相反,如果有五种不同的比特币实现方式被广泛使用,那么任何一个失败都会只影响比特币网络的一小部分,而普通用户的客户(通常仅验证交易而不是阻止交易)可能不会受到影响。根本没有,因为如果发生分叉,“合法的”区块链几乎总是占据多数网络的那个. 第二个原因是政治上的。许多核心比特币开发人员,特别是首席开发人员加文·安德森(Gavin Andresen),也是比特币基金会的一部分,该组织已经采取了明确的步骤,将政治游说作为保护比特币的策略。担心的是,在将来,政府可能会尝试更多地监管比特币,并给该基金会下个通im:您包括某些侵犯隐私的功能(一个适度的例子可能是“地址验证费”,以阻止人们覆盖他们的比特币。通过在协议中创建许多比特币地址来跟踪),或者我们禁止比特币交换。基金会很可能会遵守,美国政府也知道。但是,如果基金会在未经国际广泛同意的情况下没有权力对协议进行此类更改,那么美国政府将没有这种选择-他们将被迫要么试图彻底禁止比特币,要么付出巨大代价。至少要在技术和开源社区之间保持良好的信誉,或者顺其自然,并专注于较软的监管策略。这就是为什么像Amir Taaki,Joerg Platzer这样的比特币拥护者长期以来一直支持使比特币生态系统多样化和国际化的原因。 libbitcoin可能是最终推动这一进程前进的催化剂. 您如何使用SX? 如果您使用的是Linux,则安装sx非常简单;在命令行上,wget http://sx.dyne.org/install-sx.sh 其次是 须藤bash./install-sx.sh 就是全部。如果您使用的是Windows或Mac,则事情会有些复杂,尽管没有任何其他类似的软件包那么复杂;可以从https://github.com/genjix/sx下载源代码,然后可以从那里手动安装源代码。. 安装sx后,您可以执行以下操作。一,基本地址和按键操作. 生成私钥/公钥/地址三元组: sx newkey > pk1cat pk1 | sx pubkey > pub1cat pk1 | […]
比特币现金硬叉之后的一天:外卖和最新动态
于2017年8月从比特币区块链分叉的“大块”项目比特币现金,“硬分叉”(拆分)成两种不同的硬币:“比特币现金ABC”(BCH ABC)和“比特币现金SV”(BCH SV) ). 在撰写本文时,Bitcoin Cash ABC链具有更多的累积工作量证明,其本国货币BCH ABC在(期货)交易所交易价格较高。因此,大多数比特币现金ABC支持者感到胜利–尽管许多比特币现金SV支持者尚未认输. 拆分以来的整整一天,这里是主要的要点和最新动态. 检查站争议 事实证明,比特币ABC开发团队掌握了窍门-并不是每个人都对此感到满意。开发人员在他们最新的软件版本中包括了一个未宣布的检查点,该检查点是 分散式 叉子后几个小时. 该检查点强制将第一个比特币现金ABC块作为新协议规则包括在内。该比特币ABC软件客户端将没有此阻止的任何链视为无效。这样的结果是,对抗性矿工无法覆盖(“重组”)整个比特币现金ABC链-这是“哈希战争”带来的潜在威胁之一。 检查点是 有争议的, 但是,因为这意味着来自比特币ABC开发团队的对比特币现金ABC链的集中控制。在节点通常遵循最长的有效工作量证明链的情况下,认为检查点会覆盖此工作量证明共识机制. 当然,用户最终决定他们运行哪种软件,并可以选择拒绝检查点版本的比特币ABC。但这增加了检查点引起另一个分裂的风险-这次,在Bitcoin Cash ABC链上,创建了“ Bitcoin Cash ABC Checkpoint”和“ Bitcoin Cash ABC Classic”。 (这些名称只是假设性的,是出于本文的目的而组成的。) 话虽如此,目前看来这种分裂似乎不太可能。它必须是51%的攻击造成的,并且根据 forkmonitor.info, 在撰写本文时,要花费大约一百万美元. 未来的攻击 尽管比特币现金ABC支持者通常对自己的“胜利”充满信心,但许多比特币现金SV支持者并没有承认失败. 例如,nChain首席科学家和比特币SV背后的主要人物Craig Steven Wright, 发推文 “哈希战争”是一场马拉松,而不是短跑:这意味着袭击仍在继续。同样,Coingeek及其所有者Calvin Ayre 宣称 哈希战争才刚刚开始。其他比特币Cash SV支持者还预计会出现不同类型的攻击(例如被称为“中本聪的gun弹枪”的垃圾邮件攻击)。他们说,所有这些最终将消灭比特币现金ABC链. 除了Satoshi的Shotgun之外,没有证据表明会出现这类攻击。上周,Bitcoin Cash网络确实遭受了某种形式的垃圾邮件攻击,并且在硬分叉期间,Bitcoin Cash网络上也有很多垃圾邮件。这些可能是前兆. 确实,在过去的一天中,比特币现金ABC网络的状态异常,这是因为有大量的哈希功能确保了它的安全(相对于其各自的获利能力而言,这表明矿工正在亏本开采)。部分原因是因为 bitcoin.com 池暂时将其哈希能力从挖矿比特币转移到挖矿比特币现金ABC. 随着时间的流逝,可以预见的是,确保比特币现金ABC链的哈希能力将下降到正常水平(相对于预期获利能力而言是正常水平)。比特币现金ABC网络也将更容易受到51%攻击. 名称和股票代号 通过将比特币现金分为两种不同的硬币,两种名称之间存在一些争议. 清楚的是,这两个主要因素 软件 实施称为“ […]
Bitcoin Core 0.13.0的新功能是什么?
比特币核心 由中本聪(Satoshi Nakamoto)于八年前首次发布的第十三代比特币参考客户端0.13.0现在已被标记为可发布。这是软件发布过程中的最后一步,并启动了Gitian构建过程. 大约100个贡献者在大约五个月的时间内开发了Bitcoin Core 0.13.0。尽管这段时间的大部分开发工作都集中在“隔离见证”上,只有在未来的次要版本中才能激活“隔离见证”,但与“比特币核心0.12.0”相比,比特币Core 0.13.0包含了十几项显着的改进. 这些是最重要的变化. 孩子为父母买单 随着时间的流逝,比特币网络上的交易数量一直在稳定增长。结果,更多的区块被填满,矿工通常收取更高的费用以将交易包括在区块中。不包含足够费用的交易通常需要更长的时间才能确认,甚至根本无法确认。事实证明,这有些问题,特别是在网络上进行了所谓的“压力测试”的时期,网络上的交易总数激增,并且交易大量延迟. 单个用户可以通过在交易中收取更高的费用来解决此问题,从而激励矿工对这些交易进行优先级排序。即使在发送交易后,也可以使用“加入收费替代”(RBF)来实现;但是,还没有很多钱包包含此选项。此外,RBF仅是事务发送方的选项。到目前为止,收款人还无法提高传入交易的费用以加快确认速度. 这个问题可以通过“孩子为父母付钱”(CPFP)的技巧有效地解决。 CPFP是矿工用来选择要在区块中包含哪些交易的策略。借助CPFP,矿工不必选择收入最高(且有效)的交易,而是选择利润最高的交易 放 交易。换句话说:如果后续交易符合以下条件,他们将选择低价交易 依靠 在低价交易上提供了足够高的费用来弥补。矿工将同时包括这两个矿工. 实际上,这意味着低手续费交易的接收者可以“附加”高手续费交易,将相同的硬币花费在自己身上。受到新的高价交易的激励,矿工将包括交易集。这样,接收方无需等待确认的时间,而矿工可以增加其收入. 紧凑块支持 比特币的点对点协议目前效率低下。节点互相发送两次最多的交易数据:一次是作为最初通过网络发送时的交易,一次是在确认交易时作为块的一部分. 这有一些缺点。首先,两次发送交易数据需要比实际更多的带宽,这增加了运行Bitcoin Core的成本。其次,也许更重要的是,同时将新块转发给多个对等方可能会导致显着的出站带宽峰值。每当发现新的块时,这可能会中断Internet使用,这可能会给用户带来烦恼。也许,更重要的是,它也可能减慢网络上的块传播。缓慢的区块传播反过来会有利于更大的矿池,从而激励更加集中的采矿格局. 紧凑块(BIP 152),由Bitcoin Core和 区块流 开发人员Matt Corallo旨在减少过多的数据传输。当找到一个新的块时,节点最初只传递非常紧凑的事务数据散列。由于节点最初通过网络发送时已经收到了完整的交易数据,因此他们可以使用这些哈希值来确定哪些交易包含在区块中并自行重建区块. 但是,此技巧并不总是能完美解决。如果某个节点在收到哈希之前尚未收到初始交易,则该节点当然无法选择该交易。此外,在极少数情况下 错误的 交易可能会散列为 正确的 散列,愚弄该节点以使其认为它接收了正确的事务,直到它尝试重建该块并发现它没有加起来. 在这两种失败的情况下,节点毕竟只是简单地请求特定的交易数据。即使其中仅包含一些完整的事务,紧凑块也将通过网络更快地传输,并且所需带宽大大减少. 分层确定性密钥生成 到目前为止,Bitcoin Core为每个新的Bitcoin地址生成了一个新的,完全随机的公钥和私钥对。尽管这出于安全性和隐私性原因很重要,但也可能给用户带来一些负担。为了保护所有私钥免于丢失,它们需要进行定期备份. 分层确定性(HD)密钥生成(BIP 32),这是比特币核心开发人员Gregory Maxwell和Dr. Pieter Wuille以及Armory开发人员Alan Reiner在2012年和2013年开发的一种加密技巧,解决了这个问题。通过HD密钥生成,Bitcoin Core为每个新地址创建一个全新的密钥对,但是所有这些密钥均来自一个12字的种子。只要用户记住这12个单词的种子,他们就可以重新生成所有私钥并访问其所有资金. 应当指出,HD密钥生成不是比特币世界中的新功能。许多钱包已经包含该选件已有好几年了。它只是在比特币的参考客户端中从未存在过-直到现在. 表现 & 安全 当然,Bitcoin Core 0.13.0引入了重要的性能和安全升级列表。这些改进的全部范围超出了本文的范围(请参阅Bitcoin Core 0.13.0的 发行说明 对于所有细节),但总之…… […]
为什么对比特币进行一些更改需要共识:比特币的4层
长期存在的区块大小争议以及最近推出的几种新的比特币实现方式突显出,并非所有比特币节点都应用完全相同的规则-也许更重要的是,在实施这些规则时,并非所有开发团队都应用类似的策略. 背后的开发团队 比特币核心, 比特币历史悠久的“参考客户”,在实施规则更改(例如提高区块大小限制)之前,需要社区达成广泛共识,而其他更改则未遵循相同的标准. 同时,一些比特币分叉,例如 比特币LJR, 通常被开发社区所接受,而其他人,例如 比特币经典, 引起很多争议。一些人认为这是不一致的. 但是这种差异可以解释。在某些分支中实施的某些规则更改对比特币网络的影响与其他方面有很大不同。或更具体地说:某些规则更改会影响比特币网络的不同层。其中一些规则更改可以拆分比特币网络,而另一些则不能. 澄清这些差异, 比特币核心 开发商和 西弗雷克斯 首席执行官埃里克·隆布罗佐(Eric Lombrozo)最近提议在所有比特币改进提案中标记相关层。这些是他指定的比特币网络上的四个主要层 BIP 123, 以及每个共识的重要性. 共识规则 共识规则是比特币最重要的规则。它们确定了区块奖励中包含的比特币数量,挖矿难度,所需的工作量证明类型以及实际上的区块大小限制等诸多方面. 这些规则非常重要,因为它们确定哪些块被完整节点视为有效。如果所有完整节点都应用相同的共识规则,则可以确保它们都维护相同的区块链副本. 但是,如果不同的节点应用不同的共识规则,则它们冒接受其他节点拒绝的块的风险。这种差异可能导致不同的节点维护完全不兼容的区块链版本,从而有效地分裂了比特币网络. 比特币的共识规则可以通过两种方式进行更改。将附加规则添加到协议的更改(使先前有效的块无效)的更改称为软分叉。软叉需要大多数散列功能来支持此更改。根据新规则生产的块在旧规则下也将有效,因此未升级的节点仍将遵循最长的链条. 但是,未升级的矿工可能会根据新规则生成无效的区块,从而浪费了哈希功能。而且,未升级的完整节点将不再能够验证块是否遵守新规则,从而要求它们等待额外的确认以实现相同级别的安全性。. 由于这些原因和其他原因,Bitcoin Core开发团队表示,通常需要95%的哈希算力的超级多数才能同意软分叉. 从协议中删除规则(使之前无效的块生效)的共识规则更改称为硬分叉。硬分叉要求网络上的所有完整节点都采用。任何未实施更改的节点可能根本不会遵循最长的链,因为它可能会认为该链无效,而是停留在“旧”链上。如上所述,这可能会拆分比特币网络。这种分裂将持续多久,这实际上不是技术问题,而是有关政治,社会学,经济学,博弈论等的辩论. 在最坏的情况下,对没有达成共识的共识规则进行软分叉更改可能会(在最坏的情况下)导致少数矿工浪费哈希能力,并(略)降低整个节点的安全性. 在最坏的情况下,在没有共识的情况下硬性更改共识规则可能会分裂比特币网络. 对等层 比特币网络的对等层涵盖了完整节点如何共享数据以及它们共享什么数据。这包括用于发送和接收事务和块的协议规则,以及特殊数据包,例如隔离证人或可逆Bloom查找表. 最重要的是,对等层必须确保新的块以及通过验证整个块所需的数据包遍及整个网络。如果此中继策略失败,则可能导致网络分裂,其中不同节点持有不同版本的区块链-至少直到区块再次找到遍及整个网络的方式为止. 但是,与共识规则相反,如果不是每个节点都应用完全相同的中继策略,则不一定是一个大问题。由于大多数节点都将块转发给至少八个对等方,因此即使某些节点未正确转发,此放大器也应确保所有节点都接收到所有块. 在中继事务方面,节点还有更多的回旋余地。如今,比特币网络上的大多数节点都采用“先见之明”的策略:如果它们收到两个或多个冲突的交易,则拒绝后者。但是,越来越多的节点采用“按费用替换”策略的变体,这意味着它们选择了包含最高费用的交易,而不论哪个先发生。此外,某些节点完全拒绝某些类型的交易,或者根本不中继任何交易. 也就是说,矿工最终决定他们将哪些交易包含在区块中,以及原因。仅当事务中继策略发生巨大变化或具有足够的限制性时,才可能仅凭这些原因就无法确定哪些事务已被确认. 在最坏的情况下,在没有共识的情况下更改对等层可能会分裂网络。如果无法在整个网络中找到障碍,就存在这种风险。但是,重新连接网络后,拆分将自动解决. 如果更改仅涉及交易,则在最坏的情况下,它们可能阻止某些交易的确认。这也可能降低未确认交易的可靠性。但是它不能分割网络. 应用程序编程接口和远程过程调用 应用程序编程接口(API)和远程过程调用(RPC)层是对等协议之上的通信层。许多比特币软件应用程序(例如移动钱包和区块浏览器)通过连接到API或软件库,通过这些层与区块链进行通信. 如果这些层之一发生故障,则所有连接的软件应用程序将无法与比特币网络可靠地通信。移动钱包不会知道他们是否收到了比特币,而区块链浏览器也无法判断是否找到了新的区块。但是,所有其他比特币用户都不会注意到任何事情。网络本身仍然运行良好. 在最坏的情况下,未经一致同意而对API和RPC层进行更改可能会使这些层的用户与比特币网络完全断开连接。但是,这样的改变不能分裂网络本身. 应用领域 最后,应用程序层是指比特币软件应用程序如何创建和使用某些类型的数据,这些数据实际上并没有直接接触网络,但是对于跨应用程序同步很有用. 例如,这包括地址格式,私钥生成或钱包备份。如果一个钱包生成了另一个钱包认为无效的地址,则无法在它们之间进行交易。或者,如果一个钱包使用一种方法创建备份地址种子,而另一个钱包使用另一种方法,则用户将无法使用每个钱包恢复其私钥。钱包备份也是如此. 在最坏的情况下,未经一致同意对应用程序层进行更改可能会阻止某些用户进行相互交易,并带来其他不便。此类更改无法拆分网络。感谢您到Lombrozo寻求技术指导.