通過(guò)提供分布式存儲(chǔ)的區(qū)塊鏈系統(tǒng),數(shù)據(jù)制造者可以維護(hù)自己生產(chǎn)的數(shù)據(jù),這是一個(gè)開始,更進(jìn)一步,數(shù)據(jù)制造者可以通過(guò)不同的的方法和渠道來(lái)實(shí)現(xiàn)數(shù)據(jù)的收益,與此同時(shí),我們也可以通過(guò)這樣的方式從機(jī)器人手中分享數(shù)據(jù)。
一個(gè)擁有自己數(shù)據(jù)的所有權(quán),并能夠?qū)崿F(xiàn)數(shù)據(jù)自由交易的未來(lái),是一個(gè)值得為之努力的更好的未來(lái)。
Genaro聯(lián)合創(chuàng)始人、趣派科技首席技術(shù)官。曾為硅谷美信集成公司的核心開發(fā)者,并為三星提供算法,后投身于區(qū)塊鏈研發(fā),是第一批區(qū)塊鏈開發(fā)者和具備豐富創(chuàng)新經(jīng)歷的技術(shù)極客,經(jīng)驗(yàn)涉及區(qū)塊鏈虛擬機(jī)、P2P存儲(chǔ)、共識(shí)算法等諸多底層技術(shù)。
人的每一次行為都會(huì)在世界上產(chǎn)生一系列的記錄,一些是以記憶的方式被記錄下來(lái)的,比如結(jié)婚紀(jì)念日發(fā)生了什么有趣的事情;另外一些是以數(shù)據(jù)的形式被記錄下來(lái)的,比如在那一天,購(gòu)買了什么紀(jì)念品、在什么餐廳用餐。
在互聯(lián)網(wǎng)時(shí)代,后者會(huì)被各種應(yīng)用記錄下來(lái),保留在公司的數(shù)據(jù)庫(kù)中,再通過(guò)一系列的計(jì)算被使用。比如一個(gè)使用攜程訂酒店的人,會(huì)發(fā)現(xiàn)訂完酒店后送的打折券正好是自己想要消費(fèi)的一些游樂(lè)園區(qū)。
互聯(lián)網(wǎng)公司通過(guò)利用用戶數(shù)據(jù)來(lái)最大化公司的利益,如果一個(gè)人每個(gè)月的收入是15000元,在交付房租3000元后,所有的互聯(lián)網(wǎng)公司都在通過(guò)對(duì)這個(gè)人數(shù)據(jù)的分析想辦法將他兜里剩下的12000元榨干凈。
這種方式已經(jīng)滲透到每個(gè)人生活中的每一個(gè)環(huán)節(jié),它從側(cè)面反映出個(gè)人行為記錄是有數(shù)據(jù)價(jià)值的,用戶的每一次行為都讓互聯(lián)網(wǎng)公司更了解他個(gè)人的消費(fèi)習(xí)慣和消費(fèi)能力。
這些有價(jià)值的數(shù)據(jù)是被互聯(lián)網(wǎng)公司直接免費(fèi)拿走并使用的,我們可以將這樣的數(shù)據(jù)價(jià)值保留下來(lái)嗎?用現(xiàn)在最流行的話講就是,可以用區(qū)塊鏈試一下。
1. 實(shí)現(xiàn)數(shù)據(jù)價(jià)值的基礎(chǔ)設(shè)施
當(dāng)我們談到數(shù)據(jù)價(jià)值的時(shí)候,需要先小小的計(jì)算一下數(shù)據(jù)的體量。如果每一個(gè)人一次消費(fèi)產(chǎn)生80byte的記錄(按照信用卡和儲(chǔ)蓄卡ETF 80 byte file要求),每人每天按5次消費(fèi)計(jì)算,僅僅計(jì)算2億的中國(guó)城市人口,就會(huì)發(fā)現(xiàn)每天產(chǎn)生的消費(fèi)記錄數(shù)據(jù)為80GB,按照互聯(lián)網(wǎng)數(shù)據(jù)公司3個(gè)月左右開始畫像的話,則是7.2TB數(shù)據(jù)。那么在消費(fèi)次數(shù)、消費(fèi)人數(shù)、數(shù)據(jù)積攢時(shí)長(zhǎng)增加的時(shí)候,這類數(shù)據(jù)會(huì)以很快的速度達(dá)到PB級(jí)別。
這些數(shù)據(jù)能夠被一般意義上的區(qū)塊鏈系統(tǒng)存儲(chǔ)并處理嗎?不能。一般意義上的區(qū)塊鏈系統(tǒng),或者說(shuō)大多數(shù)的公鏈,它是這樣一種分布式系統(tǒng):系統(tǒng)中的每臺(tái)計(jì)算機(jī)都需要存儲(chǔ)同樣的文件,以保證系統(tǒng)的功能。顯而易見,它們是無(wú)法提供PB級(jí)別的存儲(chǔ)空間將數(shù)據(jù)價(jià)值保留在上面的。
所以我們需要將數(shù)據(jù)存儲(chǔ)在分布式存儲(chǔ)系統(tǒng)中,再通過(guò)區(qū)塊鏈的結(jié)算功能性實(shí)現(xiàn)數(shù)據(jù)價(jià)值。簡(jiǎn)單來(lái)講就是將存儲(chǔ)部署在分布式存儲(chǔ)系統(tǒng)中的同時(shí),將狀態(tài)留在區(qū)塊鏈上,以待之后的處理和使用。
這其中,分布式存儲(chǔ)是指通過(guò)不同的加密方式把數(shù)據(jù)存儲(chǔ)起來(lái),確保數(shù)據(jù)和鏈上的賬號(hào)一一對(duì)應(yīng),在未來(lái)的使用中,利用不同的加密計(jì)算工具對(duì)數(shù)據(jù)進(jìn)行快速的調(diào)用和處理,而在數(shù)據(jù)制造和計(jì)算時(shí),都可以做到半匿名的方式。相較于傳統(tǒng)互聯(lián)網(wǎng)的Dropbox,因?yàn)榻Y(jié)合了區(qū)塊鏈來(lái)存儲(chǔ)數(shù)據(jù),在密鑰的功能性和本地私密性之外,能夠增加額外的處理功能接口,以滿足數(shù)據(jù)分享和計(jì)算的需求,從而幫助數(shù)據(jù)更好地分發(fā)和拓展,實(shí)現(xiàn)數(shù)據(jù)的價(jià)值。
而「狀態(tài)」則是指數(shù)據(jù)來(lái)源以及數(shù)據(jù)的改變,或者數(shù)據(jù)運(yùn)算的結(jié)果。將這些狀態(tài)留在區(qū)塊鏈上是為了對(duì)其運(yùn)算和改變可以追溯,這樣可以更好的知道哪些數(shù)據(jù)更有價(jià)值,并通過(guò)即時(shí)的結(jié)算給出對(duì)應(yīng)的價(jià)值。
所以我們說(shuō),只有將區(qū)塊鏈系統(tǒng)與分布式存儲(chǔ)系統(tǒng)這兩種分布式系統(tǒng)相結(jié)合,而不是單純的只使用區(qū)塊鏈系統(tǒng),才有可能實(shí)現(xiàn)數(shù)據(jù)的價(jià)值,而實(shí)現(xiàn)了可以使用分布式存儲(chǔ)系統(tǒng)中的數(shù)據(jù)的區(qū)塊鏈系統(tǒng),是一種從設(shè)計(jì)到實(shí)現(xiàn)上都不同于一般公鏈系統(tǒng)的區(qū)塊鏈系統(tǒng)。
不過(guò),除了區(qū)塊鏈系統(tǒng)與分布式存儲(chǔ)相結(jié)合實(shí)現(xiàn)數(shù)據(jù)價(jià)值的方式之外,我們還可以從另一個(gè)角度探索數(shù)據(jù)價(jià)值的實(shí)現(xiàn),即只用區(qū)塊鏈作為結(jié)算賬本,把數(shù)據(jù)放在本地,在完成本地計(jì)算后將結(jié)果放在區(qū)塊鏈上。此時(shí)本地計(jì)算需要可信計(jì)算作為一個(gè)媒介,同時(shí)需要考慮預(yù)言機(jī)問(wèn)題,這部分可以參考現(xiàn)有的可信計(jì)算項(xiàng)目的解決方案。
2. 詳解「區(qū)塊鏈系統(tǒng)」與「分布式存儲(chǔ)系統(tǒng)」
為了更清楚的理解提供分布式存儲(chǔ)的區(qū)塊鏈系統(tǒng),我們先剖析一下「區(qū)塊鏈系統(tǒng)」和「分布式存儲(chǔ)系統(tǒng)」。
區(qū)塊鏈?zhǔn)峭ㄟ^(guò)分布式節(jié)點(diǎn)的存儲(chǔ)資源,對(duì)全網(wǎng)全節(jié)點(diǎn)進(jìn)行存儲(chǔ)同步,并通過(guò)相應(yīng)的共識(shí)技術(shù)保證內(nèi)部節(jié)點(diǎn)對(duì)存儲(chǔ)內(nèi)容更改的有效性,維護(hù)一個(gè)完整的可查找的數(shù)據(jù)庫(kù)。在此系統(tǒng)中,存儲(chǔ)的都是鏈內(nèi)生成賬戶之間余額的更改或者總剩余,當(dāng)然,更完善的一些系統(tǒng)功能也包括存儲(chǔ)了多個(gè)賬戶對(duì)數(shù)據(jù)庫(kù)中子賬目的數(shù)據(jù)狀態(tài)維護(hù)。
因此,該系統(tǒng)的主要功能是記錄狀態(tài)的改變,然后同步。對(duì)節(jié)點(diǎn)來(lái)說(shuō),無(wú)論是PoW,PoS還是PoX,其核心的要求就是遵循特定的投票規(guī)則,將新的變動(dòng)同步在所有節(jié)點(diǎn)的存儲(chǔ)中。
如果一個(gè)系統(tǒng)使用的是區(qū)塊鏈結(jié)構(gòu),那么它是不支持用戶個(gè)人數(shù)據(jù),或者說(shuō)不支持我們希望實(shí)現(xiàn)價(jià)值的數(shù)據(jù)的,區(qū)塊鏈上的數(shù)據(jù)是賬戶數(shù)據(jù)以及結(jié)算數(shù)據(jù),這些數(shù)據(jù)是完全相同的存儲(chǔ)到每一個(gè)節(jié)點(diǎn)的。
那么什么又是分布式存儲(chǔ)系統(tǒng)呢?
分布式存儲(chǔ)系統(tǒng)是分享分布式節(jié)點(diǎn)的存儲(chǔ)資源,通過(guò)文件完整性證明和糾刪碼校驗(yàn)技術(shù)對(duì)數(shù)據(jù)存儲(chǔ)方的數(shù)據(jù)進(jìn)行分布式管理,全網(wǎng)的節(jié)點(diǎn)并不維護(hù)相同的存儲(chǔ)信息得以降低冗余的一種分布式系統(tǒng)(區(qū)塊鏈系統(tǒng)中全網(wǎng)的節(jié)點(diǎn)維護(hù)相同的存儲(chǔ)信息)。
回到本文一開始提到的消費(fèi)數(shù)據(jù)的例子,現(xiàn)有的互聯(lián)網(wǎng)公司是通過(guò)數(shù)據(jù)的分布式存儲(chǔ),通過(guò)RAFT和多級(jí)災(zāi)備等方式,做適當(dāng)備份來(lái)保證數(shù)據(jù)不丟失,建立起一個(gè)能儲(chǔ)存海量數(shù)據(jù),并有效率、低開銷的系統(tǒng)。
也就是說(shuō)在分布式存儲(chǔ)系統(tǒng)這個(gè)部分,幾乎所有的公司都達(dá)成一個(gè)共識(shí),就是分布式存儲(chǔ)是現(xiàn)階段實(shí)現(xiàn)大量數(shù)據(jù)存儲(chǔ)的最好的一種方法。無(wú)論區(qū)塊鏈存在不存在,分布式存儲(chǔ)系統(tǒng)已經(jīng)是一個(gè)相對(duì)來(lái)說(shuō)比較完善、并且已經(jīng)廣泛用在實(shí)際生活中的系統(tǒng)了。
3. 提供分布式存儲(chǔ)的區(qū)塊鏈系統(tǒng)
在厘清區(qū)塊鏈系統(tǒng)和分布式存儲(chǔ)系統(tǒng)這兩種不同的分布式系統(tǒng)后,我們接著討論提供分布式存儲(chǔ)的區(qū)塊鏈系統(tǒng)。提供分布式存儲(chǔ)的區(qū)塊鏈系統(tǒng)是一種不同于一般公鏈的區(qū)塊鏈系統(tǒng),它是分布式存儲(chǔ)+特殊的區(qū)塊鏈系統(tǒng)設(shè)計(jì)。
一個(gè)普通的區(qū)塊鏈系統(tǒng),其核心邏輯在于覆蓋所有與賬戶有關(guān)的交易屬性上,比如賬戶(公私鑰)、賬戶轉(zhuǎn)賬(簽名系統(tǒng)和共識(shí)系統(tǒng))、以及條件狀態(tài)下的轉(zhuǎn)賬(操作碼和其對(duì)應(yīng)的編碼方式)。
而一個(gè)提供數(shù)據(jù)存儲(chǔ)的區(qū)塊鏈系統(tǒng)除了需要覆蓋以上三個(gè)屬性之外,由于其提供了存儲(chǔ)屬性,為了確保存儲(chǔ)的狀態(tài)未來(lái)也可以對(duì)條件進(jìn)行制約,需要在其操作碼上進(jìn)行判斷邏輯的添加,以保證將存儲(chǔ)產(chǎn)生的狀態(tài)、數(shù)據(jù)支持的狀態(tài)都能在鏈上得到追溯,這就是我們需要對(duì)提供存儲(chǔ)的區(qū)塊鏈系統(tǒng)進(jìn)行特殊設(shè)計(jì)的原因。
具體而言就是,區(qū)塊鏈?zhǔn)切枰獙?duì)特定條件下的數(shù)據(jù)狀態(tài)進(jìn)行維護(hù)的,狀態(tài)被保護(hù)起來(lái)才能保證交易正確之后狀態(tài)相應(yīng)改變了。那么如果分布式存儲(chǔ)的狀態(tài)沒(méi)有通過(guò)相應(yīng)的設(shè)計(jì)與區(qū)塊鏈系統(tǒng)結(jié)合的話,就會(huì)出現(xiàn)自動(dòng)執(zhí)行的一個(gè)空隙,如果狀態(tài)的空隙被人利用的話,就會(huì)出現(xiàn)存儲(chǔ)過(guò)程狀態(tài)提前被記錄,或者滯后被記錄,這會(huì)影響到區(qū)塊鏈系統(tǒng)中賬戶余額,也就是產(chǎn)生了系統(tǒng)不安全的空間。
因此,提供分布式存儲(chǔ)的區(qū)塊鏈系統(tǒng)和一般公鏈系統(tǒng)不同的部分主要就體現(xiàn)在「狀態(tài)」這部分,記錄某些狀態(tài)并作出賬戶上的反饋。
另外,存儲(chǔ)相關(guān)狀態(tài)也使得智能合約可以及時(shí)獲取狀態(tài),從而可以設(shè)計(jì)出一個(gè)能夠使用外部數(shù)據(jù)的子賬本,這樣在工程上能更好的流程化,也會(huì)降低用戶由于預(yù)言機(jī)導(dǎo)致的鏈上資產(chǎn)損失的可能性。
4. 分布式存儲(chǔ)系統(tǒng)的設(shè)計(jì)和挑戰(zhàn)
在介紹完基本的概念后,接下來(lái)介紹系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。為了清晰,先討論分布式存儲(chǔ)系統(tǒng)的設(shè)計(jì),再討論提供分布式存儲(chǔ)的區(qū)塊鏈系統(tǒng)的設(shè)計(jì)。
分布式存儲(chǔ)系統(tǒng)的設(shè)計(jì)主要解決三個(gè)問(wèn)題:文件如何安全放入;文件如何安全存儲(chǔ);文件如何不被存儲(chǔ)提供方「偷走」。
1.文件如何安全放入
把數(shù)據(jù)在客戶端上傳前做加密和分割,通過(guò)分布式存儲(chǔ)的分發(fā)方式上傳到存儲(chǔ)提供方的空間內(nèi),通過(guò)相關(guān)的存儲(chǔ)心跳檢測(cè)來(lái)保證在用戶需要數(shù)據(jù)的時(shí)候可以完整的取回。
在整個(gè)過(guò)程中,用戶的數(shù)據(jù)在本地就已進(jìn)行加密,用戶不需要擔(dān)心數(shù)據(jù)被偷窺以及存儲(chǔ)提供方?jīng)]有承擔(dān)明文存儲(chǔ)的風(fēng)險(xiǎn)。
2.文件如何安全存儲(chǔ)
根據(jù)分布式存儲(chǔ)的冗余存儲(chǔ)原理,一般來(lái)說(shuō)對(duì)應(yīng)一個(gè)資源,如果要保證任意兩個(gè)節(jié)點(diǎn)(N=2)掉線依舊不影響系統(tǒng)可用性,就需要維護(hù)2N+1個(gè)資源數(shù)。也就是說(shuō)一份文件需要存給5臺(tái)服務(wù)器。
按照12個(gè)節(jié)點(diǎn)為一個(gè)批次的設(shè)計(jì),那么任意5個(gè)節(jié)點(diǎn)掉線是不影響可用性的,但是如果遭遇重放攻擊,也就是加密后資源被不合理地配置,攻擊節(jié)點(diǎn)是可以通過(guò)某些方法來(lái)阻止文件被安全召回的。這就需要對(duì)分發(fā)方式進(jìn)行設(shè)計(jì),來(lái)保障安全的存儲(chǔ)。
此外在存儲(chǔ)期間,可以通過(guò)相關(guān)的評(píng)分系統(tǒng)對(duì)節(jié)點(diǎn)質(zhì)量進(jìn)行評(píng)分,保證除了共識(shí)節(jié)點(diǎn)之外提供分布式存儲(chǔ)服務(wù)的節(jié)點(diǎn)的質(zhì)量。
3.文件如何不被存儲(chǔ)提供方「偷走」
首先,數(shù)據(jù)是在用戶本地機(jī)器上的客戶端加密的,這樣確保了上傳之前的文件已經(jīng)被加密,存儲(chǔ)方是無(wú)法看到用戶數(shù)據(jù)的。其次,在冗余存儲(chǔ)的部分,每個(gè)存儲(chǔ)提供方的通信目錄中不會(huì)包含所有的文件碎片存儲(chǔ)方,這樣也一定程度上防止了共謀的可能性。
在解決了以上這三個(gè)問(wèn)題后,該系統(tǒng)就能夠被稱為一個(gè)安全的分布式存儲(chǔ)系統(tǒng),可以提供分布式存儲(chǔ)服務(wù)了。
在整個(gè)過(guò)程中,設(shè)計(jì)一個(gè)合理的分布式存儲(chǔ)可取回校驗(yàn)方式是比較大的挑戰(zhàn),它的要求不只是通過(guò)問(wèn)詢達(dá)到返回結(jié)果的可靠,還要通過(guò)特殊方式預(yù)防重放攻擊試探以及攻擊,提高存儲(chǔ)系統(tǒng)的可用性。
5. 提供分布式存儲(chǔ)的區(qū)塊鏈系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
提供分布式存儲(chǔ)的區(qū)塊鏈系統(tǒng)主要面向兩個(gè)對(duì)象,一是節(jié)點(diǎn),通過(guò)提供存儲(chǔ)參與分布式系統(tǒng)的建立,其參與的程度、節(jié)點(diǎn)質(zhì)量的好壞主要反映在提供的存儲(chǔ)上;二是使用者,通過(guò)智能合約獲得存儲(chǔ)的狀態(tài),并進(jìn)行賬戶的收轉(zhuǎn)賬。
那么需要建立一個(gè)體系,在這個(gè)體系中,節(jié)點(diǎn)的存儲(chǔ)質(zhì)量決定了節(jié)點(diǎn)能否獲得更優(yōu)的收益,使用者可以在智能合約中使用存儲(chǔ)的狀態(tài)。該系統(tǒng)的特殊設(shè)計(jì)主要在兩個(gè)部分,一個(gè)在技術(shù)部分,主要是解決使用功能性的問(wèn)題;一個(gè)在治理部分,主要解決分布式服務(wù)供給方質(zhì)量的問(wèn)題。
從技術(shù)的角度,支持分布式存儲(chǔ)的區(qū)塊鏈系統(tǒng)需要的是對(duì)存儲(chǔ)狀態(tài)的更新,以及方便使用,所以需要在原有的虛擬機(jī)基礎(chǔ)上,增添相應(yīng)的操作碼以及對(duì)應(yīng)的狀態(tài)邏輯,保證聯(lián)動(dòng)時(shí)不會(huì)造成狀態(tài)泄露。
從治理的角度,由于使用了存儲(chǔ)這種低功耗的資源,那么在共識(shí)上需要對(duì)PoS做修改,使用混合共識(shí),節(jié)點(diǎn)除了抵押鏈上資產(chǎn),還需要對(duì)存儲(chǔ)系統(tǒng)進(jìn)行相關(guān)的貢獻(xiàn)才能出塊。
這樣做的好處是:由于存儲(chǔ)本身無(wú)法產(chǎn)生特別大的收益,那么通過(guò)出塊收益來(lái)補(bǔ)貼提供較大貢獻(xiàn)的節(jié)點(diǎn),能夠激勵(lì)節(jié)點(diǎn)提供穩(wěn)定的存儲(chǔ)。如果節(jié)點(diǎn)達(dá)不到出塊標(biāo)準(zhǔn),也可以通過(guò)共建出塊節(jié)點(diǎn)的方式在鏈內(nèi)部參與到節(jié)點(diǎn)建設(shè)中,保證可信任的抵押出塊節(jié)點(diǎn)能夠在出塊的列表內(nèi)。
除了上述兩個(gè)角度之外,從經(jīng)濟(jì)模型的角度,需要在每一次存儲(chǔ)量提升之后,通過(guò)帕累托分布對(duì)Staking條件進(jìn)行微調(diào),保證整個(gè)系統(tǒng)的抵押分布不會(huì)停滯在某一個(gè)存儲(chǔ)階段。一系列這樣的調(diào)整和更新才能保證整個(gè)存儲(chǔ)生態(tài)的正向發(fā)展。
6. 數(shù)據(jù)的使用
支持分布式存儲(chǔ)的區(qū)塊鏈系統(tǒng)能夠提供安全的方法存儲(chǔ)并使用每個(gè)人生產(chǎn)的寶貴數(shù)據(jù),并保證用戶對(duì)其數(shù)據(jù)的所有權(quán)。只有在此基礎(chǔ)上,才能進(jìn)而通過(guò)工具,讓用戶獲得這些屬于他的數(shù)據(jù)的價(jià)值。
要實(shí)現(xiàn)數(shù)據(jù)的價(jià)值,涉及到如何對(duì)存儲(chǔ)后的數(shù)據(jù)進(jìn)行計(jì)算,以及將計(jì)算結(jié)果進(jìn)行充分利用等等問(wèn)題,需要借助于可信計(jì)算和更前沿的技術(shù)來(lái)實(shí)現(xiàn),這是一個(gè)需要單獨(dú)探討的話題,本文將不做具體討論。
在現(xiàn)階段,系統(tǒng)中的數(shù)據(jù)可通過(guò)如下兩種方法被使用:
1、智能合約??捎涗洜顟B(tài)的存儲(chǔ)可以豐富智能合約的廣度,智能合約在得到數(shù)據(jù)的支持后,能夠產(chǎn)生新的用途,出現(xiàn)新的類型,進(jìn)而可能帶來(lái)全新的生態(tài)。
2、跨鏈。該系統(tǒng)可為其他的區(qū)塊鏈系統(tǒng)提供分布式的數(shù)據(jù)存儲(chǔ)服務(wù),也可以對(duì)其他區(qū)塊鏈的鏈上狀態(tài)進(jìn)行相關(guān)的再處理。
通過(guò)提供分布式存儲(chǔ)的區(qū)塊鏈系統(tǒng),數(shù)據(jù)制造者可以維護(hù)自己生產(chǎn)的數(shù)據(jù),這是一個(gè)開始,更進(jìn)一步,數(shù)據(jù)制造者可以通過(guò)不同的的方法和渠道來(lái)實(shí)現(xiàn)數(shù)據(jù)的收益,與此同時(shí),我們也可以通過(guò)這樣的方式從機(jī)器人手中分享數(shù)據(jù)。
一個(gè)擁有自己數(shù)據(jù)的所有權(quán),并能夠?qū)崿F(xiàn)數(shù)據(jù)自由交易的未來(lái),是一個(gè)值得為之努力的更好的未來(lái)。
評(píng)論
查看更多