Dapp-Development

在乙太坊區塊鏈上儲存私人數據

  • April 30, 2018

我計劃利用乙太坊製作一個應用程序來儲存使用者的私人數據。最終,我希望選定的使用者可以訪問這些數據。

我在 SE、reddit 和其他關於解決此問題的最佳方法的文章中看到了相互矛盾的答案和討論。雖然這裡有一些我一直在考慮的選項:

  1. 我可以用密鑰加密,然後添加到區塊鏈中,但是,這不就相當於數據庫被黑客入侵了嗎?當然,這些數據是加密的,但它可供公眾使用(Vitalik 認為它是低技術的,有人能提出為什麼這不是一個好方法嗎?)。此外,這可能會因大量交易而變得昂貴。
  2. 使用 Quorum,不是 100% 確定它是否適合我的案例。
  3. Zcash 可能會提供私有數據解決方案(尚未完全研究),但如果可能的話,我寧願留在乙太坊,可能會有更長的壽命。
  4. 我可以採取與檸檬電子郵件類似的路線:乙太坊上的消息交易數據,IPFS 上的加密數據,IPFS 上的前端。

我覺得 4(檸檬電子郵件)是最好的選擇,不過,有點像作弊,因為當時數據不在區塊鏈上。

還有其他我應該考慮的選擇嗎?有沒有更好的方法來實現這一點?

在寫我的問題時,我沒有考慮的一件事是首先使用乙太坊的關鍵特性……不變性。我要儲存的私有數據也需要是不可變的。這是只有區塊鏈才能提供的東西,所以在這種情況下,我將選擇選項 1,將私有數據儲存在鏈上。

我擔心的是數據可能會以某種方式被解密,但是,我似乎不必擔心。

我將使用 sha3(嗯,乙太坊版本“keccak”)進行加密,它甚至可以提供針對量子攻擊的保護,因此這應該足以讓任何鏈上私有數據無風險。除了本文之外,我找不到許多關於解密需要多長時間的非荒謬技術建議。

如果量子校正由每秒執行幾百萬雜湊的 ASIC 處理(並且如果 Vulture South 的電子表格是正確的),格羅弗的算法將需要大約 10 32年才能破解 SHA-256 或 SHA3-256。

我沒有找到更好的選擇,所以如果有人有建議,請說出來。

此外,我沒有找到關於為什麼 Vitalik 認為它技術含量低以及什麼是合適的替代方案的答案。

選項 2 - Quorum 似乎只適用於希望彼此共享數據的組織。

選項 3 - 我不認為 zcash 想堅持使用乙太坊

選項 4 - 不適合我,需要數據是不可變的。

編輯:所以我沒有意識到 sha3 提供了一種加密方式(是的,我是菜鳥)。由於我是這個領域的新手,我不確定哪種算法最好,所以,我的搜尋繼續……

編輯 2 (2018-04-30):所以在稍後嘗試實施後,我發現當您在頂部添加汽油費時,價格會變得非常瘋狂。由於價格不可預測,而且大量數據的價格非常高,就我的目的而言,我認為區塊鏈對於我的案例來說是負擔不起的。這並不意味著您當然不應該……這取決於您的使用者群以及他們願意支付的費用。幾個月前,當我最後一次查看價格時,大致計算為儲存 64 個字元的雜湊值大約需要 1.70 英鎊。這就是我目前正在處理的事情。

我不認為解決方案 4 是作弊。區塊鏈更像是一個共識引擎,而不是一個數據庫,如果你將所有數據儲存在公共區塊鏈上,它也會非常昂貴。將大量數據儲存在 ipfs 或 swarm 上,然後只儲存區塊鏈中的雜湊值正在成為 Dapps 避免高成本的標準解決方案

引用自:https://ethereum.stackexchange.com/questions/26332