Учитывая текущую тенденцию роста сети Ethereum, целесообразен ли смарт-контракт для долгосрочного использования/хранения?

Мой вопрос на самом деле состоит из трех частей (да, я знаю о предстоящей разработке шардинга):

  1. Доступ к данным сети Ethereum бесплатный (обычно нам не нужна остальная часть блокчейна, но нам нужно хранить все, чтобы получить доступ к крошечной части? В чем экономическая выгода от этого? Никакого вознаграждения майнерам… я тоже знаю ipfs, кстати)
  2. Хранение смарт-контрактов, их обработка и т. д. могут потребовать более высоких затрат (в газе), когда участвующие пользователи должны быть в списке видов (сопоставление). Экономически выгодно хранить все это и перерабатывать даже с газом в долгосрочной перспективе? Потому что, если я не ошибаюсь, текущему узлу Ethereum действительно требуется SSD (да, это полный узел) для работы, и в ближайшем будущем это может легко превратиться в ТБ данных. (Цены на хранение/обработку по сравнению с обработкой размера блокчейна… является ли сеть Ethereum устойчивой/жизнеспособной для очень популярного смарт-контракта?)
  3. Сколько данных мы снова можем хранить в сети Ethereum? Неограниченный? С точки зрения единого контракта. Я слышал, что вы можете хранить столько данных, если они не превышают 100 ГБ. Я понимаю, что базовая база данных бэкэнда - leveldb... LEVELDB... 100GB? Это не будет практичным хранилищем для IOT.

Пожалуйста, отвечайте на них только в том случае, если вы являетесь продвинутым программистом. Спасибо.

Ответы (2)

  1. Да, получение данных из блокчейна бесплатно. Вы можете либо самостоятельно синхронизировать полный узел (в настоящее время требуется ~ 50 ГБ, от нескольких часов до дня для синхронизации в зависимости от вашей системы/сети), синхронизировать легкий узел (макс. несколько ГБ и несколько минут для синхронизации) или использовать общедоступные узлы infuras (мгновенно, без необходимости синхронизации, но также доверчиво).

  2. Конечно, вы должны получить сумму, необходимую для хранения в контракте, как можно меньше. Как правило, если вам не нужно обрабатывать/извлекать данные по цепочке, вам следует просто сохранить что-то вроде хэша IPFS и сохранить фактические данные в IPFS. Храните в сети только то, что необходимо . Это означает балансы, разрешения и т. д., но не такие вещи, как пользовательские аватары или комментарии.

  3. Количество данных, которые вы можете хранить, не ограничено. Единственным тормозящим фактором является то, что это дорого. Создание 256-битного слова в хранилище стоит 20 тысяч газа, а его последующее обновление — 5 тысяч газа. При текущих ценах на газ это 4-5 центов и 1 цент. Игнорируя проскальзывание цены на газ и наличие всего 8 миллионов газа на блок, для выделения 1 Гб хранилища в цепочке это будет стоить примерно 500 000 долларов только для выделения, не включая стоимость 21 тыс. Тх и другие необходимые коды операций.

Чтобы добавить к существующему ответу.

  1. ...где в этом экономическая выгода?

Пара идей:

  1. Вы помогаете обеспечить безопасность сети и, соответственно, вашего ETH. Запуская честный, полный (не майнинговый) узел, вы добавляете в пул узлов, на которых работает честная версия алгоритмов консенсуса. Ваш узел может проверять блоки и транзакции и предотвращать распространение нечестных. Чем надежнее сеть, тем безопаснее ваши инвестиции.

  2. Вы можете запустить свой собственный кошелек. Нет необходимости полагаться на третью сторону, независимо от того, насколько они предположительно заслуживают доверия. Опять же, ваши средства в безопасности.

  1. ... и это может легко превратиться в ТБ данных в ближайшем будущем.

См . раздел Размер блокчейна Ethereum в ближайшее время не превысит 1 ТБ для описания существующих режимов обрезки и синхронизации. Это без учета шардинга. (Виталик: " Шардинг идет ")

  1. ... Я понимаю, что базовая база данных бэкэнда - leveldb... LEVELDB... 100GB?

Зависит от реализации клиента. Geth использует LevelDB. Parity использует RocksDB (да, это форк LevelDB). Вы можете написать реализацию, используя любую базу данных, которая вам нравится — спецификация Yellow Paper — поскольку это спецификация — не упоминает лежащую в основе базу данных.

Это не будет практичным хранилищем для IOT.

Возможно, не сейчас. Режимы обрезки и шардинга помогут. Как и закон Крайдера применительно к оборудованию IOT.