木星链 木星链
Ctrl+D收藏木星链
首页 > SHIB > 正文

比特币:比特币技术周报丨Schnorr签名随机数生成为何弃用RFC6979 ?

作者:

时间:1900/1/1 0:00:00

写在前面:这期的比特币技术周报,我们先讨论一个关于比特币最小允许交易大小的问题,然后是一些新的技术问答,比如关于taproot输入大小、Mempool300MB限制以及Schnorr签名nonce生成的问题,最后则是关于比特币基础设施软件的一些重大更新。

(图片来自:tuchong.com)

注:原文内容来自BitcoinOptech

一、关于最小比特币交易大小的讨论

ThomasVoegtlin在比特币开发者邮件列表中发表了一个帖子,介绍了如何创建只有60字节大小的剥离交易。而目前的情况却是,BitcoinCore拒绝中继或产生小于82字节的交易。对此,GregorySanders指出,这个限制规则的原因是为了解决CVE-2017-12842漏洞,而攻击者可利用该漏洞将一笔精心编制的64字节交易纳入到一个区块中,然后使用它诱使SPV钱包确认一笔或多笔其他任意交易。

巴西民众对比特币价格的搜索热度创历史新高:6月27日消息,Google Trends数据显示,巴西民众对比特币价格的搜索热度创历史新高,或与巴西央行允许当地加密货币交易所Mercado Bitcoin参与该国央行CBDC试点有关。[2023/6/27 22:01:57]

正如第36期周报中所述,通过禁止小于65字节的剥离交易,用共识软分叉提议永久性地消除了执行该攻击的能力。

在描述了这一规则的动机之后,GregorySanders询问该规则是否可简化为只禁止大小正好为64字节的剥离交易。zmncpxj回答称,64字节以下的任何规则都可能会存在漏洞,而65字节或更大的规则则似乎很好。

二、来自比特币StackExchange的精选问答

问题1、单签名和2-of-3多重签名的taproot输入大小是多少?

Murch答:

taproot通常有两种使用方式。默认方式是使用密钥路径使用输出,则其行为类似于p2pk输出,除了它使用了schnorr签名以及使用bech32编码的相应地址。

而另一种方法就是多重签名。

萨尔瓦多总统发布以火山再生能源为动力的比特币挖矿规划图:萨尔瓦多总统纳伊布·布克勒 (Nayib Bukele) 在Twitter上分享了该国目前正在建设的以火山再生能源为动力的比特币挖矿规划图。这位千禧一代领袖写道,萨尔瓦多“即将到来”“干净的哈希率”。萨尔瓦多有 23 座活火山,地表下的热能可以产生能够发电的强大蒸汽。尽管是中美洲最小的国家,萨尔瓦多却是世界上最大的地热能源生产国之一。事实上,地热发电占该国总发电量的四分之一,未来,这个热带国家可能会吸引那些世界各地的矿工前来挖矿。[2021/6/23 23:59:37]

实际上,2-of-3多重签名的使用条件被分为3个2-of-2条件:

2-of-{A,B,C}=(A&&B)||(A&&C)||(B&&C)

假设是其中两个密钥是热的,而第三个是用于恢复的备份密钥。使用这两个热密钥进行花费的默认情况是使用MuSig聚合到根路径pubkey中。使用备份密钥的另外花费条件存储在树的子叶中。目前有两种变体:一种是备份密钥能够参与MuSig签名,另一种是退回到更简单的多重签名方案,其中签名是非交互的。

比特币站上52000美元/枚,日涨幅扩大至7.17%:行情显示,比特币站上52000美元/枚,日涨幅扩大至7.17%。[2021/3/3 18:12:12]

此后,Murch还给出了

相关的成本计算过程和结果。

问题2:比特币交易存储池超过300MB会发生什么?

问题具体描述:目前比特币的交易存储池大小为108MB,根据趋势来看,它正在慢慢接近300MB,据说这也是BTC交易存储池的限制。那达到300MB之后会发生什么?

Murch答:

每个节点都会维护一个单独的交易存储池,虽然默认值是300MB,但每个节点运营者都可以设置自己的值。mempool限制不适用于序列化数据,而是与节点上反序列化交易数据的实际存储使用情况有关,而这个存储使用情况取决于平台。

