Go-Ethereum

鑑於目前乙太坊網路的增長趨勢,智能合約是否適合長期使用/儲存?

  • August 24, 2018

我的問題實際上是三個部分,(是的,我知道正在進行的分片開發):

  1. 可以免費訪問乙太坊網路數據(我們通常不需要區塊鏈的其餘部分,但我們需要儲存所有內容才能訪問一小部分?這有什麼經濟利益?沒有礦工獎勵……我也知道 ipfs)
  2. 儲存智能合約和處理它們等可能需要更高的成本(gas),其中參與的使用者需要在一個列表中(映射)。從長遠來看,將所有這些儲存起來並在使用天然氣的情況下進行加工在經濟上是否可行?因為如果我沒記錯的話,目前的乙太坊節點確實需要 SSD(是的,它確實需要完整節點。)才能在其上執行,並且在不久的將來很容易進入 TB 的數據。(儲存/處理定價與區塊鏈大小處理……乙太坊網路對於非常流行的智能合約是否可持續/可行?)
  3. 我們可以在乙太坊網路中再次儲存多少數據?無限?從單一契約的角度來看。我聽說你可以儲存盡可能多的數據,只要不超過 100GB。我了解底層後端數據庫是 leveldb … LEVELDB … 100GB?這不會是物聯網的實際儲存。

如果您是某種高級程序員,請僅回答這些問題。謝謝。

  1. 是的,從區塊鏈獲取數據是免費的。您可以自己同步一個完整節點(目前需要約 50 gb,根據您的系統/網路同步幾個小時到一天),同步一個輕節點(最多幾個 gb,同步幾分鐘),或者使用 infuras 公共節點(即時,無需同步,但也值得信賴)。
  2. 當然,您應該盡可能少地獲得儲存在合約中所需的金額。通常,如果您不需要在鏈上操作/檢索數據,那麼您應該只儲存 IPFS 雜湊之類的東西並將實際數據儲存在 IPFS 上。只在鏈上儲存*需要的東西。*這意味著餘額、權限等,但不包括使用者頭像或評論之類的東西。
  3. 可以儲存的數據量是無限的。唯一放緩的因素是它很貴。在儲存中創建一個 256 位字需要 20k gas,之後更新它需要 5k gas。按照目前的汽油價格,這是 4-5 美分和 1 美分。忽略 gas 價格滑點,每個區塊只有 800 萬 gas,分配 1 gb 的鏈上儲存,分配成本大約為 500,000 美元,不包括 21k tx 成本和所需的其他操作碼。

添加到現有答案。

  1. …這有什麼經濟利益?

幾個想法:

  1. 你正在幫助保持網路安全,進而保護你的 ETH。通過執行一個誠實的、完整的(非探勘)節點,您將添加到執行共識算法的誠實版本的節點池中。您的節點能夠驗證區塊和交易,並防止不誠實的傳播。網路越健康,您的投資就越安全。
  2. 您可以執行自己的錢包。沒有必要依賴第三方,不管他們應該是多麼值得信賴。同樣,您的資金更安全。
  1. …在不久的將來,這很容易進入 TB 的數據。

有關現有修剪和同步模式的描述,請參閱乙太坊區塊鏈大小不會很快超過 1TB 。這沒有考慮分片。(Vitalik:“分片即將到來”)

  1. …我了解底層後端數據庫是 leveldb … LEVELDB … 100GB?

取決於客戶端的實現。Geth 使用 LevelDB。Parity 使用 RocksDB(是的,很好,它是 LevelDB 的一個分支)。您可以自由地使用您喜歡的任何數據庫編寫實現——黃皮書規範——就它是一個規範而言——沒有提及底層數據庫。

這不會是物聯網的實際儲存。

也許不是現在。修剪模式和分片會有所幫助。當應用於物聯網硬體時,克萊德定律也將如此。

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