匿名币的技术之争是非常有意思的,比如KMD核心开发者DukeLeto刚发表了一篇博客文章,披露了关于Zcash及其多数分叉币存在的漏洞,而这个漏洞可能会泄露使用屏蔽地址的全节点?IP地址。
其还为此分配了一个通用漏洞披露编码CVE-2019-16930来跟踪这一问题。
太长不看:自Zcash和Zcash协议建立以来,所有屏蔽地址都存在着一个漏洞。它出现在所有Zcash源代码分叉中,这使得攻击者可利用它找到拥有屏蔽地址全节点的ip地址。换而言之,如果Alice给Bob一个屏蔽地址用于支付,实际上可允许Bob发现Alice的IP地址,这与Zcash协议的设计是违背的。
受影响的群体:
所有使用屏蔽地址以及与第三方共享屏蔽地址的人,例如:
如果你在社交媒体上公开发布了你的屏蔽地址;
如果你在github/email/IRC的漏洞报告中给出了你的屏蔽地址;
如果你曾把自己的屏蔽地址告诉了交易所、矿池或企业;
如果你曾在一份屏蔽备忘录中回复过你的屏蔽地址;
Zcash矿池Luxor已启用Zcash屏蔽挖矿功能:8月27日,Zcash开发公司Electric Coin Company(ECC)官方发推宣布,北美Zcash矿池Luxor已将其挖出的高度为949496的区块奖励代币发送到屏蔽地址中。这是继Zcash最新网络升级Heartwood后,第一个启动屏蔽地址的挖矿。Luxor首席执行官Nick Hansen表示,将继续扩大其屏蔽挖矿工作。此前7月16日,Zcash完成Heartwood网络升级,此次升级包含ZIP 213协议,可使矿工直接将其开采的区块奖励代币发送到受屏蔽的地址。[2020/8/27]
不受漏洞影响的群体:
如果你从未使用过zaddr,那漏洞就不会影响到你:
如果你只是给其他使用zaddr的人发送过钱,但从未收到过资金,你是安全的;
如果你使用Tor/TAILS,则IP元数据泄漏对攻击者而言就不是有价值的信息。
研究人员称Zcash元数据可能存在隐私性漏洞 但暂未对区块链构成威胁:5月13日消息,近日隐私协议Hush开发人员发布一份报告称,Zcash的元数据中可能存在漏洞,使得攻击者可能利用该协议而使用其中某些程序。研究称,如果有足够多的资金,攻击者可以分析源自Zcash协议的短时数据和交易输出,从而形成可链接的漏洞,该漏洞可以将交易与某些用户行为联系起来,进而可以联系到用户个人身份。而其他诸如比特币分叉币和基于MimbleWimble协议的加密货币也面临着类似的威胁。
但同时研究指出,Zcash的zk-snark协议仍然是可靠的,并且在数学上不会对区块链构成重大威胁。不过,不良行为者可能会潜在地利用该机制,特别是其共识规则和事务格式协议来发掘用户的信息并取消匿名。(CryptoSlate)[2020/5/13]
受影响的加密货币:
Zcash(ZEC)
Hush(HUSH)
Pirate(ARRR)
所有带有zaddr的Komodo(KMD)智能链(默认启用)
动态 | Zcash社区决定打破210万ZEC奖励规定 将继续资助ZEC的开发:根据Zcash基金会近日宣布最新的投票结果,Zcash社区已经同意新的挖矿奖励分配方法,将继续资助其隐私加密资产ZEC的开发。此前根据Zcash原有计划,矿工会拿出部分出块奖励捐赠给开发者,以支持他们继续对ZEC进行开发,而支持资金的上限为210万ZEC。原本该资助计划应已达到规定上限,但社区发起最新投票,考虑是否继续这一资助计划。根据投票结果显示,该资助计划将会继续,Zcash的挖矿奖励中20%给基金会,矿工获得剩余的80%。而Zcash的开发公司ECC获得基金会中7%的挖矿奖励,基金会实际拿5%,其余8%挖矿奖励用于捐赠给开发人员。
此前,关于是否继续资助ZEC的开发一事社区进行了长达数月的讨论,对于ECC和Zcash基金会来说,继续开发Zcash并且为其提供开发资金可以帮助他们雇佣更多顶级人才,尤其是在它面临国际监管机构越来越多的审查的时候。然而,对于其他人来说,投票意味着违背了在ZEC推出时的承诺,在最开始的时候,创始人的奖励规定会被限制在210万ZEC(总供应量的10%)。为了遵守这个要求,在2019年7月创始团队成员还分叉了Zcash,创造了Ycash。(CoinDesk)[2020/2/2]
Horizen(ZEN)
动态 | Zcash在570000高度成功分叉出Ycash:据explorer.zcha数据显示,2019年7月19日10:34:51,Zcash于570000高度成功分叉出Ycash,由Poolin旷工挖出,目前区块高度为570031,Zcash价格为77.86美元,24小时涨幅4.26%。[2019/7/19]
Zero(ZER)
VoteCoin(VOT)
Snowgem(XSG)
BitcoinZ(BTCZ)
LitecoinZ(LTZ)
Zelcash(ZEL)
Ycash(YEC)
Arrow(ARW)
Verus(VRSC)
BitcoinPrivate(BTCP)
ZClassic(ZCL)
Anon(ANON)
需要澄清的是,虽然BitcoinGold(BTG)使用了Zcash提供的EquihashPoW共识机制,但它并不是Zcash源代码的分叉,其也没有使用屏蔽地址,因此它是不受影响的。
分析 | Zcash首轮及第二轮投资者将获得较高的回报率:据The Block消息,Zcash运营商Electric Coin Co.在两轮独立融资中出售16.4%的代币募集300万美元,以帮助启动Zcash的发展。第一轮投资者有权以每枚4.69美元的价格获得213150 ZEC,第二轮投资者有权以每枚约15.24美元的价格获得131250 ZEC。如果投资者在收到ZEC当天出售,第一轮投资者的回报率将达到3027%,第二轮投资者的回报率将达到863%。即使投资者仍然没有卖出其收到的任何代币,仍然比最初的投资高出1605%(或425%)。[2019/7/19]
额外的说明: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地址和地理位置相绑定。
渴死了姚前在区块链周中的演讲提到数字资产是核心,强调了数字资产在金融变革中的关键作用。其中描述了数字资产的对于未来金融的意义,其中重要一点就是资产的流动性.
1900/1/1 0:00:00一.双挖的技术原理双挖是指,对于使用工作量证明共识机制的币种,一次挖矿运算可以实现在两个或两个以上的币种中同时有效出块并获取出块奖励.
1900/1/1 0:00:00前言:对于高风险偏好且风险承受能力强的投资者来说,非对称投资策略是好的策略。如果风险偏好保守,那么更适合配置更多的安全资产类型,例如国债及现金等价物等.
1900/1/1 0:00:00区块链,这个满满科技感的词,有人觉得它离现实世界太过遥远。这是因为现实世界的事件与区块链上的数据是完全隔离开的。为了拉近两者之间的距离,Chainlink出现了.
1900/1/1 0:00:00摘要:总部位于莫斯科的ZP法律事务所声称,其已确认了收到2014年门头沟交易所被盗比特币的俄罗斯人身份;当地执法部门正在调查AlexanderVinnik.
1900/1/1 0:00:00OKEx的韩国站宣布将于10月10日下架所有的匿名币,其中包括门罗币、达世币、大零币、horizen(ZEN)以及SBTC.
1900/1/1 0:00:00