当达到节点的mempool限制时,它将放弃费用率最低的交易,并增加其minMempoolFeeRate。它将把新的minMempoolFeeRate传达给对等节点,基本上是告诉对方暂时不要转发低于该费用率的交易。请注意,每个节点都单独执行此操作,因此具有较大mempool或不同体系结构的节点可能会在不同的时间丢弃交易。节点将保留与其自己的钱包相关的交易副本。即使所有其他节点都放弃了交易,交易的发送者和接收者也将保留副本。发送者可以强迫其节点丢弃原始交易并发送另一笔有冲突的交易以对其进行更新,或者发送者的节点将继续尝试广播该交易,以便在拥堵过去后最终在网络上再次中继该交易。

USDT占比特币交易比重约为61.78%:金色财经消息,据cryptocompare数据显示,目前比特币交易情况按照交易币种排名,排名名第一的是USDT,占比为61.78%;排名第二的是美元,占比为13.17%;排名第三的是日元,占比为6.22%;排名第四的是CNYT,占比为5.02%;排名五的是欧元,占比为3.67%[2020/10/10]

在拥堵过去并经历一些延迟之后,节点会降低它的minmempoolferate,并再次开始接受它以前拒绝的那些交易。

问题3:为什么不使用RFC6979生成schnorr签名的nonce随机数?

问题具体描述:在阅览

Schnorr签名的BIP时发现,RFC6979变体并没有被用于Schnorr签名的nonce生成,而是采用了新的生成途径,这是什么原因?

对此问题,PieterWuille解释称:

“原因有很多,首先,RFC6979并不便宜,而且相当复杂,计算单个候选nonce,需要22次调用SHA256压缩函数。哈希很快,但这实际上相当于哈希1400字节,与签名时间相比,这不再是微不足道的。而它的目的是实例化一个众所周知的PRNG以生成候选nonce随机数,但这对我们来说开销过高。

动态 | 投资比特币3万元“消失”,女大学生起诉男友要求赔偿:去年11月至今年2月,西安一名女大学生张某在男友李某指导下支付了3万元购买DC币,想通过置换为比特币的方式进行投资,可几个月后,张某发现自己账户中没有上述两次的交易记录,找到男友询问。李某表示,他确实已经替张某购买了DC币,至于为什么不存在交易记录,他并不知情。两人为此争执不休,就此分道扬镳。今年6月6日,张某起诉至法院,要求李某赔偿其3万元,并支付利息。未央区法院经审理认为,根据中国人民银行等部门发布的通知、公告,虚拟货币不是真正意义上的货币。DC币应当是一种特定的虚拟商品,不能且不应作为货币在市场上流通使用,公民投资和交易DC币这种不合法物的行为虽系个人自由,但不受到法律的保护。因此张某与李某之间的委托行为应属无效,所造成的后果应当由张某自行承担。(华商网)[2019/7/21]

secp256k1有一个有趣的性质,它的grouporder可以非常接近2^256,因此完全不需要PRNG,一个单独的哈希就足够了,这样复杂性就更低,并且时间也是恒定的。

一个更简单的替代方法是Ed25519所使用的,其中单个SHA512调用生成一个512位数字。我们的构造是不同的,但灵感来自于此,一些更改的地方是:

我们不需要512位的哈希以及模降低,因为曲线order接近2^256,因此我们可以直接使用256位哈希,而不需要缩减;

我们担心签名者的公钥来自不受信任的输入实现。GregMaxwell在密码学邮件列表上就此问题展开了讨论:https://moderncrypto.org/mail-archive/curves/2020/001012.html,并收到了DJB等人的回复。我们通过在nonce生成中纳入公钥来解决这个问题。

我们正尝试通过鼓励合成nonce来防御错误攻击和差分功率分析攻击。RFC6979也有一个支持此功能的变体,但由于我们使用了线性派生的私钥,因此,DPA攻击更难防范,标准解决方案可能不适用。请参阅此处的开发者讨论贴:https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-March/017711.html

三、比特币主要基础设施的更新

BitcoinCore0.20.0rc2是下一版BitcoinCore软件的最新候选版本;

LND0.10.1-beta.rc2是下一个LND维护版本软件的最新候选版本;

除了这些之外,本周BitcoinCore、C-Lightning以及LND还发生了一些显著变化。

