最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

當(dāng)前位置:主頁(yè) > 區(qū)塊鏈 > 區(qū)塊鏈技術(shù) > Tornado Cash混幣器分享

解讀Tornado Cash混幣器:監(jiān)管者的眼中釘,卻是最精妙的ZK零知識(shí)應(yīng)用

2026-06-14 15:34:58 | 來(lái)源: | 作者:佚名
近期 Vitalik 和一些學(xué)者聯(lián)名發(fā)表了新論文,其中提到了 Tornado Cash 如何實(shí)現(xiàn)反洗錢(qián)方案(其實(shí)就是讓取款人證明,自己的存款記錄屬于一個(gè)不包含黑錢(qián)的集合), 但文中缺乏對(duì) Tornado Cash 業(yè)務(wù)邏輯與原理的細(xì)致解讀,讓人似懂非懂

前陣子被監(jiān)管者盯上的混幣器協(xié)議 Tornado Cash,其實(shí)是理解 ZK 應(yīng)用的最佳案例。

近期 Vitalik 和一些學(xué)者聯(lián)名發(fā)表了新論文,其中提到了 Tornado Cash 如何實(shí)現(xiàn)反洗錢(qián)方案(其實(shí)就是讓取款人證明,自己的存款記錄屬于一個(gè)不包含黑錢(qián)的集合), 但文中缺乏對(duì) Tornado Cash 業(yè)務(wù)邏輯與原理的細(xì)致解讀,讓人似懂非懂。

此外值得一提的是,Tornado 為代表的隱私項(xiàng)目才是真正用到了 ZK-SNARK 算法的零知識(shí)性,而大多數(shù)打著 ZK 旗號(hào)的 Rollup,用到的只是 ZK-SNARK 的簡(jiǎn)潔性。很多時(shí)候人們往往混淆了 Validity Proof 與 ZK 的區(qū)別,而 Tornado 恰好是理解 ZK 應(yīng)用的極佳案例。

延伸閱讀:科普|zk-SNARKs是什么?V神定調(diào)零知識(shí)證明未來(lái)十年「非常重要」

本文作者恰好在 2022 年于 Web3Caff Research 寫(xiě)過(guò)一篇關(guān)于 Tornado 原理的文章,今日將其部分段落節(jié)選并拓展,整理成文,以便大家系統(tǒng)的理解 Tornado Cash。

「龍卷風(fēng)」 的原理

Tornado Cash 是利用了零知識(shí)證明的混幣器協(xié)議,舊版本在 2019 年投入使用,新版本在 2021 年底啟動(dòng)了 beta 版。Tornado 舊版本基本實(shí)現(xiàn)了去中心化,鏈上合約開(kāi)源且無(wú)多簽控制,前端代碼開(kāi)源且備份在了 IPFS 網(wǎng)絡(luò)里。由于舊版 Tornado 的整體結(jié)構(gòu)更簡(jiǎn)單易懂,所以本文將針對(duì)舊版本進(jìn)行解讀。

Tornado 的主要思路是: 把大量的訪問(wèn)款行為混雜在一起,存款者在 Tornado 存入 Token 后,出示 ZK Proof 證明自己存過(guò)款,再用一個(gè)新地址提款,以此切斷訪問(wèn)款地址之間的關(guān)聯(lián)性。

更具體的概括,Tornado 就像一個(gè)玻璃箱,混雜了很多人放進(jìn)去的 Coin 硬幣。我們能看到放 Coin 的是哪些人,但這些 Coin 高度同質(zhì)化,如果有生面孔的人從玻璃箱拿走一枚 Coin,我們很難知道他拿走的 Coin 最初是誰(shuí)放進(jìn)去的。

這種場(chǎng)景似乎屢見(jiàn)不鮮:當(dāng)我們從 Uniswap 池子里 SWAP 幾枚 ETH 時(shí),根本無(wú)法知道劃走的 ETH 是誰(shuí)提供的,因?yàn)樵o Uniswap 提供流動(dòng)性的人太多了。但不同之處是,每次用 Uniswap 劃走 Token,我們需要用其他 Token 作為等價(jià)的成本,且不能把資金 「私密的」 轉(zhuǎn)讓給別人;而混幣器只需要提款者出示存款憑證就行。

