亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

Don’t Trust, Verify

simpleapples / 1402人閱讀

摘要:和比特幣網(wǎng)絡(luò)傳輸協(xié)議的一系列優(yōu)化使得比特幣的新區(qū)塊幾乎可以在瞬間被全世界的礦工接收,非常有效的降低了孤塊率,保證了網(wǎng)絡(luò)安全。

這篇文章試圖討論全節(jié)點(diǎn)對(duì)于區(qū)塊鏈的意義。

角色

我們都知道,區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn)有不同的角色。例如:

出塊節(jié)點(diǎn)

出塊節(jié)點(diǎn)負(fù)責(zé)打包交易,生產(chǎn)區(qū)塊。出塊節(jié)點(diǎn)在不同的地方有不同的名字,例如比特幣和以太坊中的礦工/礦池,Bitshares的Delegator,EOS的Producer, Cardarno的Stakeholder,Tendermint和Casper中的Validator,以及CITA中的共識(shí)節(jié)點(diǎn)等等。 在這些網(wǎng)絡(luò)中,出塊節(jié)點(diǎn)的角色往往與全節(jié)點(diǎn)角色重合。最接近純粹出塊節(jié)點(diǎn)的例子應(yīng)該是使用getblocktemplate協(xié)議參與挖礦的比特幣礦機(jī),他們不驗(yàn)證區(qū)塊,但是擁有選擇交易打包和封裝完整區(qū)塊的權(quán)力。

出塊節(jié)點(diǎn)相對(duì)于其他節(jié)點(diǎn)往往需要付出更多的資源,包括算力(無(wú)論是用于PoW還是用于交易計(jì)算),磁盤(pán),網(wǎng)絡(luò)帶寬等等。這些資源要求抬高了出塊節(jié)點(diǎn)的門(mén)檻,容易造成出塊節(jié)點(diǎn)分布的中心化。

全節(jié)點(diǎn)

區(qū)塊鏈中的區(qū)塊由兩個(gè)部分組成,區(qū)塊頭和區(qū)塊體。區(qū)塊頭中存放包括區(qū)塊見(jiàn)證(例如工作量證明或是投票)在內(nèi)的元數(shù)據(jù),區(qū)塊體中包含交易數(shù)據(jù)。區(qū)塊的驗(yàn)證由此也可以分為兩部分,對(duì)區(qū)塊頭的驗(yàn)證和對(duì)區(qū)塊體的驗(yàn)證。對(duì)區(qū)塊頭的驗(yàn)證主要是出塊權(quán)的檢查,例如區(qū)塊頭中包含的工作量證明是否有效;對(duì)區(qū)塊體的驗(yàn)證主要是對(duì)交易有效性的檢查,確保區(qū)塊體中每一筆交易都是有效的。

全節(jié)點(diǎn)同步交易和區(qū)塊,對(duì)其進(jìn)行驗(yàn)證,并轉(zhuǎn)發(fā)有效的交易和區(qū)塊。為了能夠進(jìn)行驗(yàn)證,全節(jié)點(diǎn)必須有完整的當(dāng)前世界狀態(tài)(例如UTXO集合)。由于全節(jié)點(diǎn)自行進(jìn)行所有的驗(yàn)證,因此不需要信任其他第三方。

通常情況下,出塊節(jié)點(diǎn)構(gòu)造新區(qū)塊時(shí)需要引用前一個(gè)有效區(qū)塊,為了確認(rèn)父塊的有效性必須對(duì)其進(jìn)行驗(yàn)證。此時(shí)出塊節(jié)點(diǎn)也做了全節(jié)點(diǎn)的事情,也是一種全節(jié)點(diǎn)。這種角色上的重合不是必然的,不影響后面的討論。

輕節(jié)點(diǎn)

