在 Conflux 中,對於智慧合約變數這種需要長期儲存的資料,在資料寫入的時候會收取儲存押金,價格為 1 CFX/KB。這些押金會在儲存空間被釋放的時候退還給最初的支付者。而這些以儲存押金的形式鎖定起來的代幣,也會產生利息,這部分利息構成了礦工獎勵的第二部分,用於支付礦工所付出的儲存成本。如果當前共有 100 GB 的資料需要維護儲存,那麼儲存押金總量大約是一億 CFX, 每個區塊產生的利息約為 0.06 CFX。
這裡,我們詳細展開講一下哪些資料是收取儲存費的。
如果一個交易在附言欄(input)部分填入了大量的資料,這個大交易會使區塊丟失一些打包其他交易的機會,因為區塊大小有上限。但在大約一天過後,交易本身會被全節點刪除,只有檔案節點可以查到。
因此,這些資料是不收取儲存押金的,因為它對全節點儲存空間的佔用是短期的。或者可以理解成,在交易費中,已經涵蓋了在未來一天時間內全節點的儲存費用。如果一個智慧合約維護了一個陣列,並且在陣列裡存入了大量的資料。那麼這些資料需要被所有節點永久地儲存下來(除非被刪除),以保證無論何時呼叫合約,合約都可以正常被執行。
既然這些資料對全節點的儲存空間的佔用是長期的,甚至是永久的,那麼這些資料的儲存就要支付儲存押金。而儲存押金的利息將用來支付資料的儲存成本。
每個 epoch 中所有產生的儲存押金利息,將在同 epoch 的區塊之間,以各區塊的基礎獎勵為權重平分。也就是說,如果一個區塊受到了來自光錐外區塊的懲罰,這個懲罰同樣會影響它第二部分儲存抵押利息獎勵的分配。