為了讓訪問(wèn)款動(dòng)作看起來(lái)有同質(zhì)性,Tornado 池子的存款地址每次存入的資金、取款地址每次取出的資金都保持一致,比如 某個(gè)池子的 100 個(gè)存款者和 100 名取款者,雖然公開(kāi)可見(jiàn),但看起來(lái)彼此沒(méi)有任何聯(lián)系,而且每人存入的金額、取出的金額,都是一樣的。

這時(shí)就可以混淆視聽(tīng),沒(méi)法按照訪問(wèn)款金額判斷關(guān)聯(lián)性,進(jìn)而切斷資金轉(zhuǎn)移痕跡,顯而易見(jiàn)的是,這為洗錢(qián)行為提供了天然的便利。

但有一個(gè)關(guān)鍵問(wèn)題:取款者在提款時(shí),怎么證明自己存過(guò)款?向混幣器發(fā)起取款的地址,與所有的存款地址都不關(guān)聯(lián),那么該如何判斷他的提款資格?看起來(lái)最直接的方法,是取款者直接披露自己的存款記錄是哪一筆,但這就直接泄露了身份。此時(shí)零知識(shí)證明就派上了用場(chǎng)。

提款者出具一個(gè) ZK Proof,證明自己在 Tornado 合約里有存款記錄,且該筆存款尚未被提取,就能順利發(fā)起取款。零知識(shí)證明本身就實(shí)現(xiàn)了隱私保護(hù),外界只知道:取款人的確往資金池里存過(guò)款,但不知道他對(duì)應(yīng)哪個(gè)存款者。

要證明 「我在 Tornado 資金池里存過(guò)款」 可以被轉(zhuǎn)化為 「我的存款記錄可以在 Tornado 合約里找到」。如果用 Cn 表示存款記錄,問(wèn)題就歸納為:

已知 Tornado 的存款記錄集合為 {C1,C2,…C100…},取款者 Bob 證明自己曾用手上的密鑰,生成了存款記錄里的某個(gè) Cn,但通過(guò) ZK 不泄露 Cn 具體是哪個(gè)。

這里要用到 Merkle Proof 的特殊性質(zhì)。因?yàn)?Tornado 的所有存款記錄,都存進(jìn)了鏈上構(gòu)造的一棵 MerkleTree,作為其最底層的葉子結(jié)點(diǎn),而葉子總數(shù)約為 2 的 20 次方 > 100 萬(wàn),大多數(shù)都處于空白狀態(tài)(賦予了初始值)。每當(dāng)有新存款行為產(chǎn)生時(shí),合約就會(huì)把其對(duì)應(yīng)的特征值 Commitment 寫(xiě)入一個(gè)葉子里,然后更新 Merkle Tree 的 root。

比如,Bob 的存款操作是 Tornado 有史以來(lái)第 1 萬(wàn)筆,那么與這筆存款有關(guān)聯(lián)的一個(gè)特征值 Cn 會(huì)寫(xiě)入 Merkle Tree 的第 1 萬(wàn)個(gè)葉子結(jié)點(diǎn),也即 C10000= Cn。然后合約會(huì)自動(dòng)算出新的 Root,update 一下。(ps:為了節(jié)約計(jì)算量,Tornado 合約會(huì)緩存之前一批有變化的節(jié)點(diǎn)的數(shù)據(jù),比如下圖中的 Fs1 和 Fs2、Fs0)

而 MerkleProof 本身很簡(jiǎn)潔輕便,它利用了樹(shù)狀數(shù)據(jù)結(jié)構(gòu)在檢索 / 溯源過(guò)程中的簡(jiǎn)潔性。若想對(duì)外證明某筆交易 TD 存在于 MerkleTree 中,只要給出 Root 對(duì)應(yīng)的 MerkleProof(如下圖中右邊的部分),它相當(dāng)簡(jiǎn)潔。如果 Merkle Tree 格外龐大,底層葉子有 2 的 20 次方個(gè),也就是包含 100 萬(wàn)筆存款記錄,Merkle Proof 也只需要包含 21 個(gè)節(jié)點(diǎn)的數(shù)值,非常短。

如果要證明某筆交易 H3 的確包含在 Merkle Tree 中,設(shè)法證明用 H3 和 Merkle Tree 上其他的部分?jǐn)?shù)據(jù),可以生成 Root,而生成 Root 所需要的那部分?jǐn)?shù)據(jù)(包括 Td 在內(nèi))就構(gòu)成了 Merkle Proof。