輕節(jié)點(diǎn)與全節(jié)點(diǎn)不同:輕節(jié)點(diǎn)只同步和驗(yàn)證區(qū)塊頭,不會(huì)同步和驗(yàn)證區(qū)塊體以及其中的交易。因此,輕節(jié)點(diǎn)只能驗(yàn)證區(qū)塊頭的有效性,無(wú)法驗(yàn)證該區(qū)塊頭對(duì)應(yīng)的區(qū)塊體中交易的有效性,只能相信構(gòu)造這個(gè)區(qū)塊的出塊節(jié)點(diǎn)沒(méi)有打包無(wú)效的交易,并且相信將這個(gè)看起來(lái)合理的區(qū)塊頭發(fā)送給自己的全節(jié)點(diǎn)對(duì)其進(jìn)行了完整的檢查。輕節(jié)點(diǎn)是信任其它節(jié)點(diǎn)的節(jié)點(diǎn)。由于不同步交易,輕節(jié)點(diǎn)也無(wú)法得知交易處理之后的世界狀態(tài),自然也無(wú)法驗(yàn)證交易雙花或是世界狀態(tài)的變更。輕節(jié)點(diǎn)的驗(yàn)證能力大大弱于全節(jié)點(diǎn)。

相信其它節(jié)點(diǎn)的好處是,輕節(jié)點(diǎn)的開(kāi)銷(xiāo)很?。簠^(qū)塊頭的體積只占區(qū)塊的很小一部分,很容易同步和存儲(chǔ)。因此輕節(jié)點(diǎn)可以運(yùn)行在筆記本甚至手機(jī)等各種有限硬件環(huán)境中。

關(guān)系

這幾種角色之間的關(guān)系是一個(gè)非常有意思的問(wèn)題,也是我和朋友們常常會(huì)討論的一個(gè)話題。在這樣的討論中,如果你拿出一支筆,請(qǐng)?jiān)趫?chǎng)的任意一位朋友在白板上畫(huà)出他心目中的這三種節(jié)點(diǎn)組成的區(qū)塊鏈網(wǎng)絡(luò)拓?fù)?,大概率?huì)得到類(lèi)似這樣的圖:

圖1. 朋友心中的節(jié)點(diǎn)拓?fù)銩12856753-e57be4f7b1204b84.jpg1240×960 44 KB
圖2. 朋友心中的節(jié)點(diǎn)拓?fù)銪12856753-90c0b692bf524eaf.jpg1240×960 46.5 KB
在圖1中,出塊節(jié)點(diǎn)在最中心的位置,全節(jié)點(diǎn)圍繞出塊節(jié)點(diǎn)形成網(wǎng)絡(luò),輕節(jié)點(diǎn)連接在全節(jié)點(diǎn)上;在圖2中,出塊節(jié)點(diǎn)和全節(jié)點(diǎn)混合組成分布式網(wǎng)絡(luò)位于中心,輕節(jié)點(diǎn)連接在全節(jié)點(diǎn)或者出塊節(jié)點(diǎn)上。哪一副圖更接近真實(shí)情況呢?

誰(shuí)是守護(hù)者

人們通常認(rèn)為出塊節(jié)點(diǎn)是守護(hù)者(Keeper)一個(gè)區(qū)塊鏈網(wǎng)絡(luò)的守護(hù)者,這樣的觀點(diǎn)不無(wú)道理。畢竟是出塊節(jié)點(diǎn)驗(yàn)證交易,生產(chǎn)新的區(qū)塊,為用戶(hù)提供服務(wù),這也是為什么人們會(huì)把出塊節(jié)點(diǎn)/礦工畫(huà)在網(wǎng)絡(luò)拓?fù)涞闹行摹?瓷先ィ麄円呀?jīng)擁有了定義區(qū)塊鏈的權(quán)力。然而,如果我們將注意力再下降一層,從P2P網(wǎng)絡(luò)的觀點(diǎn)來(lái)看,結(jié)果卻不是這樣。

一般的P2P網(wǎng)絡(luò),例如BitTorrent或是Kad Network,目的在于更快的分享數(shù)據(jù),這些網(wǎng)絡(luò)中的節(jié)點(diǎn)并不關(guān)心自己轉(zhuǎn)發(fā)的數(shù)據(jù)包包含的是什么樣的數(shù)據(jù)。這些節(jié)點(diǎn)不需要理解數(shù)據(jù),只需要轉(zhuǎn)發(fā)數(shù)據(jù),幫助數(shù)據(jù)從網(wǎng)絡(luò)中的一點(diǎn)流動(dòng)到另外一個(gè)點(diǎn)。它們只是數(shù)據(jù)的搬運(yùn)工。

