Evm

使用 EVM 或 Swarm 進行數據儲存

  • January 22, 2018

我想維護一個鍵值對的數據儲存。例如,我的 dapp 使用者輸入了他們最喜歡的食物。我想將他們的帳戶映射到食物名稱。我的理解是我可以通過智能合約來做到這一點,或者我可以將它儲存在 swarm 中。swarm 上的數據儲存與智能合約中的數據儲存有什麼區別?通過將數據儲存在 swarm 中而不是通過 EVM 狀態,我是否可以獲得更多隱私?

將數據儲存在智能合約中很昂貴,將大量數據保存到智能合約中是不經濟的。您可以更好地控制如何(而不是誰)通過智能合約訪問您的數據。但是,當您通過交易發送數據時,所有節點都會收到它,因此為了隱私,您必須對數據進行加密。

在 swarm 中,您上傳您的內容,然後將其切成小塊,每個塊根據其散列發送到不同的節點進行儲存 - 基本上散列也是塊的地址。擁有雜湊的每個人都可以檢索和讀取內容。因此,在 swarm 中,如果你想要隱私,你需要加密你的數據並管理密鑰(swarm 團隊正在開發一個內置的加密設施)。

然而,在 swarm 中儲存要便宜得多,並且適用於任何大小的數據。目前,它甚至是免費的,因為正在實施 SWAP 記帳協議。當它被啟用時,支付是由於消耗數據,並且服務數據的節點將被支付(小額支付)。此外,您的數據將由節點根據受歡迎程度提供服務。

不受歡迎的數據(低請求頻率或無請求頻率)可能會被節點清除,但您可以通過預付款來確保它。

最後,通過參與 swarm 網路,您最終還可能因提供內容而獲得報酬,抵消(甚至超過)您的保險成本。

Swarm 仍然是 alpha,所以你不應該將它用於關鍵任務應用程序。

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