而 Bob 在取款時(shí),要證明自己擁有的憑證對(duì)應(yīng)著 Merkle Tree 上有記錄的某筆存款hash Cn。也就是說(shuō),他要證明兩件事:

?Cn 存在于鏈上 Tornado 合約里的 Merkle Tree 中,具體可以構(gòu)造一個(gè) Merkle Proof,里面包含 Cn;

?Cn 與 Bob 手上的存款憑證有關(guān)聯(lián)。

Tornado 業(yè)務(wù)邏輯詳解

Tornado 用戶界面的前端代碼中事先實(shí)現(xiàn)了很多功能,當(dāng)一名存款者打開(kāi) TornadoCash 網(wǎng)頁(yè)并點(diǎn)擊存款按鈕后,前端代碼附帶的程序會(huì)在本地生成 2 個(gè)隨機(jī)數(shù) K 和 r,隨后會(huì)計(jì)算出 Cn=Hash (K,r) 的值,再把 Cn(就是下圖中的 commitment)傳入 Tornado 合約,插入到后者記錄的 Merkle Tree 里。說(shuō)白了,K 和 r 相當(dāng)于私鑰。它們很重要,系統(tǒng)會(huì)提示用戶妥善保存。后面提款時(shí)仍然要用到 K 和 r。

值得注意的是,以上工作皆發(fā)生于鏈下,也就是說(shuō):Tornado 合約和外界觀察者都不知曉 K 和 r。 如果 K 和 r 被泄露了,就類似于錢(qián)包私鑰被盜。

Tornado 合約收到用戶存款,并收到用戶提交的 Cn=Hash (K,r) 后,便將 Cn 插入到 Merkle 樹(shù)的最底層,作為新的葉子結(jié)點(diǎn),同時(shí)會(huì)更新 Root 的數(shù)值。 所以,Cn 和用戶的存款動(dòng)作是一對(duì)一關(guān)聯(lián)的,外界可以知道每個(gè) Cn 對(duì)應(yīng)著哪個(gè)用戶,知道有哪些人往混幣器里存入了 Token,并且知道每個(gè)存款者對(duì)應(yīng)的存款記錄 Cn。

在取款步驟中,取款者在前端網(wǎng)頁(yè)里輸入憑證 / 私鑰(存款時(shí)生成的隨機(jī)數(shù) K 和 r),TornadoCash 前端代碼中的程序會(huì)使用 K 和 r、Cn=Hash (K,r)、Cn 對(duì)應(yīng)的 Merkle Proof 作為輸入?yún)?shù),生成 ZK Proof,證明 Cn 是存在于 Merkle Tree 上的某筆存款記錄,而 K 和 r 是對(duì)應(yīng) Cn 的憑證。

這一步就相當(dāng)于證明:我知道某筆記錄于 Merkle Tree 上的存款記錄對(duì)應(yīng)的密鑰。當(dāng) ZK Proof 被提交給 Tornado 合約時(shí),上述 4 個(gè)參數(shù)均被隱藏,外界(包括 Tornado 合約)無(wú)法獲知,借此保障了隱私。

生成 ZKProof 涉及的其他參數(shù)還包括: 取款時(shí) Tornado 合約里 Merkle Tree 的根 root、自定義的收款地址 A、防止重放攻擊的標(biāo)識(shí)符 nf (后面會(huì)講)。這 3 個(gè)參數(shù)會(huì)公開(kāi)發(fā)布到鏈上,外界可以獲知,但不影響隱私。

延伸閱讀:重入攻擊是什么?Curve池內(nèi)的7000萬(wàn)美元如何丟的?

這里面有個(gè)細(xì)節(jié),就是存款操作生成 Cn 時(shí),用了 2 個(gè)隨機(jī)數(shù) K 和 r 來(lái)生成 Cn,而不是單個(gè)隨機(jī)數(shù)。這是因?yàn)閱蝹€(gè)隨機(jī)數(shù)不夠安全,有一定概率發(fā)生碰撞,比如,采用單隨機(jī)數(shù)可能導(dǎo)致兩個(gè)不同的存款者恰巧采用 1 個(gè)同樣的隨機(jī)數(shù),導(dǎo)致生成的 Cn 撞車。