區(qū)塊鏈的P2P網(wǎng)絡(luò)則不僅僅是數(shù)據(jù)的搬運(yùn)工,還是數(shù)據(jù)的驗(yàn)證者。P2P網(wǎng)絡(luò)由全節(jié)點(diǎn)構(gòu)成,全節(jié)點(diǎn)在接收到新的交易或者新的區(qū)塊時(shí),首先做的事情是驗(yàn)證。這里的驗(yàn)證不僅僅是驗(yàn)證數(shù)據(jù)本身的完整性(Integrity),還要驗(yàn)證數(shù)據(jù)在業(yè)務(wù)邏輯中的有效性,例如這筆交易是否和賬本中已經(jīng)有的交易沖突(雙花),或者這個(gè)新區(qū)塊是否包含了無(wú)效的交易。驗(yàn)證交易是否雙花是業(yè)務(wù)層(賬本)的邏輯,不是網(wǎng)絡(luò)層的邏輯。在區(qū)塊鏈的P2P網(wǎng)絡(luò)中,節(jié)點(diǎn)不僅僅要轉(zhuǎn)發(fā)數(shù)據(jù),還需要理解數(shù)據(jù)。數(shù)據(jù)轉(zhuǎn)發(fā)在區(qū)塊鏈節(jié)點(diǎn)中是一個(gè)提升到業(yè)務(wù)層的概念,而不只是一個(gè)網(wǎng)絡(luò)層的概念。

這種設(shè)計(jì)所導(dǎo)致的結(jié)果就是,全節(jié)點(diǎn)組成的網(wǎng)絡(luò)形成了一道“防火墻”,有效阻止了無(wú)效交易和區(qū)塊的傳播。出塊節(jié)點(diǎn)如果產(chǎn)生一個(gè)包含無(wú)效交易的區(qū)塊,這個(gè)區(qū)塊只能夠傳播到與其相鄰的全節(jié)點(diǎn),無(wú)法穿透這些相鄰節(jié)點(diǎn)形成的防火墻傳播到更遠(yuǎn)的地方,無(wú)法進(jìn)入全節(jié)點(diǎn)網(wǎng)絡(luò)維護(hù)的區(qū)塊鏈主分叉,無(wú)效交易也就無(wú)法被依賴(lài)全節(jié)點(diǎn)的輕節(jié)點(diǎn)或是錢(qián)包接受。

因此,出塊節(jié)點(diǎn)只是新的區(qū)塊的提議者,并不能讓全節(jié)點(diǎn)網(wǎng)絡(luò)接受無(wú)效的區(qū)塊或是交易。挖出一個(gè)新的區(qū)塊并不是共識(shí)的結(jié)束,而是共識(shí)的開(kāi)始。如果套用Paxos共識(shí)里面的詞匯,出塊節(jié)點(diǎn)是Proposer,全節(jié)點(diǎn)是Acceptor。出塊節(jié)點(diǎn)持續(xù)打包交易,提交新的區(qū)塊,全節(jié)點(diǎn)驗(yàn)證新的區(qū)塊提案,保證新區(qū)塊和其中交易的正確性。從這個(gè)角度看,作為驗(yàn)證者的全節(jié)點(diǎn)更應(yīng)該被稱(chēng)作守護(hù)者(Keeper)。

按照這樣的理解,我們可以畫(huà)出這樣一個(gè)圖:

在圖3中,全節(jié)點(diǎn)網(wǎng)絡(luò)位于中心,形成一個(gè)相互驗(yàn)證的去中心化網(wǎng)絡(luò),一道安全屏障。輕節(jié)點(diǎn)連接這個(gè)網(wǎng)絡(luò)中的全節(jié)點(diǎn),使用全節(jié)點(diǎn)提供的服務(wù)。輕節(jié)點(diǎn)之間也可以形成自己的網(wǎng)絡(luò),但需要注意的是,輕節(jié)點(diǎn)網(wǎng)絡(luò)沒(méi)有驗(yàn)證功能,轉(zhuǎn)發(fā)在這里更多的是網(wǎng)絡(luò)層的概念。輕節(jié)點(diǎn)網(wǎng)絡(luò)和全節(jié)點(diǎn)網(wǎng)絡(luò)是不同的網(wǎng)絡(luò)。出塊節(jié)點(diǎn)連接全節(jié)點(diǎn)提交新的區(qū)塊,出塊節(jié)點(diǎn)之間也可以形成自己的網(wǎng)絡(luò),以更好的提供服務(wù),例如比特幣的FIBRE就是一個(gè)礦池之間的專(zhuān)用網(wǎng)絡(luò)。