BitcoinCore#18956使用了Windows系统上的API,这就要求使用Windows7或更高版本的系统。自2018年10月发布BitcoinCore0.17以来,所有版本的发行说明都明确提到,使用Windows系统运行core节点,至少是Windows7或更高版本的系统。

BitcoinCore#18861阻止节点针对尚未宣布给请求对等方的交易回复P2P协议getdata请求。这可以防止监视节点绕过BitcoinCore现有的隐私增强行为,即在向每个对等节点宣布新交易之前,等待稍长的时间,从而使每笔交易都使用不同的路径在网络中传播。

BitcoinCore#17681允许钱包内部为BIP32HD钱包种子获取新地址,即使该种子不再是钱包的活跃种子。这样,即使节点正在执行初始区块链下载,也可以安全地使用sethdseedRPC切换到新的HD种子。更新的代码,确保钱包可以看到以前从旧HD种子获得的地址的任何付款。

BitcoinCore#18895使用unbroadcast字段更新返回有关mempool中个人交易数据的RPC,该字段指示本地节点的任何对等节点是否已请求交易副本。此外,getmempoolinfoRPC将使用unboadcastcount字段更新。为了保护隐私,只有当交易由节点的钱包或sendrawtransactionRPC提交时,才会跟踪该交易的广播状态。

BitcoinCore#18677增加了一个新的--enable-multiprocess生成配置选项,它将在现有bitcoind和bitcoin-qt二进制文件存在的同时生成额外的二进制文件。目前,新的和旧的二进制文件之间的唯一区别,在于它们的名称。但如果PR#10102被合并,新的二进制文件将把node、wallet和GUI的功能分割成单独的可执行文件,并在必要时相互通信。默认情况下,生成选项当前处于禁用状态。最近一篇关于多进程子项目的文章,请参见第39期周报。

BitcoinCore#18594允许bitcoin-cli-getinfo输出多钱包模式加载的每个钱包的余额。

C-Lightning#3738利用libwally的PSBT支持,增加了对BIP174部分签名比特币交易的初始支持。用户唯一能够看到的变化是,txprepareRPC返回了交易的PSBT形式,但是PR在GitHub上被标记为努力为新通道提供双重资助。

LND#4227从各种程序包中删除了原始私钥处理,为硬件钱包签名的支持铺平了道路。

标签:比特币TCOCOINbitcoin闪电比特币LBTC为何不涨chatcoin币最新消息Zirve CoinWrapped Bitcoin

SHIB热门资讯
FIL:军备竞赛下,矿工如何低成本获得400万Filecoin币奖励?

来源|默尔财经近日,Filecoin官方发布了二测奖励计划,奖励金额预估400万Fil币,按照目前期货价格100元来计算,大约4亿人民币,奖励覆盖六大洲的矿工.

1900/1/1 0:00:00
区块链:中国电信梁伟:未来央行数字货币与第三方支付方式或长期并存

本文来源:证券日报记者:李冰5月26日,央行行长易纲在接受媒体采访时表示,目前,数字人民币研发工作遵循稳步、安全、可控、创新、实用原则.

1900/1/1 0:00:00
STA:StarkEx解读:自主托管型方案,是加密交易的未来吗?

本文来源:金色财经,原题《金色荐读|StarkEx:加密交易的未来》作者:Maxwell按:2020年6月4日,零知识证明开发机构StarkWare在以太坊主网上线了扩展性引擎StarkEx.

1900/1/1 0:00:00
DEFI:DeFi发币潮或开启:前有COMP上线暴涨,后有交易所“强上”DF

近日,DeFi项目好不热闹,前有COMP上线暴涨,后有交易所强上DF,而且这两个项目均最高暴涨近400%。dForce创始人杨民道对巴比特表示,DF将于两周内发布白皮书,敬请期待.

1900/1/1 0:00:00
区块链:案例分析 | 如何设计一个区块链公益平台?

本文来源:人人都是产品经理,作者:星二驰,原题《区块链能给公益带来什么?》本文基于一个区块链公益平台,侧重从产品角度思考反馈和激励在公益产品中的应用,利用个体自私的心理达成了公益氛围的持续向上.

1900/1/1 0:00:00
DAO:四年前曾将以太坊逼到鬼门关,如今它因Defi而重生

前言:四年前,TheDAO的横空出世,让世人第一次重视DAO的概念,而它的崩溃,也逼迫尚未成熟的以太坊在鬼门关走了一回.

1900/1/1 0:00:00