Синхронизация vs Децентрализация. Спикер: Евгений Мельников

14 дней назад
65 в блокчейн

В данной лекции блокчейн разработчик Altoros Евгений Мельников сопоставит децентрализацию синхронизации в блокчейн и выделит возникающие на этом фоне проблемы.

В Altoros спикер большую часть времени занимался мониторингом инструментов, которые отслеживают состояние приложения, контрактов и их функционирование.

Краткий список инструментальных средств требующих мониторинга:

  • Баланс на контрактах, адресах, мультисигах
  • Состояние ноды Parity
  • Свободное место на диске
  • Доступ к смарт-контрактам
  • Ответы Oraclize

Переходим к проблеме обозначенной в лекции

Снимок экрана 2018-05-07 в 21.03.57.png

График иллюстрирует сравнение полной ноды Биткоин и Эфириум.

Полная нода Эфириум составляет примерно 650 Гб, а это значит, что в случае использования для вашего приложения полной ноды Эфириума могут возникнуть проблемы с хранением и децентрализацией.

Данный график можно отслеживать в режиме реального времени на сайте http://bc.daniel.net.nz

Проблема главным образом состоит в следующем

Снимок экрана 2018-05-07 в 21.14.55.png

Сложно получить золотую середину между скоростью, безопасностью и децентрализацией.

Увеличение скорости

Parity попытались решить данную проблему с помощью snapshots, что позволяет синхронизироваться с сетью примерно за час. Данное решение ускорило синхронизацию, но отрицательно отразилось на других показателях, поскольку snapshots не содержат полной информации.

Важно отметить, что все блоки будут проверятся и после синхронизации snapshots необходимо синхронизироваться по блокам, что повысит нагрузку на сеть.

Для решения данной задачи Parity предложили использовать Light Client, который сохраняют список всех блоков и если вам необходима информация, которой нет в вашей ноде, то ее можно запросить с помощью Light Client.

Для увеличение скорости можно использовать определенные сервисы. Например, сервис который помогает запустить собственную ноду.

Также можно использовать shared nodes, такие как Infura или Proxy Etherscan.

Еще одно решение, позволяющее увеличить скорость - загрузка данных в S3 или IPFS.

Полная нода может понадобится если необходима следующая информация:

  • Исторические данные
  • Все события из контрактов
  • Форки

Разработчики Эфириума предлагают решить проблему посредством:

  • Шардинга (в данном случае синхронизироваться будет только необходимая информация)
  • Введения вознаграждения за хранение полной ноды
  • Запуска приватной Эфириум сети

Для наглядности решения спикер составил схему

Снимок экрана 2018-05-08 в 11.38.40.png

Например, если вам необходимо передать одну транзакцию (broadcast transaction) вы можете воспользоваться Light client, MyEtherWallet или использовать сервисы Infura, Etherscan.

Авторы получают вознаграждение, когда пользователи голосуют за их посты.
Голосующие читатели также получают вознаграждение за свой голос.