全節(jié)點(diǎn)網(wǎng)絡(luò)對(duì)區(qū)塊鏈的安全至關(guān)重要。全節(jié)點(diǎn)數(shù)量越多,網(wǎng)絡(luò)越可靠,加密經(jīng)濟(jì)的基礎(chǔ)越穩(wěn)固。全節(jié)點(diǎn)的運(yùn)行成本和長(zhǎng)期數(shù)量這兩個(gè)指標(biāo)在未來(lái)的區(qū)塊鏈價(jià)值評(píng)估中應(yīng)該會(huì)扮演越來(lái)越重要的作用。區(qū)塊鏈發(fā)展面臨的一個(gè)關(guān)鍵問(wèn)題是,如何激勵(lì)全節(jié)點(diǎn)?這個(gè)問(wèn)題看上去簡(jiǎn)單,實(shí)際上會(huì)觸及一些非常深層次的(也許是不可調(diào)和的)矛盾,例如data availability problem,這里就不展開(kāi)說(shuō)了,以后有時(shí)間再寫(xiě)文章討論。

案例分析

當(dāng)我們理解了全節(jié)點(diǎn)的重要性,在腦海中建立了正確的網(wǎng)絡(luò)拓?fù)浜?,就可以用這個(gè)框架來(lái)分析實(shí)際的問(wèn)題了。這里舉兩個(gè)例子。

FIBRE

FIBRE是比特幣快速網(wǎng)絡(luò)中繼引擎(Fast Internet Bitcoin Relay Engine)的縮寫(xiě),是一個(gè)專(zhuān)門(mén)給礦工提供服務(wù)的區(qū)塊傳輸網(wǎng)絡(luò)。FIBRE在全球不同的位置部署了6個(gè)節(jié)點(diǎn),相互之間通過(guò)高速網(wǎng)絡(luò)連接,使用UDP+ForwardErrorCorrection傳送數(shù)據(jù),幾乎實(shí)現(xiàn)了無(wú)延遲的傳輸。在FIBRE注冊(cè)過(guò)的礦工可以連接到離自己最近的FIBRE節(jié)點(diǎn),以最短的時(shí)間獲得新的區(qū)塊數(shù)據(jù)。FIBRE和比特幣P2P網(wǎng)絡(luò)傳輸協(xié)議的一系列優(yōu)化使得比特幣的新區(qū)塊幾乎可以在瞬間被全世界的礦工接收,非常有效的降低了孤塊率,保證了網(wǎng)絡(luò)安全。

FIBRE是由Matt Corallo維護(hù)的一個(gè)需要注冊(cè)使用的網(wǎng)絡(luò),因此是一個(gè)中心化管理的系統(tǒng)。這也是FIBRE常為人所詬病的地方。但是如果我們按照?qǐng)D3的拓?fù)鋪?lái)分析,就會(huì)發(fā)現(xiàn)FIBRE的中心化對(duì)比特幣網(wǎng)絡(luò)并沒(méi)有負(fù)面影響:無(wú)論礦工是用中心化還是去中心化的網(wǎng)絡(luò)加速新區(qū)塊的傳播,這個(gè)行為都不會(huì)影響全節(jié)點(diǎn)對(duì)新區(qū)塊的驗(yàn)證。FIBRE也不是整個(gè)網(wǎng)絡(luò)的單點(diǎn),如果FIBRE崩潰或者作惡,礦工隨時(shí)可以切換回比特幣自己的P2P網(wǎng)絡(luò)。

思考題:同樣的出塊節(jié)點(diǎn)間專(zhuān)用加速網(wǎng)絡(luò),如果用于提升網(wǎng)絡(luò)吞吐量解決scalability問(wèn)題,上述結(jié)論依然成立嗎?

EOS

