近日,比特币核心开发人员Amiti Uttarwar正在努力修改比特币交易的重播逻辑,以增强网络的隐私功能,该提议的变更还将减轻黄昏攻击的风险。
Amiti Uttarwar是比特币核心团队的一个相对较新的成员,于2019年10月首次被聘为加密货币初创公司Xapo的比特币核心开发人员。她现在的主要重点是拟对比特币的重播逻辑进行更改的建议,
当用户发起比特币交易时,他们需要广播交易-这意味着他们必须向其对等方发送INV消息,并确保该交易位于其他人的内存池或内存池中。但是,初始广播并不总是通过的。例如,中继可能存在问题,或者当其他交易的费用较高时,交易可能会从内存池中撤出。如果出现此类问题,用户将不得不发送另一条INV消息并将其重新广播给其对等方。
Uttarwar说:“当前的重播逻辑对于隐私而言是可怕的,”他解释了她提出变更提议的动机。
在当前系统下,只有源钱包会重新广播交易。如果一个间谍节点看到来自同一节点的同一笔交易的两条INV消息,则可以推断出该节点是源钱包,这为粉尘攻击的漏洞留下了空间。
当攻击者将少量的BTC发送到许多不同的地址并观察各种钱包的重播行为时,就会发生粉尘攻击,从而破坏了网络的隐私功能。
Uttarwar提出的机制将通过具有更私密的重播行为来迁移此漏洞,该行为不会泄露交易的源钱包。如果实现了她的替代设计,那么所有节点将转播他们认为“应该已经确认”的转播,而不仅仅是源钱包发送转播信号。
另一个重大更改涉及一种机制,该机制可以跟踪一个人可以重新广播过渡的最大时间。Uttarwar还指出过多的带宽使用是其设计选择背后的潜在问题之一。
为了避免出现全网范围的极端带宽尖峰,采用了一些预防机制,包括每个节点的重播定时的泊松分布和用于重播候选对象的过滤逻辑。
关于具体变更部分筛选信息如下:
背景:
当前,仅当节点是源钱包时,节点才会重新广播交易。因此,重新制作了重播逻辑,以提高隐私性。
变更概述
钱包将直接向节点提交未确认的TXN,而不是钱包直接将交易中继给对等方,并且节点将应用逻辑来触发TXN重播。该节点将对所有交易应用转播条件。钱包将尝试在计划的计时器上将未确认的交易重新提交给该节点。仅当txn在被挖出之前从本地内存池中删除时,这才有用。内存池跟踪本地提交的事务(钱包和rpc),以确保成功重播。成功定义为接收GETDATA到txn的a。
新的转播条件(部分):
当需要重新广播时,请计算大于30分钟的热门交易。
过滤出收费率<缓存的收费率的txns
剩余队列设置发送给对等体
从钱包到节点的重新提交尝试的频率->钱包每天重新提交一次
触发转播的频率->一次/小时
定义最高优先级的交易(潜在的txns要重播的内存池的顶部)->基于打包费率的3/4块txns
定义“最近的”交易的含义->仅在txn的时间早于30分钟时才重播。
费率缓存频率-> 20分钟