Andy
Andy

手民

「去中心」存儲系統的極限

本文系給@伊卡洛斯为什么运用了区块链技术的“每一片雪花”网站打不开了?給我的問題的回覆。


簡約版

只有存儲在自己控制的存儲介質上的數據,纔是真正可以控制的(廢話?)。如果數據存在別人的電腦上,或者你都不知道數據存在哪裏,那合理的假設就是「這些數據遲早會丟」。

如果不想數據丟,自家硬盤存幾份。


正文

所謂「去中心」的存儲系統,區塊鏈也好,IPFS也罷,只要是電子計算機構成,都必須遵從以下三條規則:

1. 數據必須有物理載體;

2. 數據載體必須與你的機器連接;

3. 數據必須有檢索體系。


1. 數據必須有物理載體

信息必須有具體的物理載體,所謂數據「存儲在區塊鏈上」,或者「存儲在IPFS上」,或者「存儲在互聯網上」,都是比喻而已。

在電子計算機體系,常用載體就是硬盤(可以是磁盤或者固態硬盤)。一個比特的數據,可由磁盤上某個磁體的磁極方向表示,也可由固態硬盤上某個半導體的電位高低表示。

這件事爲什麼重要?

一,因爲如果信息必須依附在物理載體上,只要摧毀物理載體即可摧毀信息。「刪不掉」的信息需要「摧毀不掉」的物理載體。

二,控制物理載體的人就控制信息。誰控制了這塊硬盤,誰就能改這塊硬盤上存儲的數據。數據可以多存幾份,然後通過共識算法去識別、排除篡改,但是並不能抑制篡改本身。而且,共識算法也有其極限,只要篡改節點夠多,假的版本也可以成爲新共識。

2. 數據載體必須與你的機器連接

硬盤要接到電腦上,電腦要通過某種網絡與你的電腦連接,這樣你才能讀取對方硬盤上的數據。

這件事爲什麼重要?

因爲互聯網是很容易監聽、切斷、篡改的。就算數據有存檔,如果網絡切斷了,域名解析污染了,那你還是拿不到。理論上數據「刪不掉」,但實際上你也拿不到。掉到海裏的鈔票還不是你的?

3. 數據必須有檢索體系

就算數據存好了,載體也跟你的電腦連接,也不代表你就用得上這個數據,因爲你還必須把你想要的數據找出來。

就好象,如果你現在要找資料,但是不準用搜索引擎,那怎麼辦?數據就在網上,你只要知道地址就能加載出來,但是地址是什麼呢?

圖書館叫大家看完書不要自己放回書架,就是以爲一旦書脫離了設計的檢索體系,那就跟丟了一樣了。


下面講講常見的幾種去中心存儲體系。

比特幣,區塊鏈始祖。目前全世界大約有10,000個節點(可以簡單理解爲比特幣全交易數據有10,000台機器存儲了)。專精貨幣轉賬交易數據,不過有一些技巧可以存極小(80 Byte左右)的任意數據進去。這些機器存儲過往交易數據的動機是因爲有比特幣獎勵,第一通過交易存數據要交易費;第二現在還可以挖礦賺錢,挖礦需要之前的數據驗證交易有效性,驗證有效性需要所有交易記錄,所以挖礦節點一定存儲了全套數據。節點也有動機分發交易數據,因爲只有他們自己版本的數據獲得大家承認,他們的挖礦收益才能實現。

EOS,跑Proof of Stake的,金權政治體系,不用挖礦,而是持幣者票選一些超級節點,爲大家記錄交易數據。貨幣每年通脹1%,分給超級節點。因此超級節點有動機爲其他人存儲、分發交易信息。

IPFS,其實跟Bit Torrent(BT)差不多,就是個分發文件的協議,不過創辦者IPO成功了,有錢。存儲節點沒有直接動機爲其他人儲信息。有一個獎勵存儲節點的姐妹項目,Filecoin,還沒上線。


區塊鏈大多是爲貨幣交易設計的,存儲價格以Byte算,不太適合存文字,更不適合存圖片視頻什麼的。

故,現在的「去中心/區塊鏈內容體系」,大多數並不直接將數據內容存在鏈上,而是把內容濃縮成一個很小的數字指紋,把指紋發佈到鏈上,以示不能篡改。完整內容要不就存在運營方自己的電腦上,要不時髦一點給自己的服務器開啓IPFS接口,從而讓數據多一條檢索渠道。

在這個方案下,如果運營方自己跑路了,內容是找不回來的。

也有把全部內容都發佈到鏈上的方案,比如memo.cash,但是文章不能長(類twitter),而且也總要有人花錢把他們發到鏈上去(一般是運營方墊付了)。如果運營方跑路了,如果運營方公佈了與區塊鏈的接口,是可以把內容找回來的。如果沒有,就要自己去研究區塊鏈整條鏈的數據,把內容篩選出來。


怎樣判斷一個「去中心內容體系」有多可靠呢?

第一、如果它依賴Web體系(比如只能在瀏覽器用),那只要這個域名掛了、或者域名指向的服務器掛了,那麼檢索功能就一定失效(見上述條件3)。數據本身也許不在了,在也不好找了。

第二、如果它有獨立的客戶端,但是依賴互聯網,那麼只要互聯網掛了,或者被互聯網運營商封掉了,那它也會掛(見上述條件2)。什麼樣的App依賴互聯網呢?幾乎所有App都依賴互聯網,如果一個App可以不走互聯網與其他機器聯網,它一定會說的,比如FireChat。

第三、允許你在本地存儲數據的體系更可靠,因爲你知道數據在哪裏(見上述條件1)。

第四、如果它不是開源的,那你只能信任運營方真的有按他們聲稱的技術指標去實現。

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…
加载中…

发布评论