EOS的目標(biāo)是百萬(wàn)級(jí)的TPS,為了實(shí)現(xiàn)這個(gè)目標(biāo),EOS使用投票的方式由全網(wǎng)選出21個(gè)出塊節(jié)點(diǎn)(以及一定數(shù)量的候選節(jié)點(diǎn)),并要求出塊節(jié)點(diǎn)使用最好的硬件來(lái)支撐高性能。EOS是否真的實(shí)現(xiàn)了百萬(wàn)級(jí)TPS并不重要,重要的是,通過(guò)這種方式來(lái)提升性能不僅僅要求出塊節(jié)點(diǎn)付出不菲的成本,也要求全節(jié)點(diǎn)付出同樣的成本。然而與出塊節(jié)點(diǎn)不同,EOS網(wǎng)絡(luò)中的全節(jié)點(diǎn)并沒(méi)有得到網(wǎng)絡(luò)的補(bǔ)貼,因此用戶(hù)很難有足夠的動(dòng)力真的去支付幾乎與出塊節(jié)點(diǎn)相同的成本去運(yùn)行一個(gè)全節(jié)點(diǎn)。在這種情況下,網(wǎng)絡(luò)最終會(huì)演化成一個(gè)沒(méi)有全節(jié)點(diǎn)的結(jié)構(gòu):

ByteMaster對(duì)21個(gè)節(jié)點(diǎn)合理性的論證是,比特幣的算力也是集中在<10個(gè)礦池手中,21個(gè)節(jié)點(diǎn)其實(shí)比10個(gè)礦池更加去中心化。我們通過(guò)比較網(wǎng)絡(luò)拓?fù)鋺?yīng)該容易看出,這個(gè)辯護(hù)并不成立,因?yàn)閮烧叩木W(wǎng)絡(luò)結(jié)構(gòu)有很大區(qū)別,無(wú)法這樣直接比較。在EOS網(wǎng)絡(luò)中,由于去中心化全節(jié)點(diǎn)網(wǎng)絡(luò)的缺失,出塊節(jié)點(diǎn)缺乏監(jiān)督,用戶(hù)只能完全相信出塊節(jié)點(diǎn)不會(huì)作惡。出塊和驗(yàn)證的工作最終都集中到出塊節(jié)點(diǎn)的角色上,出塊節(jié)點(diǎn)既是運(yùn)動(dòng)員,又是裁判。而在比特幣的網(wǎng)絡(luò)中,大量的全節(jié)點(diǎn)承擔(dān)了裁判的角色,礦池僅僅是運(yùn)動(dòng)員。用戶(hù)可以相信大量的全節(jié)點(diǎn),不需要相信礦池。

需要指出的是,這個(gè)問(wèn)題實(shí)際上不僅僅是EOS的問(wèn)題,也是其他要在Layer 1擴(kuò)容的項(xiàng)目會(huì)遇到的問(wèn)題。

對(duì)CKB的啟示

出塊節(jié)點(diǎn),全節(jié)點(diǎn),輕節(jié)點(diǎn)形成了一個(gè)動(dòng)態(tài)的網(wǎng)絡(luò),網(wǎng)絡(luò)中的各類(lèi)角色都可以自由進(jìn)出(額,出塊節(jié)點(diǎn)實(shí)際上在很多區(qū)塊鏈中無(wú)法自由進(jìn)出,這個(gè)也不展開(kāi)了,以后有時(shí)間再寫(xiě)文章討論…),這些角色形成的拓?fù)浣Y(jié)構(gòu)(例如節(jié)點(diǎn)比例、誰(shuí)和誰(shuí)連接等等等等)決定了網(wǎng)絡(luò)的性質(zhì),包括性能、安全、中心化程度等各個(gè)方面。不同的設(shè)計(jì)可能會(huì)導(dǎo)致網(wǎng)絡(luò)最終形成不同的結(jié)構(gòu),而這個(gè)最終結(jié)構(gòu)所展現(xiàn)的性質(zhì)有可能和設(shè)計(jì)初衷是相違背的。

