匿名币的技术之争是非常有意思的,比如KMD核心开发者DukeLeto刚发表了一篇博客文章,披露了关于Zcash及其多数分叉币存在的漏洞,而这个漏洞可能会泄露使用屏蔽地址的全节点?IP地址。
其还为此分配了一个通用漏洞披露编码CVE-2019-16930来跟踪这一问题。
太长不看:自Zcash和Zcash协议建立以来,所有屏蔽地址都存在着一个漏洞。它出现在所有Zcash源代码分叉中,这使得攻击者可利用它找到拥有屏蔽地址全节点的ip地址。换而言之,如果Alice给Bob一个屏蔽地址用于支付,实际上可允许Bob发现Alice的IP地址,这与Zcash协议的设计是违背的。
受影响的群体:
所有使用屏蔽地址以及与第三方共享屏蔽地址的人,例如:
如果你在社交媒体上公开发布了你的屏蔽地址;
如果你在github/email/IRC的漏洞报告中给出了你的屏蔽地址;
如果你曾把自己的屏蔽地址告诉了交易所、矿池或企业;
加密隐私货币协议Zcash NU5升级在主网上激活,增强隐私并消除可信设置:6月1日消息,加密隐私货币协议 Zcash 的 NU5 升级于区块高度 1687104 (约北京时间 1:56)在主网上激活。Zcash 表示,NU5 是自 2020 年 11 月以来的首次重大升级,此次网络升级包括 Halo 零知识证明系统的首次实施、Orchard 屏蔽支付协议的推出以及统一地址类型的引入。Zcash 还计划于今年晚些时候在 Android 和 iOS 商店上线其 ECC 钱包(尚未正式命名)。
此外,团队注意到一些 zcashd 节点在 NU5 激活后遇到导致崩溃的竞赛条件,团队建议重新启动节点解决该问题。[2022/6/1 3:54:44]
如果你曾在一份屏蔽备忘录中回复过你的屏蔽地址;
不受漏洞影响的群体:
如果你从未使用过zaddr,那漏洞就不会影响到你:
如果你只是给其他使用zaddr的人发送过钱,但从未收到过资金,你是安全的;
Zcash基金会计划将其隐私特性引入Cosmos生态系统:Zcash基金会计划将其隐私特性引入Cosmos生态系统。该项目将利用“pegzone”为跨链交易增加一个匿名层。这将允许屏蔽跨区块链的资产,转移和抵押。该项目将分两个阶段启动。在第一个方案中,pegzone将在现有的Zcash屏蔽池中提供由ZEC支持的代币。在Zcash屏蔽池中,代币信息是保密的。在第二阶段,Zcash基金会计划为pegzone本身增加一个屏蔽池,提供屏蔽桩(一种生成新代币的方法)、屏蔽IBC资产和屏蔽区块链间的转移。这将为Cosmos生态系统带来Zcash的隐私特性。(Decrypt)[2020/5/7]
如果你使用Tor/TAILS,则IP元数据泄漏对攻击者而言就不是有价值的信息。
受影响的加密货币:
Zcash(ZEC)
Zcash与TCN合作开发保护隐私的新冠病追踪App:加密专家Sydney Ifergan今日发推称,注重隐私的加密货币项目Zcash与Temporary Contact Number(TCN)正在合作开发一种开源的新冠病接触追踪替代方案,该方案不会侵害人们的隐私。(BTCManager)[2020/4/12]
Hush(HUSH)
Pirate(ARRR)
所有带有zaddr的Komodo(KMD)智能链(默认启用)
Horizen(ZEN)
Zero(ZER)
VoteCoin(VOT)
Snowgem(XSG)
BitcoinZ(BTCZ)
LitecoinZ(LTZ)
Zelcash(ZEL)
Ycash(YEC)
Arrow(ARW)
Verus(VRSC)
Zcash下一次主要升级:提高互操作性,添加Coinbase奖励发放地址的隐藏功能:Zcash开发公司Electric Coin Company昨日发布消息,介绍目前Zcash下一代网络升级Heartwood的情况。升级后,Zcash网络通过Flyclient支持提高了互操作性,并让矿工可以选择立即隐藏 Coinbase(Shielded Coinbase)交易中的挖矿奖励,也就是说矿工在Coinbase交易获得的出块奖励发放的地址可以被隐藏。社区选择了使用Heartwood这个名字作为下一次升级的名称,寓意为网络可以快速增长、采用可更广泛同时还增加网络可扩展性。Heartwood的两个程序包(ZIPs)是ZIP 221 (FlyClient) 和 ZIP 213 (Shielded Coinbase)。Heartwood升级的区块高将在第二季度公布。[2020/3/26]
BitcoinPrivate(BTCP)
ZClassic(ZCL)
Anon(ANON)
动态 | Zcash发布修补程序版本2.0.7-2 修复相关问题以支持Blossom升级:据官方消息,Zcash发布2.0.7-2版本,该版本为2.0.7-1之后的修补程序版本。由于在Zcash进行Blossom升级之前,用户需要升级到2.0.7版本,而很多用户节点由于时间问题暂未升级,或导致其处于错误的链上。为应对该问题,2.0.7-2版本为Zcash测试网添加了“预期倒带”(intended rewind),目的是防止节点在重新连接到正确的链时必须手动重新索引;同时还修复了与Insight Explorer相关的日志记录问题。需要注意的是,2.0.7-2版本与2.0.7版本一样,都将于2019年12月10日暂停支持(失效),与此同时下一个版本v2.1.0将支持Blossom升级,预计升级时间为2019年12月11日。[2019/9/5]
需要澄清的是,虽然BitcoinGold(BTG)使用了Zcash提供的EquihashPoW共识机制,但它并不是Zcash源代码的分叉,其也没有使用屏蔽地址,因此它是不受影响的。
额外的说明:KMD以前也有使用屏蔽地址,但后来禁用了该功能,Safecoin(SAFE)走了一条类似的路线,其目前也禁用了屏蔽地址。
缓解措施
首先,防止这种“元数据泄漏攻击”的首要方法,是在使用你喜欢的加密货币的同时,通过-onlynet=onion使用Tor,或者更好的选择,是使用TAILS操作系统。
其次,用户可使用全新的zaddr创建一个全新的wallet.dat,然后将所有资金发送到该地址。如果用户将这个新的zaddr保持为私有状态,那它就不会受到此类攻击。
Zcash在这里发布了一个紧急源代码(没有二进制文件)。
如果你不希望知道你的zaddr地址的人知道你的IP地址,我建议你创建新的钱包,并在软件发布更新之前停止使用旧钱包。
到这里,普通用户或许可以停止阅读了。
更多的建议
如果你运行了一个支持屏蔽地址的矿池,则不需要提供所有矿工和屏蔽地址的公开列表。由于当前的元数据泄漏攻击和其他原因,这严重地消除了矿工们的隐私。这在过去是很常见的,但由于隐私问题,大多数矿池已经停止了这一做法。
也不要在github的错误报告中给出zaddr!很多工具不断地从所有公共代码存储库中抽取潜在的敏感数据和公开来源信息。
为了提高安全性,如果你必须要给出屏蔽地址,你可以将它们隔离到一个单独的wallet.dat,该wallet.dat通常不使用且保持离线状态,而另一个带有屏蔽地址的钱包可用于发送资金。由于发送资金的钱包从未发出zaddr,因此这种类型的漏洞对于该节点而言是不可被利用的。
代码分析
这个漏洞是在最初的Zcash代码库中被引入的,相关提交时间是在2016年:
“介绍新的“libzcash”zcash协议API和围绕zkSNARK电路的加密结构。”
这一提交将漏洞代码添加到了较旧版本的屏蔽地址,而新版本的屏蔽地址代码都将其复制了进去。
该漏洞存在于Zcash的P2P层中,其中节点会与对等节点交换数据。
对攻击的解释:
攻击者节点将无效交易中继至其对等节点的mempool;
此交易对加密memo字段具有无效的序列化;
没有私钥且没有屏蔽地址查看密钥的节点,通常会对此无效交易做出反应;
具有私钥的节点将生成C++异常;
这个C++异常会导致不同的网络行为,从而暴露节点的“身份”;
区块链或浏览器上没有此类攻击的记录;
修正漏洞的代码在这里:https://github.com/zcash/zcash/commit/c1fbf8ab5d73cff5e1f45236995857c75ba4128d
核心修改如下:
-CDataStreamss(SER_NETWORK,PROTOCOL_VERSION);
-ss<<pt.get();-SaplingNotePlaintextret;-ss>>ret;
+try{
+CDataStreamss(SER_NETWORK,PROTOCOL_VERSION);
+ss<<pt.get();+ss>>ret;
+assert(ss.size()==0);
+}catch(constboost::thread_interrupted&){
+throw;
+}catch(...){
+returnboost::none;
+}
下面这行代码没有try/catch是漏洞存在的核心原因:
ss<<pt.get();
由于
pt是由攻击者控制的数据,其正被写入本地
CDataStreamss对象,因此需要更仔细的处理。
现在我们可以看到,只有boost::thread_interrupted类型的异常冒泡,所以其他异常都被“消灭”了,boost::none则会返回。这使得具有zaddr地址私钥的节点与所有其他节点一样,可以防止元数据泄露。
作者注意到,这里仍然存在寻找旧Sprout地址的易受攻击的代码。
有人可能认为这种攻击只能针对节点的对等节点,而不能针对整个网络,但增加最大对等节点计数是微不足道的,通过一个或几个节点来研究整个网络是可行的。
高级攻击者将拥有一个他们想要连接IP的zaddr数据库,然后运行密集连接至整个网络的节点,并定期向所有对等节点的mempool发送无效交易,从而建立的三元组数据历史记录。然后,他们就可以使用这些数据,并通过数量分析和定时分析将其链接到其他数据,以完全取消屏蔽交易的匿名性,并将它们直接与IP地址和地理位置相绑定。
编者按:鉴于加密交易这种以散户为驱动的特点,像Bakkt这样以机构为导向的企业不太可能在短期内对BTC的整体市场产生重大影响.
伊朗继合法化数字货币挖矿活动之后,近期正专注于相关法规的制定。据?Coindesk获得的一份新的伊朗加密货币采矿法规提案草案显示,注册以及已有牌照的加密货币矿场主均需要提交资料,包括业务活动清单.
一、一级市场与二级市场 在传统的股票市场里,一级市场和二级市场是有明确的区分的。二级市场就是通过IPO在上海、深圳交易所上市,拥有代码,能够通过证券交易软件直接进行买进卖出的市场,二级市场普通人.
“以太坊转向PoS时,ETC将成为最大的PoW以太矿链!”——随着以太坊2.0迁移临近,关于ETC是否会继承ETH算力以及价格的话题再次被频繁提起.
2019年9月23日,ETHPLANET(以太行星)联合深圳大学区块链技术研究中心,在深圳大学举办了一场以「以太坊区块链生态新发展」为主题的现场交流活动!活动首先由ETHPLANET代表Jaso.
亚洲各地的零售商户现在可以通过Alchemy推出的一种新的混合解决方案,接收比特币和加密货币支付.