至于上圖中的 A,代表接收提款的地址,由提款者自己填寫(xiě)。nf 則是一個(gè)防止重放攻擊的標(biāo)識(shí)符,其數(shù)值 nf=Hash(K),K 就是存款生成 Cn 那一步用到的 2 個(gè)隨機(jī)數(shù)之一(K 和 r)。這樣一來(lái),nf 就與 Cn 關(guān)聯(lián)了起來(lái),換言之,每個(gè) Cn 都有對(duì)應(yīng)的 nf,兩者一一關(guān)聯(lián)。

為什么要防止重放攻擊呢? 由于混幣器在設(shè)計(jì)上的特性,取款時(shí)不知道用戶提走的幣對(duì)應(yīng) Merkle 樹(shù)的哪個(gè)葉子 Cn,也就不知道提款人和哪些存款人關(guān)聯(lián),就不知道提款人到底存過(guò)幾次款。提款者可以利用這一特性頻繁提款,發(fā)起重放攻擊,多次從混幣器池里取走 Token,直到把資金池抽干。

在這里,nf 標(biāo)識(shí)符的作用類似于每個(gè)以太坊地址都有的交易計(jì)數(shù)器 nonce,都是為了防止某筆交易被重放而設(shè)置。當(dāng)一筆取款發(fā)生時(shí),取款者需要提交一個(gè) nf,檢查這個(gè) nf 是否已被使用過(guò)(記錄在案):如果有,此次取款無(wú)效。如果沒(méi)有,表示該 nf 尚未被使用,取款有效,對(duì)應(yīng)的 nf 會(huì)被記錄下來(lái)。下次再有人提交這個(gè) nf 時(shí),對(duì)應(yīng)的取款動(dòng)作直接判定為無(wú)效。

如果有人胡亂生成一個(gè)合約沒(méi)記錄過(guò)的 nf 行不行? 當(dāng)然不行,因?yàn)槿】钫呱?ZK Proof 時(shí),需要保證 nf=Hash(K),而隨機(jī)數(shù) K 與存款記錄 Cn 關(guān)聯(lián),也就是說(shuō),nf 與某筆有記錄的存款 Cn 關(guān)聯(lián)。如果隨便編造一個(gè) nf,這個(gè) nf 與存款記錄中的所有存款都對(duì)不上號(hào),就不能順利生成有效的 ZK Proof,后續(xù)的工作就無(wú)法順利完成,取款操作就不會(huì)成功。

可能也有人會(huì)問(wèn):不用 nf 行不行?既然提款者在提款時(shí)需要提交 ZK 證明,證明自己和某個(gè) Cn 有關(guān)聯(lián),那么每當(dāng)提款動(dòng)作發(fā)生時(shí),查找對(duì)應(yīng)的 ZK Proof 是否被提交到鏈上過(guò),不就行了嗎?

但事實(shí)上,這樣做的成本很高,因?yàn)?Tornado cash 合約不會(huì)永久保存過(guò)去提交的 ZK Proof,因?yàn)檫@會(huì)嚴(yán)重浪費(fèi)保存空間。與其比較每個(gè)新交到鏈上的 ZKProof 和既有的 Proof 是否一致,還不如設(shè)置個(gè)占地很小的標(biāo)識(shí)符 nf 并將其永久保存來(lái)的更劃算。

按照取款函數(shù)的代碼示例,其需要的參數(shù)和業(yè)務(wù)邏輯如下:

用戶提交 ZKProof、nf(NullifierHash)=Hash(K),自定義一個(gè)接收提款的地址 recipent,ZKProof 隱藏了 Cn 和 K、r 的數(shù)值,讓外界無(wú)法獲取判斷用戶身份。recipent 往往會(huì)填寫(xiě)一個(gè)干凈的新地址,也不會(huì)泄露個(gè)人信息。

但這里面有個(gè)小問(wèn)題,就是用戶在取款時(shí),為了不可溯源,往往用新申請(qǐng)的地址發(fā)起取款交易,此時(shí)新地址沒(méi)有 ETH 來(lái)支付 gas 費(fèi)。所以取款地址發(fā)起取款時(shí),要顯式聲明一個(gè)中繼者 relayer,由它代付 gas 費(fèi),之后混幣器合約會(huì)直接從用戶提款里扣掉一部分交給 relayer,作為回報(bào)。