全節(jié)點(diǎn)為了能夠不信任任何第三方,選擇自行驗(yàn)證所有交易歷史。這種做法使全節(jié)點(diǎn)不僅僅滿足了自己的需求,也為網(wǎng)絡(luò)安全貢獻(xiàn)了力量,體現(xiàn)出一種正外部性。區(qū)塊鏈需要這種安全保證,因此全節(jié)點(diǎn)對(duì)于一個(gè)去中心化的網(wǎng)絡(luò)至關(guān)重要。如何內(nèi)部化這種正外部性是一個(gè)需要重視的課題,在這個(gè)課題還沒(méi)有解決的情況下,我們能做的只能是保證全節(jié)點(diǎn)可以運(yùn)行在一個(gè)較低的成本,以促進(jìn)網(wǎng)絡(luò)保有盡可能多的全節(jié)點(diǎn)。

對(duì)于希望成為未來(lái)加密經(jīng)濟(jì)的基礎(chǔ)設(shè)施的Nervos CKB來(lái)說(shuō),必須在設(shè)計(jì)之初就把這些因素考慮在內(nèi),以理想中的網(wǎng)絡(luò)結(jié)構(gòu)為目標(biāo),并通過(guò)經(jīng)濟(jì)激勵(lì)和其他機(jī)制設(shè)計(jì)來(lái)實(shí)現(xiàn)。這并不是一件容易的事情,還需要大量的研究和探索。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/24751.html

相關(guān)文章

  • 如何驗(yàn)證 Bitcoin Core 軟件簽名

    摘要:在簽名操作中,首先對(duì)信息進(jìn)行取散列值的操作,然后使用信息發(fā)送者的私鑰加密這個(gè)散列值,獲得一個(gè)數(shù)字簽名,并將簽名和原信息一同發(fā)送。 showImg(https://iocaffcdn.phphub.org/uploads/images/201903/29/9595/hcLQHeAops.png!large); 來(lái)自 簡(jiǎn)書(shū)btc address: 1FmWXNJT3jVKaHBQs2gAs...

    tigerZH 評(píng)論0 收藏0
  • [gist]pure and secure javascript oauth with yql

    from http://oyanglul.us It would be awesome if we can use OAuth in JavaScript purely in client side. before start to do that, please let me e...

    ityouknow 評(píng)論0 收藏0
  • Shell發(fā)送郵件以HTML展示

    摘要:有時(shí)候,監(jiān)控一個(gè)系統(tǒng)需要在系統(tǒng)出現(xiàn)警告時(shí)通過(guò)發(fā)送郵件來(lái)通知相關(guān)的負(fù)責(zé)人。一種是普通郵件,通過(guò)附件描述詳細(xì)報(bào)告一種是高級(jí)郵件哈哈,本來(lái)就是告警,還不趕快看,還要慢慢下載附件打開(kāi)看所以將附件內(nèi)容以直接展示到正文處,并通過(guò)樣式標(biāo)記警告。 有時(shí)候,監(jiān)控一個(gè)系統(tǒng)需要在系統(tǒng)出現(xiàn)警告時(shí)通過(guò)shell發(fā)送郵件來(lái)通知相關(guān)的負(fù)責(zé)人。本文講講如何shell發(fā)送郵件。一種是普通郵件,通過(guò)附件描述詳細(xì)報(bào)告;一種...

    roadtogeek 評(píng)論0 收藏0
  • Shell發(fā)送郵件以HTML展示

    摘要:有時(shí)候,監(jiān)控一個(gè)系統(tǒng)需要在系統(tǒng)出現(xiàn)警告時(shí)通過(guò)發(fā)送郵件來(lái)通知相關(guān)的負(fù)責(zé)人。一種是普通郵件,通過(guò)附件描述詳細(xì)報(bào)告一種是高級(jí)郵件哈哈,本來(lái)就是告警,還不趕快看,還要慢慢下載附件打開(kāi)看所以將附件內(nèi)容以直接展示到正文處,并通過(guò)樣式標(biāo)記警告。 有時(shí)候,監(jiān)控一個(gè)系統(tǒng)需要在系統(tǒng)出現(xiàn)警告時(shí)通過(guò)shell發(fā)送郵件來(lái)通知相關(guān)的負(fù)責(zé)人。本文講講如何shell發(fā)送郵件。一種是普通郵件,通過(guò)附件描述詳細(xì)報(bào)告;一種...

    phodal 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<