Greifen Sie über einen Smart Contract auf Swarm-Inhalte zu

Derzeit gibt es in der Ethereum-VM keine Anweisung, auf Ressourcen zuzugreifen, die auf Swarm gespeichert sind. Ist es geplant, eine solche Funktion hinzuzufügen?

Antworten (1)

Eine solche Funktion (wörtlich als Zugriff auf Inhalte interpretiert) ist aus demselben Grund unmöglich wie die Generierung von Zufallszahlen, generischer Webzugriff oder Systemzeit: Die VM muss eine vollständig deterministische Blackbox sein, die in allen Knoten, die Transaktionen verarbeiten, genau gleich ausgeführt wird.

Ein indirekter „Zugriff“ wird jedoch ähnlich wie beim BTC-Relay möglich sein: Indirekt bedeutet hier, dass eine Transaktion einen bestimmten Inhalt im Schwarm geltend machen kann, den Sie anfechten können.

Alles, was wir glauben müssen, ist, dass es möglich ist, zu beweisen, dass eine Byte-Folge mit Offset ound Länge zu einem bestimmten lZeitpunkt tunter einer URL tatsächlich Teil eines Dokuments ist u(z. B. mydomain/path/to/my/content)

die schritte dazu:

  1. Sie können beweisen, dass bei einem Block b, der der Zeit entspricht, die tENS-Registrierung Hash hals Auflösung von mydomain.
  2. Sie können beweisen, dass dies hder Root-Hash eines Manifests (Kaskade von Manifesten) ist, in dem path/to/my/contentauf hash zeigt h0.
  3. Sie können beweisen, dass dies h0der Root-Hash eines Dokuments ist, das einen Chunk c(oder eine Reihe von Chunks c0,.. cn) enthält, die sich über die herausgeforderte Teilzeichenfolge erstrecken.
  4. Sie können nachweisen, dass sich die angefochtene Teilzeichenfolge am relevanten Offset befindet (oder nicht).
  5. Sie können „beweisen“, dass tChunk c zum maßgeblichen Zeitpunkt eine unangefochtene Quittung hatte (gültiger Sorgerechtsnachweis).

Swarm verwendet ein beweisfreundliches Manifestformat und einen soliditätsfreundlichen 32-Byte-Segment-basierten binären Merkle-Baum als Basis-Hash für den Schwarm-Hash. Dies bedeutet, dass solche Beweise logarithmisch sind in der Größe der Dokumentensammlung unter dem Manifest plus der Größe des Dokuments unter der URL (ohne Berücksichtigung der historischen Zustandsbeweiskomplikation in 1).

Schritt 5 ist ein etwas anderer „Beweis“ als der Rest, da er die tatsächliche Verfügbarkeit der fraglichen Informationen bestätigt.