Contract-Design
從智能合約訪問 Swarm 內容
目前,乙太坊虛擬機中沒有指令可以訪問儲存在 Swarm 上的資源。有計劃添加這樣的功能嗎?
出於與隨機數生成、通用 Web 訪問或系統時間相同的原因,這樣的功能(字面意思為對內容的訪問)是不可能的:VM 必須是完全確定性的黑盒,在處理事務的所有節點中執行完全相同的方式。
但是,間接“訪問”將可能以類似於 btc 中繼的方式進行:這裡的間接意味著交易可以在 swarm 上斷言您可以挑戰的特定內容。
我們需要相信的是,有可能證明具有偏移量
o
和長度的字節序列l
確實是某個時間t
在 url 下的文件的一部分u
(例如mydomain/path/to/my/content
)為此的步驟:
- 你可以證明,在
b
對應時間的區塊中,t
ENS 系統資料庫h
將雜湊顯示為mydomain
.- 您可以證明這是指向 hash
h
的清單(清單級聯)的根雜湊。path/to/my/content``h0
- 您可以證明它是包含跨越挑戰子字元串的塊(或一系列塊)
h0
的文件的根雜湊。c``c0,.. cn
- 您可以證明被質疑的子字元串在(或不在)相關偏移量處
- 您可以“證明”在相關時間,
t
c 塊有一張無異議的收據(有效的監護證明)。swarm 將使用證明友好的清單格式和可靠的 32 字節基於分段的二元默克爾樹作為 swarm 散列的基本散列。這意味著此類證明與清單下文件集合的大小加上 url 下文件的大小成對數(忽略 1 中的歷史狀態證明復雜性)。
步驟 5 與其他步驟的“證明”風格略有不同,因為它斷言了相關資訊的實際可用性。