Если представить. что ethereum имеет 1 мегабайтный блок в 10 минут, то поместилось бы больше результатов/вычислений, если модель была UTXO или account? (если представить, что есть тьюринг полная VM, которая работает с UTXO) Как-то так)
Нам бы разобраться что такое архивная нода точно тут. Понятно, что это единственный способ провалидировать блокчейн с нуля в данных имплементациях.
Но я нашел такое > An archival node saves all of the intermediary/transitional/historical states of each block.
Непонятно, правда ли это и если правда, то зачем они каждый промежуточный стейт хранят. Это равносильно тому, чтобы хранить снепшот UTXO сета на каждом блоке в биткоине. Этого в биткоине не делается по ненадобности.
Если представить. что ethereum имеет 1 мегабайтный блок в 10 минут, то поместилось бы больше результатов/вычислений, если модель была UTXO или account? (если представить, что есть тьюринг полная VM, которая работает с UTXO) Как-то так)
Я бы переформулировал вопрос. Есть ли не булшитовые тьюринг полные utxo машины состояний
Учитывая, что эта же статья говорит “we do not need to run an archival node to run a fully verified blockchain. “, содержание статьи у меня вызывает сомнения. Но в этом вопросе с эфиром всегда так — нормальный ответ хрен найдешь где-то текстово, а в код их мне лень лезть.
Нам бы разобраться что такое архивная нода точно тут. Понятно, что это единственный способ провалидировать блокчейн с нуля в данных имплементациях.
Но я нашел такое > An archival node saves all of the intermediary/transitional/historical states of each block.
Непонятно, правда ли это и если правда, то зачем они каждый промежуточный стейт хранят. Это равносильно тому, чтобы хранить снепшот UTXO сета на каждом блоке в биткоине. Этого в биткоине не делается по ненадобности.
Когда я работал с не архивной нодой, то я не мог распарсить некоторые состояния(если после их создания прошло N блоков). Допустим не мог проверить трансфер, который был осуществлен через контракт т.е. невозможно было распарсить Internal Txns
Я бы переформулировал вопрос. Есть ли не булшитовые тьюринг полные utxo машины состояний
+
Почему-то все же есть ощущение, что работая с UTXO моделью система с VM становится проще и будет работать лучше) Ну это только ощущение, пока не могу придумать/найти никаких аргументов.
Похоже, что parity --no-warp то что нам нужно. Это полная валидация всех транзакций с нуля, но без сохранения промежуточных состояний.
Т.е. промежуточное состояние можно будет получить и без архивных нод. Допустим. если представить, что все архивные ноды исчезли) Получается, что создать такую ноду можно будет используя обычную ноду и создавав промежуточные состояния локально. Верно я понимаю?
Т.е. промежуточное состояние можно будет получить и без архивных нод. Допустим. если представить, что все архивные ноды исчезли) Получается, что создать такую ноду можно будет используя обычную ноду и создавав промежуточные состояния локально. Верно я понимаю?
Да, похоже на правду. Во всяком случае, это мое текущее понимание. Блин, я аж горжусь собой, что разобрался в этих дебрях (кажется)
Тогда не совсем понятно зачем это хранить в обычной ноде и называть архивной версией Можно под это было сделать отдельный сервис. Не совсем понимаю преимущество такого подхода, но возможно он есть)
Когда я работал с не архивной нодой, то я не мог распарсить некоторые состояния(если после их создания прошло N блоков). Допустим не мог проверить трансфер, который был осуществлен через контракт т.е. невозможно было распарсить Internal Txns
Для такого придется попросить это состояние у архивной ноды — но к счастью, ты хотя бы можешь проверить integrity этого состояния, потому что ты помнишь его хеш.
Хотя, блин, плохо себе представляю как именно это организовать. Вот у меня есть котенок допустим, и я хочу посмотреть у кого он был 100,000 и 200,000 блоков назад. Состояния на эти блоки я могу взять у архивной ноды, ок. А как узнать в каком блоке произошел трансфер из А в Б? в ЮТХО понятно — по выходам пробежался быстро и всё.
Хотя, блин, плохо себе представляю как именно это организовать. Вот у меня есть котенок допустим, и я хочу посмотреть у кого он был 100,000 и 200,000 блоков назад. Состояния на эти блоки я могу взять у архивной ноды, ок. А как узнать в каком блоке произошел трансфер из А в Б? в ЮТХО понятно — по выходам пробежался быстро и всё.
Если есть event'ы в контракте, то их можно получить вроде и без архивной ноды, если я не ошибаюсь
Хотя, блин, плохо себе представляю как именно это организовать. Вот у меня есть котенок допустим, и я хочу посмотреть у кого он был 100,000 и 200,000 блоков назад. Состояния на эти блоки я могу взять у архивной ноды, ок. А как узнать в каком блоке произошел трансфер из А в Б? в ЮТХО понятно — по выходам пробежался быстро и всё.
ну здесь также по events пробежался быстро и все :)