BIP47: 分层确定型钱包的可重复使用的收款码
翻译:DeepL 校对: 李林
比特币在协议层面上没有实现隐私保护。一个人存储、交易或以其他方式使用比特币,是保持几乎匿名和让有动机的旁观者永久访问其交易历史的区别。1
可惜的是,实现更强的隐私往往会导致更不方便。老手会说绝对不要重复使用收款地址,但对于懒惰/不懂技术的人来说,生成一个新的地址给别人确实麻烦。
开启 BIP47 钱包
BIP47,分层确定性钱包的可重复使用的收款码,是由Justus Ranvier在2015年提交的。如标题所示,它为现有的分层确定性(或HD)钱包结构增加了功能–特别是通过概述一个促进各方之间重复付款的系统(同时保护他们的隐私)。
分层确定性钱包使用户更容易获得隐私,通过导出公钥而不泄露 “主"钥(或xpub,这应该是保密的)。这些公钥的数量几乎是无限的,可以创建并发放给交易方,他们只能收集某个特定密钥所持有的数量(而不是钱包的全部内容)。
到目前为止,一切都很好。你避免了经典的 “XYZ得知你持有多少钱,现在你的生命处于危险之中 “的情况,而且你可以更有效地划分你的活动,而不必不断地在不同的钱包应用程序中轮换。
可以肯定的是,这是一个纯粹的改善,但当涉及到频繁交易时,仍然不够好。良好的做法是,每次收款都使用一个新的地址,因此不断地重新发放新收款地址会很快变得不方便。
解决方案
BIP47的实施为那些寻求与同行建立经常性支付渠道的人增强了分层确定性钱包的功能,为他们提供了可重复使用的收款码。如果你想打一个可怕的过度简化的比方,支付代码有点像那些Handcash的现金标签,你的朋友可以向他们支付。
我很快会详细说明。首先有几件事要澄清–你不依赖一个受信任的第三方,你在技术上没有向收款码转币,而且它仍然只是一长串字母数字字符(但你现在应该已经习惯了。 如果你不习惯,欢迎来到比特币!)。
要记住的关键是,这些支付代码可以在每次交易中重复使用而不损害隐私,因为币每次都被发送到一个新的链上地址。正如Ranvier在2015年BitcoinTalk的帖子中所说,一个收款码将能够把资金输送到40亿个不同的地址。
它们与其他隐形地址的实现有些不同(Kyle Torpey在这里做了一个很好的比较)–其中一种表现方式是通过使用链上的 “通知交易 “来建立与同行的支付渠道。
在资金可以来回传输之前,发送方会向接收方的监听地址广播一个特殊的交易(使用OP_RETURN),这就启动了通道。通过所有这些在链上的滚动,用户可以恢复他们的渠道,在发生灾难的情况下,只要他们保持一个备份(再次,你无疑是习惯了)。
In the Wild
目前,令人惊讶的是,只有少数软件实现这个功能。Samourai Wallet和Billion是我想到的(Stash Wallet也标榜支持,但它跑不起来)2。在常规功能的基础上,后者进一步实现了使用BIP47的私人消息,而前者则在PayNyms的标准基础上实现了更好的UI/UX。
封面艺术修改自Pixabay。
-
英文原文是:Bitcoin privacy isn’t something guaranteed at the protocol level. How an individual stores, transacts or otherwise uses Bitcoin is the difference between remaining virtually anonymous and providing motivated onlookers with permanent access to their transaction history. ↩︎