В настоящее время в виртуальной машине Ethereum нет инструкций для доступа к ресурсам, хранящимся в Swarm. Планируется ли добавить такую функцию?
Такая функция (буквально интерпретируемая как доступ к контенту) невозможна по той же причине, что и генерация случайных чисел, универсальный веб-доступ или системное время: виртуальная машина должна быть полностью детерминированным черным ящиком, выполняющимся одинаково на всех узлах, обрабатывающих транзакции.
Тем не менее, косвенный «доступ» будет возможен аналогично ретрансляции btc: косвенный здесь означает, что транзакция может утверждать определенный контент в рое, который вы можете оспорить.
Все, что нам нужно верить, это то, что можно доказать, что последовательность байтов со смещением o
и длиной l
действительно является частью документа в момент времени t
по URL-адресу u
(скажем, например mydomain/path/to/my/content
)
шаги для этого:
b
соответствующем времени t
, реестр ENS показывает хэш h
как разрешение mydomain
.h
это корневой хэш манифеста (каскад манифестов), в котором path/to/my/content
указывает на хэш h0
.h0
это корневой хэш документа, который содержит фрагмент c
(или серию фрагментов c0,.. cn
), охватывающий оспариваемую подстроку.t
блока c была неоспоримая квитанция (действительное доказательство хранения).swarm будет использовать удобный для проверки формат манифеста и надежное 32-байтовое двоичное дерево Меркла на основе сегментов в качестве базового хэша для хэша роя. Это означает, что такие доказательства являются логарифмическими по размеру коллекции документов в манифесте плюс размер документа в URL-адресе (без учета усложнения исторического состояния доказательства в 1).
шаг 5 представляет собой несколько иной вид «доказательства», чем остальные, поскольку он утверждает фактическую доступность рассматриваемой информации.