綜上所述,TornadoCash 可以隱瞞取款者與存款者的關(guān)聯(lián),在用戶量很大的情況下,就如同一個(gè)鬧市區(qū),犯人混進(jìn)人群后警方就難以追蹤。取款過(guò)程中需要用到 ZK-SNARK,被隱藏起來(lái)的 witness 部分包含取款人關(guān)鍵信息,這是整個(gè)混幣器最關(guān)鍵的一點(diǎn)。目前看來(lái),Tornado 可能是與 ZK 相關(guān)的最巧妙的應(yīng)用層項(xiàng)目之一。

免責(zé)聲明:本文只為提供市場(chǎng)訊息,所有內(nèi)容及觀點(diǎn)僅供參考,不構(gòu)成投資建議,不代表本站觀點(diǎn)和立場(chǎng)。投資者應(yīng)自行決策與交易,對(duì)投資者交易形成的直接或間接損失,作者及本站將不承擔(dān)任何責(zé)任。!
Tag:混幣器   Cash   Tornado  

你可能感興趣的文章

幣圈快訊

  • 黃仁勛將赴美國(guó)國(guó)會(huì)山討論AI領(lǐng)導(dǎo)地位與開(kāi)源問(wèn)題

    2026-07-28 05:26
    7月28日,英偉達(dá)(NVDA.O)當(dāng)?shù)貢r(shí)間周一表示,其首席執(zhí)行官黃仁勛將前往華盛頓與議員會(huì)面,討論美國(guó)在人工智能領(lǐng)域的領(lǐng)導(dǎo)地位問(wèn)題。英偉達(dá)發(fā)言人稱,黃仁勛將在國(guó)會(huì)山與兩黨領(lǐng)導(dǎo)人舉行會(huì)談,討論該技術(shù)的最新發(fā)展,包括在開(kāi)源領(lǐng)域保持領(lǐng)先的重要性。黃仁勛計(jì)劃于周二與參議院情報(bào)委員會(huì)首席民主黨議員馬克·沃納會(huì)面。沃納上周對(duì)OpenAI的自主網(wǎng)絡(luò)攻擊事件后表示了對(duì)安全威脅的嚴(yán)重關(guān)切。其辦公室已確認(rèn)此次會(huì)談安排。此次會(huì)面正值黃仁勛在社交媒體X上為開(kāi)源AI發(fā)聲之際,他發(fā)文稱此類模型“能夠強(qiáng)化安全性與網(wǎng)絡(luò)安全,加速創(chuàng)新與普及,并實(shí)現(xiàn)主權(quán)”。黃仁勛的到訪也與OpenAI創(chuàng)始人奧爾特曼預(yù)計(jì)將在華盛頓與議員會(huì)面的時(shí)間點(diǎn)重合,但沃納發(fā)言人表示兩人的會(huì)談是分開(kāi)安排的。
  • SK海力士步入SpaceX的破發(fā)后塵

    2026-07-28 04:52
    7月28日,SK海力士(SKHY.O)美國(guó)存托憑證(ADR)周一跌至上市以來(lái)新低。該股此前于本月初以265億美元的募資規(guī)模登陸美股,但隨著投資者持續(xù)撤離高估值半導(dǎo)體板塊,其股價(jià)大幅回落。當(dāng)日盤(pán)中一度重挫10%至139.01美元,遠(yuǎn)低于149美元的發(fā)行價(jià),最終收?qǐng)?bào)143.02美元。至此,SK海力士與SpaceX等個(gè)股一道,成為今年美股最大規(guī)模IPO中首批跌破發(fā)行價(jià)的公司之一。半導(dǎo)體板塊整體承壓,備受關(guān)注的半導(dǎo)體指數(shù)延續(xù)近期跌勢(shì),收于5月19日以來(lái)最低水平。與此同時(shí),為英偉達(dá)(NVDA.O)企業(yè)債提供違約保護(hù)的成本走高,因新一輪AI基礎(chǔ)設(shè)施交易金額可能超過(guò)7500億美元。
  • 美股收盤(pán)道指漲0.5%海力士跌超7%

    2026-07-28 04:01
    據(jù)Gate行情數(shù)據(jù)顯示,美股周一收盤(pán),道指初步收漲0.5%,標(biāo)普500指數(shù)漲0.02%,納指跌0.18%。美光科技跌2%,閃迪跌11%,英偉達(dá)跌5%,SK海力士跌7.5%。蘋(píng)果漲1%,市值逼近5萬(wàn)億美元。納斯達(dá)克中國(guó)金龍指數(shù)收漲2.5%,網(wǎng)易漲3.5%,阿里巴巴漲2.5%。
  • 比特幣BIP-110強(qiáng)制信號(hào)窗口不足兩周開(kāi)啟當(dāng)前支持率約2.64%

    2026-07-28 03:34
    比特幣BIP-110強(qiáng)制信號(hào)窗口將在區(qū)塊961632開(kāi)啟,預(yù)計(jì)時(shí)間為2026年8月9日左右。截至鏈上高度為959842,距離該區(qū)塊約剩1790個(gè)區(qū)塊,BIP-110信號(hào)支持率約為2.64%BIP-110正式名稱為ReducedDataTemporarySoftfork,提議限制比特幣交易中部分?jǐn)?shù)據(jù)字段大小,主要針對(duì)Ordinals類銘文、大型OP_RETURN載荷及類似高數(shù)據(jù)量用途。若激活,限制將在區(qū)塊965664生效,并在52416個(gè)區(qū)塊后自動(dòng)到期,約為一年當(dāng)前信號(hào)支持主要來(lái)自O(shè)cean、獨(dú)立礦工及小型運(yùn)營(yíng)方,F(xiàn)oundry、Antpool、ViaBTC、F2pool等主要礦池尚未轉(zhuǎn)向支持。Foundry已要求客戶按平均算力投票,只有“支持”票超過(guò)參與加權(quán)算力的51%,該礦池才會(huì)將所有區(qū)塊切換為支持信號(hào)。若當(dāng)前信號(hào)水平持續(xù)至區(qū)塊961632,執(zhí)行BIP-110的節(jié)點(diǎn)將拒絕未發(fā)出versionbit4信號(hào)的區(qū)塊,并跟隨少數(shù)發(fā)出信號(hào)的區(qū)塊。未升級(jí)節(jié)點(diǎn)將繼續(xù)接受發(fā)出信號(hào)和未發(fā)出信號(hào)的區(qū)塊,并跟隨累計(jì)工作量證明最高的鏈。
  • 在岸人民幣兌美元較上周五夜盤(pán)收盤(pán)漲77點(diǎn)

    2026-07-28 03:28
    7月28日,在岸人民幣兌美元(CNY)北京時(shí)間03:00收?qǐng)?bào)6.7625元,較上周五夜盤(pán)收盤(pán)漲77點(diǎn)。成交量293.56億美元。
  • 查看更多
