见证人隔离可能是迄今为止比特币协议最重大的改进。该创新旨在固定交易的可延展性,有效增加区块大小,实现开发灵活性等。经过几个月的编码,隔离见证人已接近推出,因为 拉取要求 已提交给 比特币核心 本周早些时候. 到底有多接近推出?与比特币协议的任何更改一样,这很难预测. 隔离见证时间表… 第一步:想法 比特币协议的每项改进都始于一个构想. 隔离证人的想法可以追溯到很久以前。区分交易和签名数据的一般概念可能起源于2014年,甚至更早。但是大约一年前,即2015年初, 区块流的比特币和侧链开发团队决定在其原型侧链中实施该概念: 元素. Elements,其中包括Segregated Witness,主要由比特币核心开发人员和Blockstream联合创始人Gregory Maxwell设计,并于2015年6月发布. 那时,人们仍然认为不可能在比特币区块链上实施隔离见证,除非是通过硬分叉。分离交易和签名数据将不兼容地改变结构块,这可能导致比特币网络在升级节点和非升级节点之间分裂. 毕竟,在2015年秋天,是比特币核心开发人员Luke Dashjr弄清楚了如何在主要的比特币协议中实现隔离见证。使用巧妙的技巧,隔离见证交易可以标记为未升级节点的“任何人都可以花”交易,而升级后的节点将被重定向到带有签名数据的“附加块”。这解决了不兼容问题,这意味着“隔离见证”可以作为软分叉推出. 最初是通过典型的沟通渠道在比特币核心开发人员中讨论此选项的:在IRC上通过私人电子邮件,稍后在 比特币发展邮件列表 和其他地方。参与对话的每个人都同意这是一个好主意. 几周后,即2015年12月,比特币核心开发者Pieter Wuille在 扩展比特币 香港研讨会. 预计时间:1年 第二步:代码 一个想法本身并不会改变任何东西。有人需要编写代码来实现这个想法. Wuille于2015年11月开始对“隔离见证人”进行编码-几周后,他在香港提出了这个想法。比特币核心开发者和 西弗雷克斯 首席执行官Eric Lombrozo,比特币核心开发人员Johnson Johnson和其他一些开发人员也开始做出贡献. 5个月后,比特币核心隔离见证计数了4,743行代码(包括测试代码),并提议删除或修改554条现有比特币核心代码行。 Wuille和其他贡献者认为已完成. 总时间:+-5个月 第三步:审查 由于代码已完成,Wuille在本周提交了拉取请求。拉取请求基本上是开发平台GitHub上的一项“正式”建议,它将一批代码–隔离见证–合并到Bitcoin Core的主分支中:新的Bitcoin Core版本所基于的项目的不断发展. 这标志着技术审查过程的开始。邀请其他开发人员检查和测试代码,并提出他们的意见。可以以评论的形式或通过投票的形式来完成:“ ACK”(赞成)和“ NACK”(反对)。 ACK和NACK也有几个细分,例如,表明该代码已由该开发人员测试过-或未经过测试。. 审查过程将持续至比特币核心存储库维护者(现为弗拉基米尔·范德兰)认为必要的时间。如果他认为没有(并且将继续)对合并的粗略共识,则可以关闭拉取请求。提案被拒绝,提交者可以选择重新编写代码. 对于“隔离证人”,审核过程更有可能向Wuille和其他开发人员提供反馈,这可能会导致代码略有更改. 如果范德兰(Van der Laan)在某个时候认为达成合并的粗略共识,他将合并拉取请求。隔离见证随后成为比特币核心主分支的一部分. 在隔离见证的情况下,很难说合并合并请求将花费多长时间。但是,由于这是一个很大的更改,因此此过程将花费数周到一个月的时间,甚至可能会更长. 预计时间:2至6周 第四步:发布 一旦提取请求合并到Bitcoin Core的主分支中,则需要通过新的Bitcoin Core版本向公众提供. 比特币核心提供两种类型的发行:主要发行(通常会更改发行版本中的第二个数字,例如0.10.0、0.11.0、0.12.0等)和次要发行版(更改最后一个数字,例如0.12。 […]
技术的
从ISP到P2P:网状网络如何使比特币脱离网格
“如果互联网中断,会发生什么?” 您已听过,我已听过-我们都听过这句话。它是Frances Coppola和David Gerard等FUDster记者的最爱,他们在辩论比特币的价值时将其视为最终的王牌。. 正确的!如果全球互联网中断,比特币将陷入困境。但是,全球银行业,医疗保健业,食品业以及我们整个高度互联的存在的整个结构也将如此。如果互联网是空手道,那么您可能应该担心库存物资和弹药,因为它会变得疯狂. 但是,如果我告诉您,在互联网大规模中断的情况下,比特币很有可能幸存吗?多亏了诺言,这次机会是真实的,而且还在不断增加 网状网络. 简而言之,网状网络是通过无线电信号提供“离线”连接的对等连接节点的网络。根据网络的带宽,您可以执行发送比特币交易或下载比特币区块链的操作. 与诸如Blockstream卫星网络之类的东西相结合,该卫星网络在全球大部分地区广播比特币区块链的数据,您可以构建一个几乎万无一失的去中心化基础设施,以防万一实际的互联网中断而成为临时网络。. 当您想到网状网络时,goTenna团队可能会浮现在脑海。所以,也可能 菱形网, 非营利性比特币委内瑞拉背后的慈善企业家兰迪·布里托(Randy Brito)启动了一个开源网格网络项目. 在本周有关异议技术使用比特币的问题上,我们与Brito和Blockstream开发人员进行了交谈 rub 关于网状网络的承诺。 Grubles发表了有关如何将网状网络与Blockstream卫星结合使用以离线发送比特币交易和消息的演示。卫星在这里是网状网络用例的福音,因为正如格鲁伯斯(Grubles)所说,“覆盖范围是巨大的。实际上,我们仅使用Blockstream卫星网络中的一颗卫星就可以用比特币数据覆盖整个大陆。” 我们的Q&下方带有一对的内容涵盖了网状网络的内容,原因和方式,以及它们可以改善的情况以及在将离线比特币接入大众之前需要满足的条件. 网状网络简介 比特币杂志:对于那些可能不熟悉的人,网状网络的好处是什么? 瓜类: 在传统的网络中(例如您今天在家或在工作中可能使用的网络),您连接到ISP [互联网服务提供商],该服务提供商通常由一家营利性公司控制。然后,您的ISP拥有自己的提供商,该提供商也要与之连接,这些提供商也由营利性公司所有。有时,这些公司会受到政府的压力,要求过滤或审查其网络上的信息. 在最基本的层次上,网状网络是对等网络。网络中的对等方提供到与其连接的其他对等方的连接,并且其对等方的对等方获得连接性,依此类推。结果是一个没有中央实体的网络,如果您直观地绘制网络布局图,它就像一个网状结构,而不是像轮辐式的传统网络,最终每个人都连接到中央ISP. BM:它们对比特币有什么好处? 瓜类: 网状网络如何与比特币联系起来非常简单。当前,依赖于传统的ISP控制的网络。不仅适用于比特币,而且适用于互联网上的大多数事物。如果网络由中央实体控制,则可以很容易地将其关闭或检查。网状网络可以抵抗网络中某些部分脱机的情况,因此对等方可以将数据路由到已脱机的部分周围。这种弹性对于像比特币这样的系统非常重要,因为这意味着交易可以持续进行,而矿工可以继续生产区块。如果您是商人或矿工,而您的ISP决定关闭您的连接,那您就很麻烦. BM:对您来说,这是网状网络最重要的副作用:它们提供的隐私性或不必依赖互联网的好处? 瓜类: 不同的人对此会有不同的答案,但是对我来说,这是增加了冗余并摆脱了对传统ISP的依赖。隐私很重要,但是如果您有一个提供隐私但受到中央实体瓶颈的网络,则可以向中央实体施加压力,使其完全关闭网络。如果我们首先专注于构建网状网络基础设施,那么我们总是可以在顶部覆盖诸如Tor之类的内容,或者将私密性烘焙到网状协议本身中. BM:关于这一点,网状网络有哪些陷阱?弱点在哪里? 布里托: 对于通过网状网络使用比特币,需要传输的数据量可能是其弱点。如果您位于Locha网格中,但没有互联网连接或卫星天线,则需要从网格中的对等方获取最新的比特币块数据,并且可能需要执行的跃点数和带宽是您完成此任务的关键。如果没有人为您提供这项服务,您将与比特币网络本身隔离. 幸运的是,比特币社区不会停止在比特币的网络方面进行创新,因此,诸如Erlay,FIBER等的改进将使通过网络传输比特币的块数据成为可能。您仍然可以很容易地在Locha Mesh中使用您的Electrum钱包,只要您可以到达一个为您提供钱包最新余额更新服务的Electrum服务器,或者您可以进行脱机签名的比特币交易,到达push-tx网关然后在您的交易已添加到区块中时收到一条消息. BM:您有什么要补充的吗,Grubles?和 您是否认为网状网络将得到更大的发展和采用,还是您始终将其视为附带利益?? 瓜类: 网状技术仍处于早期阶段。设置大多数网状技术需要一定的技术水平,因此绝大多数人将很难连接。首先,这意味着网状网络的总大小将相对较小。一旦普通人更容易设置并连接到网格,那么我认为它将真正开始腾飞. 我认为网状网络是您真正需要的时候才真正关心的事情之一。但是我认为,随着互联网和通信越来越成为我们生活中的必需品,网状网络的副作用将越来越多. BM:Randy,您一直在致力于Locha Mesh,尤其是考虑到您的祖国委内瑞拉。像Locha Mesh这样的东西要在世界上最需要的地方采用需要做些什么? 兰迪·布里托(Randy Brito): Locha Mesh的去中心化性质和审查阻力非常重要,但是没有办法激励人们提供比特币大数据和最新比特币交易,Electrum服务器,Lightning Network守望台,离线push-tx服务和网关等这些服务在网格内,Locha Mesh将仅限于消息传递,并且需要人们在唯一的激励下使Locha Mesh节点始终处于在线状态……能够在网格内发送消息. 为了解决激励问题,我们从一开始就一直在思考用户将如何使用Lightning Network来为这些服务付费,并且我们将继续研究任何可用的选项以实现这一目标。在社区其他成员的支持下,我们目前正在研究的另一种方法是,例如,使用Monero的新RPC-Pay功能。我们将继续研究此问题,并欢迎任何愿意就比特币和Locha Mesh的可持续性和可用性提出或测试其激励想法的人. BM:如果我没记错的话,Locha Mesh依靠地面广播的无线电信号。 […]
运营:侧链的价值及其潜力
自2009年比特币推出以来,人们对挖掘分散式加密货币的潜力越来越感兴趣。但是,必须谨慎处理对共识层(任何加密货币的关键部分)的任何修改。与其他互联网协议相比,这使比特币更难采用新功能并满足新需求。这就是提出侧链技术的原因:它允许跨不同区块链的数字资产(包括比特币)转移. 尽管大多数加密货币不兼容,但资产不可互换。 “融合”使侧链可以构建加密货币的金融生态系统。使用侧链,我们可以轻松创建基于智能合约的股票,期货和其他衍生工具;可能有成千上万的与比特币挂钩的侧链,它们都具有不同的用途和不同的功能。同时,所有这些侧链都受益于主链的健壮性并维持代币稀缺性. 到目前为止,市场上的一些侧链解决方案包括ConsenSys的BTC Relay,RSK的Rootstock,Blockstream的Elements和非比特币侧链(如Lisk). BTC中继 BTC Relay由以太坊基金会(Ethereum Foundation)诞生,由ConsenSys开发,被认为是第一个功能性侧链项目-尽管从技术上讲,它可以更好地描述为“原子交换”。 BTC Relay的主要原理是它以安全且分散的方式连接以太坊网络和比特币网络. BTC Relay允许用户通过部署在以太坊区块链上的智能合约来验证比特币交易。因此,侧链机制允许用户不仅将交易发送到另一个地址或账户,而且还发送到其他区块链. 具体来说,BTC Relay使用比特币的区块头来创建比特币区块链的小版本。以太坊Dapp开发人员然后可以通过连接到BTC Relay智能合约来验证比特币网络活动。 (它通过专用的API来实现。) 结果,BTC Relay的典型用例可能如下所示: 1. Alice和Bob同意使用BTCSwap合约(用户合约)进行交易。爱丽丝想从鲍勃那里购买ETH。鲍勃将他的ETH发送到BTCSwap合约,并且ETH将被锁定. 2.然后,爱丽丝将BTC发送给Bob,重要的是,她希望BTCSwap合同得到通知,以便BTCSwap合同可以向她释放Bob的ETH存款。. 3.爱丽丝使用比特币交易和BTCSwap合约地址调用BTC中继功能。在BTCRelay函数确认比特币交易有效之后,将触发BTCSwap合约并验证比特币交易. 4.在BTCSwap确认BTC中继地址的合法性之后,Bob的ETH将被释放给Alice,并且交易完成. 砧木 Rootstock(或RSK)是第一个由比特币区块链保护的通用智能合约平台。其目标是在侧链上实施复杂的智能合约,为比特币网络增加价值和功能. 这种工作方式是,当比特币用户想要使用双向锚时,他将交易发送到多签名地址。该钱包的密钥持有人(“联邦”)可以(例如)由几家知名公司组成. RSK区块链使用与资金交易相关的公钥来存储智能比特币(SBTC)。这意味着在此交易中控制比特币的私钥可用于控制RSK区块链上的相应金额. 尽管公钥和私钥相似,但是每个区块链使用不同的格式来编码地址。这意味着两个区块链上的地址不同. 元素 Elements侧链是由Blockstream开发的开源侧链项目。像Rootstock一样,该项目采用与比特币的双向挂钩。除智能合约外,该项目还引入了许多其他创新功能,包括私人交易,隔离见证和支持更多功能的新指令代码等。. 利斯克 Lisk是新一代的区块链平台,可将每个应用程序添加到单独的Lisk侧链中. 体验过比特币和以太坊的用户可能会意识到功能和数据已添加到主区块链中,这导致区块链迅速膨胀。超大的块大小需要很长时间才能同步,这是一个痛苦的经历. 相反,Lisk的侧链模型提供了一种解决高交易量情况下网络拥塞问题的方法。使用相关应用程序时,用户只需要下载特定用例的相应侧链即可。这大大减少了下载不必要数据的同步时间,并促进了整个Lisk网络的高效运行。此外,Lisk网络的速度有望随着时间的推移而继续加快,这应该给它带来特殊的优势。. 比托姆侧链模型 Bytom是用于多个“字节资产”的互操作协议。 为了操作在Bytom上运行的不同链上资产,开发人员可以创建侧链的微型版本。例如,使用一种称为“ XRelay”的版本,其功能类似于BTC中继。然后,Dapp开发人员可以通过智能合约连接到XRelay的API,以验证“ X链”的网络活动,XRelay与之连接。这样,跨链通信可以完成合同中包含的交易和股息分配. Bytom将支持多种类型的数字资产(例如,金,银等)。每个资产都将通过资产ID进行标识,该ID将基于“ ODIN”协议。通过各种资产ID,我们可以确认该资产的类别. Bytom链将所有资产分为两类:Bytom令牌(BTM)和所有其他数字资产。 BTM是Bytom区块链的本币,是分配给矿工和生态系统其他参与者的特殊令牌。 BTM基于工作量证明机制,旨在鼓励矿工以随机和匿名的方式加入系统. BTM可用于 资产交易成本,包括运行智能合约的成本; 收益资产的股利;和 资产发行保证金. 例如,如果资产发行人决定将BTC用作股息,则他可以通过侧链锁定相应数量的BTC,然后以市场汇率将其转换为BTM。通过跨链操作描述的中继合同类型执行此过程. 例如,如果我们想用比特币交换BTM,可以使用像这样的Bytom链合同来做到这一点: 侧链技术适合Bytom的使命:建立一个“字节资产”和不同区块链上的资产可以交互并自由交换的市场。 Bytom将促进字节信息和作为有价值的存储空间的字节资产的交换,互操作和流动. 这篇客座文章的作者Jeason Yi是Bytom.io的高级工程师。自2013年以来,他一直从事区块链开发。表达的观点仅代表YI先生,不一定反映《比特币》杂志或BTC […]
比特币核心0.13.1版本正式引入隔离见证
今天标志着 比特币核心 版本0.13.1. 这是《隔离见证》的正式介绍,这是人们期待已久的比特币核心 可扩展性路线图. 从11月15日开始,比特币矿工可以发出对提议的协议升级的支持,如果激活,它将启用比特币网络上的许多新功能以及有效的块大小限制. 根据比特币核心开发者和 西弗雷克斯 联合首席执行官埃里克·隆布罗佐(Eric Lombrozo)“隔离证人是迄今为止该协议的最大扩展。” 隔离证人 隔离见证是对比特币协议的首次提议升级,该协议最初由比特币核心和 区块流 开发商Pieter Wuille博士在 扩展比特币 大会于2015年12月在香港举行。技术创新将签名数据与比特币交易分开。这具有多个优点,包括但不限于可延展性修复,更灵活的可编程性以及有效的块大小限制增加. Lombrozo表示:“这是迄今为止该协议最重大的改进,因此,许多激动人心的创新成为可能。” 比特币杂志. “我们正在比特币领域经历巨大的创新,这是自比特币诞生以来最伟大的创新。” 隔离证人已经筹备了将近一年。 Wuille于2015年11月开始对其进行编码,随后几个月又由Lombrozo,Johnson Lau和其他几位Bitcoin Core开发人员加入。计数见证近5,000行代码,隔离见证于去年4月完成. 从那时起,提出的创新一直受到严格的检查和分析。隆布罗佐(Lombrozo)解释说: “我们进行了很多审查和测试。我们拥有三个专用的隔离见证测试网络,自5月以来,该网络已成功运行在比特币的主要测试网络上。此外,必须开发紧凑块并将其集成到Bitcoin Core中,以减轻延迟和带宽问题。它包含在最新版本0.13.0中。” 激活 隔离见证是一个建议的软分叉;从技术上来说,这一更改使比特币的协议规则更具限制性. 激活将遵循比特币改进激励(BIP)9确立的标准。这意味着,在2016年区块的单个困难期内(约两周),至少有95%的区块必须由表明支持隔离证人的矿工开采。如果达到此阈值,那么接下来的困难时期将使每个想要升级的人都有机会这样做。之后,激活“隔离见证”支持,并且比特币矿工接受“隔离见证”交易. 信号通知将从11月15日开始。在最早的情况下,这意味着“隔离见证”可能会在12月中旬启动。但是,目前看来这不太可能。相对较新的中国矿池-ViaBTC-最近表示将不支持隔离证人软叉。由于ViaBTC目前控制着网络上约9%的散列功率,因此它可以有效地阻止激活-假设它保持至少5%以上. Lombrozo表示,比特币核心开发团队并不太担心. 他说:“通过设计很难改变共识规则。” “在这种情况下,我认为收益远远超过了风险,因为隔离见证可以在比特币中实现一系列新的创新,从而改善可扩展性并允许更多用例。我希望矿工将欣赏这些巨大的好处,并希望利用该协议的这一重大改进。” 如果到2017年11月15日,哈希见证功能的95%不支持“隔离见证”,则它将无法再激活。 Lombrozo说,在那之前,比特币核心开发人员不太可能提出替代方案。. Lombrozo说:“我们一直在努力寻找前进的道路,为生态系统中的每个人提供他们想要的东西。” “并非总是可以取悦所有人,但我们已经做出了巨大的努力。我们为社区提出了这一点。希望社区对我们的工作表示赞赏,并喜欢我们所做的事情。此时,决定命运的事情就在社区手中。” 比特币核心0.13.1可以从以下位置下载 bitcoincore.org 和 bitcoin.org. 有关隔离证人的更多信息,请参见《比特币杂志》的 三–部分 系列.
开发人员对比特币的介绍
从开发人员的角度来看,比特币的主要优势之一就是操作起来非常容易。比特币没有第三方依赖性,没有专有的API,也没有快速变化的接口。您所需要的只是您自己喜欢的编程语言,而且很可能已经有了一个简单的比特币库,您可以使用它在几个小时内开始发送和接收比特币。本文的目的是介绍其中一些库,并展示使用任何语言的比特币地址和交易的基础知识. 地址,密钥,交易,哦,我的! 通常,比特币协议可以分为三个部分:地址和密钥管理,交易以及区块和挖掘。作为开始的比特币开发人员,区块和挖矿对您而言并不重要;在大多数情况下,仅依靠第三方交易获取服务就可以更容易地抽象出区块的概念,如果您对挖掘感兴趣,最好的方法就是简单地购买标准的比特币矿机。地址,密钥和交易,但是,您根本无法避免与之打交道. 在比特币密钥管理中,您需要处理三种类型的对象:私钥,公钥和地址。您可能已经听说过公钥密码学中的“私钥”和“公钥”一词;这正是我们在这里讨论的私钥和公钥。但是,比特币使用一种称为椭圆曲线密码的新型加密方式,而不是使用像RSA这样的基于保理的旧式加密算法,因此比特币密钥看起来与说的有些不同。, PGP密钥. 私钥如下所示: 9d86361789d13823fd888fa45c9b356b76d41a7e33b2b2c3056632721cc4c1255 其对应的公钥为: 04d8f08938e78447b2b1a629c503d5e17483b0d15751a9e8f83c8460e6ec32fd68d0b4068e83c012f54df995e52ed8bae38056a8d922f9687200ae83e5a6728dff 可以将私钥转换为公钥,但是不能将公钥转换为私钥。比特币地址实际上是公钥的哈希值;上述公钥对应的比特币地址为: 172YRdGzPqyXm9rm1EWKwPXTRsmcApoPQ6 您可能会注意到的一件事是,比特币地址不像私钥和公钥那样采用十六进制形式。这是因为,对于某些格式,比特币使用自己的表示格式,即base58check。 “ base58”部分来自这样一个事实,即使用了58个不同的字母和数字。 O,0,l和I被忽略了,因为它们很容易彼此误解。基数58与基数2或基数3或基数10相似。例如,基数2中的数字31337为“ 111101001101001”;在基数3中为“ 1120222122”,在基数10中为“ 31337”,在基数16中为“ 7a69”,在基数58中为“ AKJ”,最后在基数256中为“ zi”。 base58check的“检查”部分也很重要;这意味着将消息散列的前四个字节添加到消息的末尾,然后再将结果编码为base58。例如,将“ zi”从基数256转换为基数58的过程如下: 步骤1:校验和= sha256(sha256(’x00’+’zi’))(请注意,我们在前面添加了一个零字节)’97fbc63584f26bd0109f99d467c447607dbecff51b903e450207466114672261′ 第2步:中间=“ x00” +“ zi” +校验和[:4](二进制格式)“ x00zix97xfbxc6x35” 第3步:转换为以58为基数的“ 123xZAaruJ” 但是,您个人不需要处理所有这些复杂性;比特币库可以为您处理所有事情,我们将在本文的后面部分讨论。但首先,交易处理. 要记住的第一个重要点是,比特币在内部没有“帐户”或“余额”的概念。所有资金都存储在称为“交易输出”的对象中。一项交易具有一个或多个输入,每个输入都花费一个现有的未使用交易输出(“ UTXO”),然后该交易可以发送的总输出量与输入中的相同数量的BTC。以下是反序列化形式的交易: { "锁定时间":0, "ins":[{ "脚本": "", "外点":{ "指数":0, "杂凑": "319ba90f1645eed46a8fd48e9754ca979c3371f59099d32634a8b56549ce02aa" }, "顺序":4294967295}], "出局":[{ "价值":1000000, "脚本": "76a914a41d15ae657ad3bfd0846771a34d7584c37d54a288ac" },{ "价值":344164, "脚本": "76a914c4c5d791fcb4654a1ef5e03fe0ad3d9c598f982788ac" […]
为什么对比特币进行一些更改需要共识:比特币的4层
长期存在的区块大小争议以及最近推出的几种新的比特币实现方式突显出,并非所有比特币节点都应用完全相同的规则-也许更重要的是,在实施这些规则时,并非所有开发团队都应用类似的策略. 背后的开发团队 比特币核心, 比特币历史悠久的“参考客户”,在实施规则更改(例如提高区块大小限制)之前,需要社区达成广泛共识,而其他更改则未遵循相同的标准. 同时,一些比特币分叉,例如 比特币LJR, 通常被开发社区所接受,而其他人,例如 比特币经典, 引起很多争议。一些人认为这是不一致的. 但是这种差异可以解释。在某些分支中实施的某些规则更改对比特币网络的影响与其他方面有很大不同。或更具体地说:某些规则更改会影响比特币网络的不同层。其中一些规则更改可以拆分比特币网络,而另一些则不能. 澄清这些差异, 比特币核心 开发商和 西弗雷克斯 首席执行官埃里克·隆布罗佐(Eric Lombrozo)最近提议在所有比特币改进提案中标记相关层。这些是他指定的比特币网络上的四个主要层 BIP 123, 以及每个共识的重要性. 共识规则 共识规则是比特币最重要的规则。它们确定了区块奖励中包含的比特币数量,挖矿难度,所需的工作量证明类型以及实际上的区块大小限制等诸多方面. 这些规则非常重要,因为它们确定哪些块被完整节点视为有效。如果所有完整节点都应用相同的共识规则,则可以确保它们都维护相同的区块链副本. 但是,如果不同的节点应用不同的共识规则,则它们冒接受其他节点拒绝的块的风险。这种差异可能导致不同的节点维护完全不兼容的区块链版本,从而有效地分裂了比特币网络. 比特币的共识规则可以通过两种方式进行更改。将附加规则添加到协议的更改(使先前有效的块无效)的更改称为软分叉。软叉需要大多数散列功能来支持此更改。根据新规则生产的块在旧规则下也将有效,因此未升级的节点仍将遵循最长的链条. 但是,未升级的矿工可能会根据新规则生成无效的区块,从而浪费了哈希功能。而且,未升级的完整节点将不再能够验证块是否遵守新规则,从而要求它们等待额外的确认以实现相同级别的安全性。. 由于这些原因和其他原因,Bitcoin Core开发团队表示,通常需要95%的哈希算力的超级多数才能同意软分叉. 从协议中删除规则(使之前无效的块生效)的共识规则更改称为硬分叉。硬分叉要求网络上的所有完整节点都采用。任何未实施更改的节点可能根本不会遵循最长的链,因为它可能会认为该链无效,而是停留在“旧”链上。如上所述,这可能会拆分比特币网络。这种分裂将持续多久,这实际上不是技术问题,而是有关政治,社会学,经济学,博弈论等的辩论. 在最坏的情况下,对没有达成共识的共识规则进行软分叉更改可能会(在最坏的情况下)导致少数矿工浪费哈希能力,并(略)降低整个节点的安全性. 在最坏的情况下,在没有共识的情况下硬性更改共识规则可能会分裂比特币网络. 对等层 比特币网络的对等层涵盖了完整节点如何共享数据以及它们共享什么数据。这包括用于发送和接收事务和块的协议规则,以及特殊数据包,例如隔离证人或可逆Bloom查找表. 最重要的是,对等层必须确保新的块以及通过验证整个块所需的数据包遍及整个网络。如果此中继策略失败,则可能导致网络分裂,其中不同节点持有不同版本的区块链-至少直到区块再次找到遍及整个网络的方式为止. 但是,与共识规则相反,如果不是每个节点都应用完全相同的中继策略,则不一定是一个大问题。由于大多数节点都将块转发给至少八个对等方,因此即使某些节点未正确转发,此放大器也应确保所有节点都接收到所有块. 在中继事务方面,节点还有更多的回旋余地。如今,比特币网络上的大多数节点都采用“先见之明”的策略:如果它们收到两个或多个冲突的交易,则拒绝后者。但是,越来越多的节点采用“按费用替换”策略的变体,这意味着它们选择了包含最高费用的交易,而不论哪个先发生。此外,某些节点完全拒绝某些类型的交易,或者根本不中继任何交易. 也就是说,矿工最终决定他们将哪些交易包含在区块中,以及原因。仅当事务中继策略发生巨大变化或具有足够的限制性时,才可能仅凭这些原因就无法确定哪些事务已被确认. 在最坏的情况下,在没有共识的情况下更改对等层可能会分裂网络。如果无法在整个网络中找到障碍,就存在这种风险。但是,重新连接网络后,拆分将自动解决. 如果更改仅涉及交易,则在最坏的情况下,它们可能阻止某些交易的确认。这也可能降低未确认交易的可靠性。但是它不能分割网络. 应用程序编程接口和远程过程调用 应用程序编程接口(API)和远程过程调用(RPC)层是对等协议之上的通信层。许多比特币软件应用程序(例如移动钱包和区块浏览器)通过连接到API或软件库,通过这些层与区块链进行通信. 如果这些层之一发生故障,则所有连接的软件应用程序将无法与比特币网络可靠地通信。移动钱包不会知道他们是否收到了比特币,而区块链浏览器也无法判断是否找到了新的区块。但是,所有其他比特币用户都不会注意到任何事情。网络本身仍然运行良好. 在最坏的情况下,未经一致同意而对API和RPC层进行更改可能会使这些层的用户与比特币网络完全断开连接。但是,这样的改变不能分裂网络本身. 应用领域 最后,应用程序层是指比特币软件应用程序如何创建和使用某些类型的数据,这些数据实际上并没有直接接触网络,但是对于跨应用程序同步很有用. 例如,这包括地址格式,私钥生成或钱包备份。如果一个钱包生成了另一个钱包认为无效的地址,则无法在它们之间进行交易。或者,如果一个钱包使用一种方法创建备份地址种子,而另一个钱包使用另一种方法,则用户将无法使用每个钱包恢复其私钥。钱包备份也是如此. 在最坏的情况下,未经一致同意对应用程序层进行更改可能会阻止某些用户进行相互交易,并带来其他不便。此类更改无法拆分网络。感谢您到Lombrozo寻求技术指导.
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的 发行说明 对于所有细节),但总之…… […]
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可能不足以保护比特币用户的身份。有关更多信息,请参阅《比特币杂志》的《比特币隐私入门指南》。) 更快的签名验证 签名是一种加密技巧,其中私钥与任何其他数据“组合”以计算唯一的数字字符串。可以使用相应的公用密钥来验证签名是使用私钥创建的。以比特币为例,签名被有效地用来证明比特币的所有权,并以此来验证交易. 但是,有几种方法可以进行这种加密技巧,从而可能导致不同的签名-均以自己的方式有效。而且,如果不同的比特币节点采用不同的验证方法,则某些节点可能认为某些交易有效,而其他节点则认为无效,这可能会使比特币网络分裂. […]
Bitcoin Core 0.21.0发布:新功能
今天标志着的正式发布 比特币核心0.21.0, 中本聪(Satoshi Nakamoto)于大约12年前推出的第21个主要版本的比特币原始软件客户端. 监督者 比特币核心 首席维护者Wladimir van der Laan,这个最新的主要版本是由一百多个贡献者在大约六个月的时间内开发的。超过600个合并的请求请求的结果,Bitcoin Core 0.21.0是近年来最大的Bitcoin Core版本之一,引入了各种新功能以及隐私和性能改进,同时朝着Schnorr / Taproot协议升级迈出了一大步. 以下是一些较明显的更改. 描述符钱包 当硬币被发送到比特币地址时,实际发生的情况是,它们被“锁定”在未花费的交易输出(UTXO)中,如果条件隐藏在后面的交易中,则仅在随后的交易中被“解锁”(花费)。满足了UTXO的要求。典型的条件是包含与特定公共密钥相对应的有效签名。但是条件还可以例如包括密码,时间锁的失效或签名的组合(multisig)。. 直到现在,Bitcoin Core仍被设计为围绕着其对应的私钥管理其钱包中的UTXO,即使私钥只是花费硬币的几种潜在条件之一。相反,Bitcoin Core 0.21.0引入了“描述符钱包”。描述符钱包使用户可以根据使用它们的条件类型对他们的UTXO进行分类。 (例如:一个仅需要有效签名的用于UTXO的钱包,以及一个用于多签名UTXO的钱包。) 描述符钱包对于在Bitcoin Core之上设计软件的应用程序开发人员特别有用。现在可以轻松地将特定的应用程序设计为仅使用特定类型的UTXO,例如multisig UTXO,而忽略任何非multisig UTXO。. 常规用户现在也可能注意到差异,因为实现了描述符钱包。也许最值得注意的是,当启动新的Bitcoin Core节点时,不会创建任何默认钱包。取而代之的是,仅当用户明确选择这样做时才创建新钱包,从而允许他们仅创建特定所需类型的钱包。描述符钱包还更好地支持“仅观看”钱包:即使节点没有使用它们所需的私钥,也可以跟踪某些UTXO的钱包. 升级到Bitcoin Core 0.21.0的Bitcoin Core用户现在仍然可以使用其旧版钱包。 (旧版钱包最终将被弃用,这意味着用户将需要将其旧版钱包迁移到描述符钱包,但这在以后的Bitcoin Core发行版之前绝对没有必要。) 通过对等网络服务紧凑型块过滤器 “轻量级客户”是比特币钱包和应用程序,它们不下载并验证整个比特币区块链,而是仅下载并验证与它们特别相关的部分区块和交易。这不是最佳的安全性,但是资源消耗少得多. 一种流行的方法是使用布隆过滤器。简而言之,布隆过滤器是一种加密技巧,可以从网络上或多或少的随机对等节点中请求相关数据。但是不幸的是,多年来,很明显,布隆过滤器相当不注重隐私:它们实质上将用户的所有地址透露给(或多或少随机的)对等节点,这当然可以由侵犯隐私的人来操作。窥探. 布隆过滤器解决方案的一种更新且保留更多隐私的替代方法称为“紧凑客户端块过滤”(BIP) 157/158)。紧凑的客户端块过滤从本质上改变了Bloom Filter的窍门。完整的节点不是为轻钱包创建发送给完整节点的过滤器,而是为每个块创建过滤器,并根据请求将其发送给轻客户端。然后,轻量客户端使用这些过滤器来确定与它们相关的交易是否可能已包含在一个区块中。如果是这样,轻型钱包将获取整个区块并从中提取任何相关的交易数据。 (会有一些误报;即使过滤器建议可能,这些区块中也没有相关的交易数据。) 现有的Bitcoin Core版本可能已经在本地创建了筛选器,并可以通过远程过程调用(RPC)将其用于运行在节点顶部的应用程序(例如钱包)。比特币核心0.21.0现在还包含一个选项,可以根据要求通过比特币的对等网络使这些过滤器可用。这使得现在可以操作使用布隆过滤器的独立照明客户端. 重播次数更少 除了布隆过滤器,侦听器还可以通过网络分析破坏比特币用户的隐私。如果他们能够确定特定交易源自哪个节点,则可以将该节点的比特币地址绑定到其IP地址,该IP地址又可以与真实世界的身份相关联. 到目前为止,当比特币核心节点向比特币网络广播交易时,他们将尝试每十五分钟重新广播一次交易,直到将交易包含在一个区块中为止。这意味着,如果这些Bitcoin Core节点连接到侦听对等方,则对于侦听将很明显,尝试每15分钟重新广播某个交易的Bitcoin Core节点也是该交易发起的节点. 比特币核心0.21.0大大降低了它尝试重新广播交易的频率:每12到36小时仅一次。自从首次广播以来,不必频繁地重新广播就可以更早地确认交易,因此该节点根本不需要重新广播的可能性. 在未来的Bitcoin Core版本中,此隐私泄漏将被完全修复。然后,比特币核心节点将仅根据其自身的内存池和费用计算来重新广播应已确认的交易。此外,它还将重新广播其他交易,而不仅仅是自己的交易. Tor V3支持 由于最近对保留隐私的Tor协议进行了升级,新的V3(版本3)Tor地址比之前的V2(版本2)地址长。 […]
在首次激活会议中,比特币开发人员讨论Taproot的路径
Taproot于2020年10月合并到Bitcoin Core中,仅保留了这一备受期待的协议升级的激活方法,该方法专注于为比特币增加智能合约灵活性和更多交易隐私. 上周,比特币开发社区通过Internet中继聊天(IRC)聚集在一起,讨论了Taproot激活的参数以及BIP 8信令机制的两个代码提取请求(PR). “为了更接近终点线,我们将在2月2日(星期二)世界标准时间19:00在IRC的## taproot激活频道上组织一次会议,”比特币开发组织者Michael Folkson 通过bitcoin-dev邮件列表宣布. “主要目标将是最终确定修订后的BIP 8激活方法……” 最终,该会议提供了更多关于自SegWit可能向前发展以来比特币最重要的协议变化的见解。. 编者注:为清晰起见,对下面IRC中复制的语句进行了稍微编辑,但在编写时以其他方式显示. 修改提案 比特币开发商 安东尼·汤斯 已经编译了 提案和可能的方案 用于激活Taproot. 在2月2日的会议上, 似乎获得最多支持的是“ BIP 8(false,1y)”和“ BIP 8(true,1y)”。但是,没有进行表决,只是讨论了每种替代激活方法。. 但是,这是什么意思? BIP 8是一种允许通过软叉(特别是矿工激活的软叉或MASF)升级比特币网络中共识的机制,可以选择在一段时间后添加用户激活的软叉(UASF)。在最新的共识更新(SegWit)中,除了BIP 9的MASF外,还使用了用户激活的软叉(UASF)。但是,Taproot对于矿工似乎没有争议,因此这次不太可能需要使用UASF. 回到提案中,参数为“ lockinontimeout”和“ timeout”,其中lockinontimeout基本上表示是否将强制激活,而“ timeout”表示将在其中激活窗口。另一个没有引起足够讨论的相关参数是“ startheight”. 如果lockinontimeout为false,并且更新没有足够的支持,则会取消更新并定义新的投标。 (比特币开发者 卢克(Luke Dashjr) 将lockintimeout = false描述为为矿工提供了他们原本不希望拥有的额外权力), “如果您以(timeout = T,lockinontimeout = false)开始,则在碰到T时有三种可能性:激活失败,您尝试重新激活(例如timeout = T + 1year,lockinontimeout = true);在此之前,您告诉所有人将其软件切换为(timeout = T,lockinontimeout = true),此时您已将MASF升级为UASF,” […]
格洛丽亚·赵(Gloria Zhao)和布林克(Brink)将为比特币内存池提供升级
边缘, 由约翰·纽伯里(John Newbery)和迈克·施密特(Mike Schmidt)创立的新非营利组织,旨在培训和支持比特币开发商 宣布 赵凯莉 作为它的第一个伙伴。在本月从伯克利大学获得计算机科学学位后,赵将熟悉在Newbery的指导下对Bitcoin Core和相关开源项目做出的贡献。她为期一年的研究金来自于 方形加密 和 人权基金会. “对我来说,我想成为一名认真而长期的比特币核心开发人员,我认为这并不是一个极其罕见的兴趣,但是有很多技术和心理上的障碍需要克服,” Zhao告诉比特币杂志。 “在我的个人旅程中,拥有一个支持社区非常重要,总的来说,约翰表现出了浓厚的兴趣和能力,能够将新的贡献者培养成长期的贡献者。我加入Brink奖学金而不是资助的主要原因是他提供的指导。” 赵将特别关注包中继,这是对比特币未确认交易的处理的升级建议,可以改善比特币的用户体验,优化收费市场动态,并且可能最重要的是,使第二层协议(如闪电网络)更加健壮. 包装继电器 比特币节点的内存池(内存池)是已接收但尚未在区块中确认的交易的集合。节点将事务从其内存池转发到网络上的对等方,而矿工从其内存池中选择事务以包括在新块中. 内存池有大小限制。可以为每个节点配置此限制(Bitcoin Core节点的默认值为300兆字节),但是当该限制已满时,必须先从内存池中删除一些交易,然后才能添加新交易。当前,此选择基于费用:包含最低费用的交易将从内存池中删除,转而包含较高费用的交易. 这似乎是显而易见的解决方案,因为矿工通常在选择将其包含在区块中的交易时采用相同的策略:向他们支付最高费用的交易。但是,存在细微但重要的差异。为了使他们的收入最大化,矿工不仅会根据单个交易中包含的费用进行选择,而且还会根据彼此依赖的交易的合并费用进行选择. 从技术上讲,如果“父”交易将硬币从地址A发送到地址B,而“子”交易将硬币从地址B发送到地址C,则孩子无法确认父母是否也未确认。因此,矿工可能会选择将父母包括在一块土地中,即使它包含的费用非常低,只要孩子包含的费用足够高即可补偿. 有时,矿工基于交易集群而不是仅基于单个交易来进行选择非常方便。如果费用低的交易需要花很长时间进行确认,则接收者可以选择将未确认的交易中的硬币花在高费用的新交易中,以使双方都得到确认。此技巧称为“父母为孩子付钱”(CPFP). 在事务需要在时间锁定到期之前进行确认的情况下,CPFP尤其重要。最明显的例子是“正义交易”(也称为“罚款交易”),它是闪电网络安全的关键。这些交易需要及时确认,以防止恶意的Lightning渠道合作伙伴索取超过他们有权获得的资金。. 虽然CPFP可用于防止此类情况发生,但它并不总是有效. Zhao解释说:“在CPFP方案中,孩子的状况很好,但父母不符合内存池的最低政策,危险就来了。” “说Mempool太满了,以至于父母的费用低于Mempool中最低费用的交易。然后,双手被绑住。截至目前,验证逻辑并未考虑将CPFP用于此类交易。” 换句话说,如果节点由于没有足够的费用而从内存池中删除父事务,那么它们也将不会接受子事务:它花费了节点不知道的硬币。在闪电的情况下,这意味着无法及时确认司法交易,并且恶意渠道合作伙伴得以逃脱盗窃. 程序包中继可以通过对节点的内存池和事务中继策略进行更改来解决此问题,从而使其能够应用CPFP类型的逻辑。尽管实现细节尚待确定,但从本质上讲,它将允许相关交易的捆绑。比特币节点将接受并中继交易包,从而保护不符合内存池政策的交易. 赵: “ Package Relay将加强比特币的基础层安全保证,使比特币的生态系统可以通过闪电网络之类的协议安全地扩展功能和可用性。” 团契 Brink的为期一年的研究金计划在比特币行业中是独一无二的,它将帮助更多的开发人员为比特币项目做出贡献。研究金将由捐赠资助,而赵的计划将由Square Crypto(100,000美元)和人权基金会的比特币发展基金(50,000美元)的礼物资助。. Square Crypto是Square的比特币开发部门,Square是由Jack Dorsey(也是Twitter的联合创始人兼首席执行官)创立和运营的支付公司。除了聘请一小撮比特币开发人员团队外,其主要重点是 闪电开发套件, 到目前为止,Square Crypto已发行 19笔 到不同的比特币项目和开发人员。赵的Brink奖学金将是第20位. “ Brink正在创建同类首个比特币指导计划,我们希望提供支持。” Square Crypto负责人史蒂夫·李(Steve Lee)告诉《比特币杂志》。 “我们很高兴Gloria被选为第一个奖学金获得者,我们很高兴我们的资金将拨给她。打包中继项目对比特币非常有价值,对于安全性至关重要,并且与Square Crypto的目标非常一致。” 人权基金会(HFR)是位于纽约的非营利组织,在全球范围内促进和保护人权。今年早些时候,基金会启动了 比特币发展基金, 基于捐赠的基金,以支持使比特币网络更加私有,去中心化和弹性化的比特币开发商。赵的奖学金是人权基金会授予的第四笔赠款. HFR首席战略官Alex Gladstein表示:“ […]
RSK正在发展; Powpeg利用散列功率从比特币切换到侧链然后返回
RSK, 由以下人员开发的类似以太坊的比特币侧链 实验室, 不断发展。基于比特币多签名(multisig)地址的联合钉住机制正在迁移到通过RSK的新型专用硬件安全模块来利用散列功能的系统. IOVlabs首席科学家塞尔吉奥·德米安·勒纳(Sergio Demian Lerner)告诉《比特币杂志》:“我们对该版本感到非常兴奋,因为这是朝着比特币之上的完全去中心化智能合约平台迈出的一大步。” “这是生态系统所需要的。” 侧链和双向钉 比特币侧链是带有与比特币挂钩的代币的替代区块链。一个令牌总是可以交换一个比特币,因此它们的值应该相同。但是,可以使用不同的协议规则设计侧链。 RSK侧链使用以太坊的许多规则,从而实现了图灵完整的智能合约. RSK由所有比特币矿工的子集合并开采,目前大多数比特币矿工(通过哈希算力)参与其中。他们利用现有的哈希功能来生成侧链区块,并通过这样做获得一些额外的交易费用。. RSK令牌被称为“ RSK上的比特币”或rBTC,通过将比特币锁定在比特币区块链上的多重签名地址中以发行相等数量的rBTC,由比特币区块链(BTC)上的实际比特币一对一支持。在RSK(“插播”)上。这通过称为“桥接合同”的RSK智能合约来实现,该合约可跟踪比特币multisig地址。仅当通过将等量的rBTC发送回RSK桥接合同而锁定了等量的rBTC时,才发生BTC解锁(“挂出”)的情况。. 一个由知名加密货币企业组成的“联合会”正在掌握比特币multisig地址的密钥。 (这 原始公告 由24家公司组成,目前未知。)他们被集体信任,只有等量的rBTC被锁定时,才可以从multisig解锁BTC。但是从技术上讲,他们可以串通并窃取多重签名地址的内容,从而使rBTC持有人无法选择将其侧链令牌交换为真正的比特币. 在新的RSK升级Powpeg中,多重签名将由一大批知名公司(称为“ Pegnatories”)控制。每个Pegnatories运行一个专用的硬件安全模块,其中包含签名密钥(称为“ PowHSM”)。仅当通过将等价的rBTC发送回RSK桥合约来锁定等价的rBTC,并且该RSK交易具有4,000个确认(约等于200个比特币确认)时,这些模块才会从multisig解锁比特币。硬件模块通过检查RSK来确保挂出交易具有4,000个RSK确认 简化付款验证 (SPV)证明. 没有4,000个RSK确认,或者没有大多数PowHSM持有者的合作,比特币将停留在多重签名中。 (Powpeg被IOVlabs称为“民主”。) Lerner说:“ Powpeg对安全性采用深度防御方法,堆叠安全性层,例如固定出的比特币哈希率确认。” “这使我们能够实现具有透明且可审核的延时访问的独特的多签名库。我认为这非常重要,因为分散化的金融系统必须建立在最强大的安全基础上。” 将在接下来的几周内宣布将成为Pegnatories的知名公司的身份。之后,可以开发其他技术以进一步分散钉的权力,包括无害地引入竞争钉的能力. RSK RSK的前身是“ Rootstock”,于2018年1月推出。侧链目前支持以太坊支持的所有交易类型和智能合约。这也意味着它支持任何可用于以太坊的编程语言,例如Solidity,Julia和Vyper。. 在以太坊社区中,随着用户可以借用,借出和交易硬币的去中心化金融(DeFi)解决方案日益普及,IOVlabs希望通过RSK将这些用例带入比特币中. 勒纳: “我们认为RSK应该是比特币选择的DeFi平台。我们致力于权力下放和安全的生态系统精神和思维方式,并希望向所有人提供比特币和基于比特币的金融机会” 随着Powpeg代表着将RSK侧链去中心化的又一步,IOVlabs仍计划最终将RSK转变为驱动链:完全由哈希功能保护的侧链,为此,有两个比特币改进提案(BIP) 是 建议的. 取代联邦系统(带有或不带有安全元素)的是,仅在散列功率的基础上,在比特币的区块链和侧链之间“移动”硬币。 Lerner表示,将当前的RSK设计更新到驱动链将非常容易. 有关Powpeg的更多信息,另请参见 这 塞尔吉奥·德米安·勒纳(Sergio Demian Lerner)的中级帖子.
比特币的2020年技术
比特币的技术社区似乎在2020年的疯狂中似乎并未受到干扰,并且在很大程度上并未因比特币的疯狂价格波动而疯狂,价格波动最终在12月创下了历史新高。随着软件的优化,漏洞修复和隐私漏洞修补,比特币的软件及其周围的许多项目在这一年中逐渐得到改善。尽管这项工作至关重要,但大部分工作并没有引起头条新闻. 然而,对比特币一年来的技术发展的鸟瞰图有助于凸显比特币持续的技术进步中的新里程碑。同样在2020年,持续增长的比特币开发社区引入了许多有用的新功能,一些特别重要的升级以及一些特别值得注意的改进. 在今年动荡的一年即将结束之际,这些是过去12个月中比特币最引人注目的技术发展中的一些…… 带有PayJoin和CoinSwap的新隐私工具 在比特币的隐私方面,今年的PayJoin和CoinSwap项目代表了两个有希望的进步. PayJoin,也称为“向终端付款”(P2EP),是一种技巧,它使交易的接收者可以通过CoinJoin参与交易,从而基本向自己发送资金,同时还可以接收来自真实发件人的实际付款。如果一个窥探者在进行区块链分析时假设交易中发送的所有硬币都属于同一个人-通常 将 -他们会错的。这已经有利于发送者和接收者的隐私,因为侦听会混淆(过去)它们之间的硬币所有权。此外,如果有足够多的人使用PayJoin,那么这种对区块链分析的重要启发就完全没有用了,反过来甚至使那些自己不进行PayJoin交易的人的隐私也受益。. 尽管PayJoin工具的演示版本已经在2018年末实现了在线赌博游戏Bustabit和硬币混合软件JoinMarket以及2019年Samourai Wallet的实现 已发布 PayJoin是Cohoots保护伞下自己的(更有限的)版本(隐私权衡略有不同),今年已在多个受欢迎的比特币项目中实施。这尤其包括广泛使用的付款处理软件BTCPay 四月, 允许BTCPay用户接受兼容钱包中的PayJoin交易。注重隐私的Wasabi钱包是第一个提供这种兼容性的钱包 同月下旬, 而JoinMarket(九月),蓝色钱包(十月)和麻雀钱包(十一月)在今年晚些时候. 同时,比特币开发商Chris Belcher着手实现CoinSwap(一种隐私技术)的实现 首先提出 在2013年由比特币核心贡献者Gregory Maxwell撰写。 CoinSwap充分利用了Atomic Swaps(原子交换)(这也是Lightning Network的基础),使用户无需彼此信任就可以交换硬币。每个用户最终都会获得无法链接到他们自己的交易记录的硬币. 贝尔彻(Belcher)是全球比特币隐私方面最重要的专家之一, 可能 发布了有关如何实现CoinSwap协议以确保最大程度的隐私的详细概述。该提案将使CoinSwap交易与其他交易无法区分,使用拆分技术来掩盖金额,通过路由支付来挫败窥探参与者。几个月后,6月,人权基金会宣布,其首个比特币开发补助金将拨给Belcher及其为实现该项目所做的努力. 在一年中的大部分时间里,贝尔彻(Belcher)都在执行方面的工作 宣布 “比特币隐私和可替代性的重要一天”:他在比特币测试网络(testnet)上进行了有史以来首次成功的CoinSwap交易. Watch望塔(及更多)使闪电网络变得更加强大 闪电网络是比特币的第2层协议,可实现更快,更便宜和更多的私人支付,该网络在2020年继续得到全面改善。 七月 — Electrum推出了许多新软件版本,并且在协议之上构建了越来越多的项目,Lightning开发比以往任何时候都更加活跃。在更显着的发展中,Watch望塔解决了闪电网络尚存的弱点之一,从而产生了更强大的协议. 闪电网络的一项权衡取舍是,用户需要密切注意其支付渠道,以确保支付渠道合作伙伴不会通过广播旧的渠道国家要求获得的资金超过应归因于他们的渠道来作弊。如果渠道合作伙伴试图作弊,闪电用户可以介入,但这确实需要监视比特币区块链,而临时用户可能不会经常这样做. 为了降低错过作弊企图的风险,闪电协议允许将频道监视工作外包给公正的观察员,即Watch望塔。在2019年底之前添加到LND推出的第一个Watchtower软件中, 二月 今年的第一天,专门发布了守望台实施《中目之眼》的Alpha版本。不久之后,建议 望塔协议规范 进行了更新,而C-Lightning在2007年推出了对Satoshi Eye的支持 可能. 紧随其后的是《聪之眼》的第1版 七月. 2020年闪电的其他显着发展包括 锚输出 确保即使上次付款渠道更新以来链上费用已超过预期,用户也可以单方面从渠道索取资金, 多路径支付 允许用户以较小的块数进行Lightning付款,Lightning Network本地消息传递应用程序 剑圣, 渠道管理工具 法拉第, Lightning […]
概述低带宽比特币的未来
需要为唯一的计算设备是智能手机并且居住在移动互联网接入所在的地方的人们增强比特币生态系统 昂贵的, 缓慢,不可靠或 审查. 塞内加尔比特币开发人员 福迪·迪奥普(FodéDiop) 已经指出,世界上许多地区都是“仅移动设备”,而不仅仅是“移动设备优先”。 允许用户保留用于签名交易的私钥控制权但不充当完整比特币节点的移动钱包应用程序通常被称为“轻型”客户端。轻型客户端需要权衡隐私和最小化信任,以减少所需的内存,持久性存储和通信带宽。本文重点介绍如何最大程度地减少在手机上运行的轻客户端钱包所使用的带宽. 轻客户端的带宽要求比完整节点低得多,因为它们不下载完整的比特币区块链。相反,轻度客户使用某种形式的“简单付款验证”(SPV)以确认交易。自从创世区块以来,SPV钱包并没有直接确认添加到比特币总账中的每笔交易的有效性,而是仅确认与该钱包相关联的特定交易已添加到一个区块中,并且该区块是带有区块链的区块链的一部分。确保安全的大部分工作。 SPV钱包假设但不验证大多数诚实矿工只会贡献工作来扩展遵循比特币共识规则的交易所构建的区块链. 在本技术讨论中,我们研究了轻型客户端带宽要求以及设计用于在有限的Internet连接下运行的轻型客户端所存在的微妙的安全性和隐私权衡. 轻量级客户的权衡 用户最安全的解决方案是使用自己的比特币完整节点运行并确认付款。但是,在人们依赖相对昂贵或不可靠的计量互联网连接的国家(最需要比特币的审查抵制)与那些人们不太可能拥有技术或财务资源来运行比特币完整节点的国家之间存在某种关联。在世界许多地方,由于带宽成本,比特币用户别无选择,只能使用在线托管比特币钱包。使用低带宽,仅限移动的轻客户端可以充当最终运行专用的完整节点的中间步骤. 托管比特币交易所的一个优势是,它们对用户隐私和资金的风险与其他可信赖的支付提供商(如PayPal和Western Union)的风险非常相似。轻量级客户钱包需要对使用匿名公共节点和复杂的对等协议产生的安全性和隐私权衡进行更细微的了解。. 还有一种观点认为,轻客通常会对比特币网络有害。随着越来越多的人运行轻量客户端,它增加了为它们服务的公共完整节点的带宽和计算需求。这可能导致公共完整节点(尤其是为轻型客户端提供信息的节点)数量减少。如果所有轻量客户端都依赖一小部分公共完整节点,那么如果这些完整节点合谋反对它们,则它们的安全性和隐私可能会受到损害。. 我们认为,如果轻客也直接与其他轻客交换数据,则对比特币网络的影响可以降至最低。轻型客户端的激增最终将导致更多的用户运行全节点,特别是在连接成本更高且个人计算机未被广泛使用的发展中国家. 网络层 轻客户端必须支持许多与比特币完整节点相同的网络协议层。两者都从直接与一组初始的比特币节点通信开始。他们从这些初始节点交换比特币网络中其他节点的地址. 轻客户端和完整节点都必须向其同行学习有关工作量证明的安全性,并将替代的区块链技巧连接回创世纪块。完整节点与轻客户端的主要区别在于它们共享有关交易的信息的方式。完整节点交换有关区块交易的信息,并独立验证新区块是否遵循比特币的共识规则。轻客户端仅确认特定交易存在于由完整节点确认的区块中. 连接性 与通常用于完整节点的固定成本有线互联网连接不同,移动电话使用计量互联网连接,因为在互联网上传输大量数据可能会非常昂贵。手机的电池也用完了,电池在传输数据时会更快地用完。他们也无法直接利用需要固定卫星天线或大型无线电天线的广播数据源. 与具有固定电源和数据连接的节点相比,移动设备确实具有一些弹性和隐私优势。他们可以在离网或断电的情况下运行,在某些地区可以匿名购买预付费的互联网订阅。当移动设备四处移动时,它们可以通过ad-hoc网络连接到不同的本地对等设备,从而获得抵御隐私和审查的能力. 专为手机设计的轻型客户端应允许用户配置要使用多少移动带宽,并知道何时重新分配数据或即将终止数据分配。当可用于带宽密集型任务(例如下载块以保持计量带宽)可用时,应选择使用其他未计量的本地连接(例如WiFi热点). 同行 全节点和轻客户端都依赖强大的功能 对等发现 确保它们连接到一组诚实的对等节点的过程。比特币节点最初会连接到预设的种子节点,但必须始终发现新的对等节点,以保持与“诚实的”比特币网络的连接。比特币核心全节点软件已经开发了强大的启发式方法来缓解 蚀攻击 与恶意对等节点断开连接,并与行为异常的节点断开连接。由于对等方地址每个只有30个字节,因此轻客户端可以使用与完整节点相同的启发式方法来频繁地向多个对等方查询新地址. 防止与诚实的比特币网络隔离的最佳方法是维持庞大,持久和多样的对等连接。为了帮助延长电池寿命,轻型客户端软件应注意不要太频繁地唤醒手机,以免闲聊对方地址或执行其他任务。轻客户端应在相同的固定时间间隔与对等方进行同步,以最大程度地减少电池使用量和对等方断开连接. 块头 完整节点和轻客户端安全性都取决于发现区块链的链梢的能力,而链梢的工作最多。此过程开始于向所有对等方查询最新消息 块头 他们知道区块链。节点可能需要在不同点查询其对等点,以在它们首次不同意哪个链叉正确时找到该点。轻客户端还应验证其收到的每个块标题的工作量证明,时间戳,Merkle根和先前的标题块哈希,并禁止提供无效块标题的同级。完整节点还可以在下载块之前验证标头,以防止拒绝服务(DoS)攻击. 确定规范的链提示后,轻客户端可以将区块头同步回去,以确保链提示连接到比特币创世区块-大约50 MB的数据。某些使用慢速连接或计量连接的轻客户端最初可能仅将块标头加载回检查点,而不是创世块。完整节点应始终同步所有块标头。在检查了整个标头链之前,应警告用户接受付款的风险。轻客户端和完整节点必须继续从每个对等方下载80字节的块头,以与增长的区块链保持同步,并向多个对等点查询块头,以确保它们始终遵循当前最佳的块头链。. 现代轻型客户钱包可以使用以下功能检测他们跟踪的交易何时出现在区块中 BIP-157 块过滤器。像块标题一样,轻客户端也查询其对等方,以确定过滤器标题链的当前提示。 BIP-157轻型客户端每个块下载32个字节的块过滤器标头,以与块过滤器标头链保持同步。在对等方之间关于正确的过滤器标头链存在分歧的情况下,轻客户端可以下载相应的块,以确定哪个对等方遵循正确的链。轻客户端应忽略包含无效标头的块过滤器链和提供无效块或过滤器头的黑名单同级物. 阻止过滤器比不推荐使用的过滤器提供更大的隐私 BIP-37 布隆过滤器系统,因为轻客户端不会泄漏到他们感兴趣的事务的整个节点。块过滤器的扩展性也比布隆过滤器好。因为每个块仅生成一个块过滤器,所以一个完整的节点只需要恒定的计算量即可为多个轻客户端对等方服务。轻客户端本身也可以帮助中继块过滤器和八卦块过滤头,以增加每个完整节点支持的轻客户端对等体的数量。. 轻客户端至少需要对可能包含相关交易的区块进行区块过滤。过滤器大约每个块15 KB,因此对于需要六个块(大约一小时)进行确认的交易,轻型客户端将需要下载90 KB的过滤器数据以指示该事务出现在哪个块中。第二层协议的情况,例如 闪电网络, 除非另有说明,否则监视交易的期限是无期限的 望塔 正在被使用。 t望塔对于移动设备上的轻客户端特别有用,因为它们很可能长时间处于离线状态,并且带宽有限. 交易次数 仅块的完整节点 为了减少带宽消耗,可以将完整的节点配置为使用 […]