Contract-Design

從智能合約訪問 Swarm 內容

  • January 18, 2017

目前,乙太坊虛擬機中沒有指令可以訪問儲存在 Swarm 上的資源。有計劃添加這樣的功能嗎?

出於與隨機數生成、通用 Web 訪問或系統時間相同的原因,這樣的功能(字面意思為對內容的訪問)是不可能的:VM 必須是完全確定性的黑盒,在處理事務的所有節點中執行完全相同的方式。

但是,間接“訪問”將可能以類似於 btc 中繼的方式進行:這裡的間接意味著交易可以在 swarm 上斷言您可以挑戰的特定內容。

我們需要相信的是,有可能證明具有偏移量o和長度的字節序列l確實是某個時間t在 url 下的文件的一部分u(例如mydomain/path/to/my/content

為此的步驟:

  1. 你可以證明,在b對應時間的區塊中, tENS 系統資料庫h將雜湊顯示為mydomain.
  2. 您可以證明這是指向 hashh的清單(清單級聯)的根雜湊。path/to/my/content``h0
  3. 您可以證明它是包含跨越挑戰子字元串的塊(或一系列塊)h0的文件的根雜湊。c``c0,.. cn
  4. 您可以證明被質疑的子字元串在(或不在)相關偏移量處
  5. 您可以“證明”在相關時間,tc 塊有一張無異議的收據(有效的監護證明)。

swarm 將使用證明友好的清單格式和可靠的 32 字節基於分段的二元默克爾樹作為 swarm 散列的基本散列。這意味著此類證明與清單下文件集合的大小加上 url 下文件的大小成對數(忽略 1 中的歷史狀態證明復雜性)。

步驟 5 與其他步驟的“證明”風格略有不同,因為它斷言了相關資訊的實際可用性。

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