更多

熱門(mén)幣種

  • 幣種
    最新價(jià)格
    24H漲跌幅
  • bitcoin BTC 比特幣

    BTC

    比特幣

    $ 64964.32¥ 439321.21
    +0.47%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 1946.71¥ 13164.62
    +1.77%
  • tether USDT 泰達(dá)幣

    USDT

    泰達(dá)幣

    $ 0.9989¥ 6.755
    -0.04%
  • binance-coin BNB 幣安幣

    BNB

    幣安幣

    $ 574.43¥ 3884.58
    +0.24%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 1.0008¥ 6.7679
    +0%
  • ripple XRP 瑞波幣

    XRP

    瑞波幣

    $ 1.0908¥ 7.3765
    -0.9%
  • solana SOL Solana

    SOL

    Solana

    $ 75.9551¥ 513.64
    +0.84%
  • tron TRX 波場(chǎng)

    TRX

    波場(chǎng)

    $ 0.3278¥ 2.2167
    -1.29%
  • hyperliquid HYPE Hyperliquid

    HYPE

    Hyperliquid

    $ 57.2453¥ 387.12
    -2.81%
  • dogecoin DOGE 狗狗幣

    DOGE

    狗狗幣

    $ 0.072123¥ 0.4877
    -0.68%
祁东县| 金山区| 昌都县| 霍城县| 门头沟区| 海城市| 日土县| 库尔勒市| 绥宁县| 辽中县| 扶余县| 长岭县| 台前县| 左贡县| 蓬安县| 兴山县| 盐城市| 商河县| 淮北市| 凤阳县| 南汇区| 乐东| 乌苏市| 东兰县| 新源县| 竹山县| 罗平县| 柘城县| 朔州市| 陇川县| 漳平市| 调兵山市| 马关县| 秦安县| 彝良县| 绥阳县| 肇州县| 措美县| 平远县| 海晏县| 东至县|