Какова стоимость хранения данных объемом 1 КБ, 10 КБ или 100 КБ в блокчейне Эфириума?

Все, что хранится в блокчейне, является неизменным, что означает, что я могу получить эти данные в будущем. На сегодняшний день (февраль 2016 г.)

  • Как хранить 1 КБ, 10 КБ или 100 КБ или произвольные данные/текст в блокчейне Эфириума? Какой код нужен для этого?

  • После сохранения, как вы загружаете данные обратно на свой рабочий стол?

  • Сколько это будет стоить точно в эфире/газе/фиате по сегодняшним ценам?

Лучше разделить это на несколько вопросов при обмене стеками. Задавать много вопросов в 1 теме обычно нехорошо.

Ответы (4)

Вот статья , чтобы описать все о газе и о том, как его рассчитать.

Предположим, мы добавляем два числа и для этого контракт должен выполнить следующие действия:

Сохранение 10 в переменной. Допустим, эта операция стоит 45 газа. Добавляя две переменные, скажем, это стоит 10 газа. Сохранение результата, которое снова стоит 45 газа.

Предположим, отправитель указывает лимит газа 120 газа.

Общее количество газа, используемого майнером для выполнения вычислений, составляет (45+10+45) = 100 газа.

Комиссия, причитающаяся майнеру, при условии, что 1 газ стоит 20 Gwei, составляет (100 * 20 Gwei) = 0,000002 ETH.

А здесь можно получить расчеты ГАЗ

Этот ответ недооценен.

tl;dr: 0,076 долл. США/КБ или 76 000 долл. США/ГБ

Согласно желтой бумаге , плата составляет 20 тысяч газа за хранение 256-битного слова. Таким образом, килобайт — это 640 000 газа.

Сейчас газ стоит около 50 Gwei (0,00000005 ETH). Таким образом, КБ хранилища стоит 0,032 ETH. ГБ стоит 32 000 ETH.

Чтобы проверить это эмпирически, я создал контракт с этим кодом:

contract test {
    bytes data;

    function addData(bytes _data) public {
        data = _data;
    }

}

по адресу сделка .

Затем я отправил транзакцию , добавив 1 КБ данных ("0x111111...." 2k раз).

На эту транзакцию ушло 753 072 газа (0,03765 ​​ETH в текущих ценах).

Вызов контракта без добавления каких-либо данных стоит около 0,003 ETH, что соответствует примерно 0,035 ETH за КБ (0,076 доллара США) или около 76 000 долларов США за ГБ хранилища.

Однако получение этих данных бесплатно.

«Вызов контракта без добавления каких-либо данных стоит около 0,003 ETH, что соответствует примерно 0,035 ETH за КБ (0,076 доллара США) или около 76 000 долларов США за ГБ хранилища». Означает ли это, что каждый КБ, который вы хотите добавить к контракту, стоит 0,076 доллара США, поэтому, скажем, у меня есть контракт, содержащий 2 ГБ данных, и я хочу добавить к нему 5 КБ. значит ли это, что это будет стоить мне $0,38 или $375000,38??
Это будет только стоить $0.38. Плата взимается только в том случае, если вы устанавливаете для нулевого байта ненулевое значение.
так что технически контракт может содержать всю базу данных и иметь размер 5 ГБ, единственное, что будет стоить, это добавить данные в такую ​​базу данных? Получение этих данных должно быть бесплатным?
Да, это правильно. Однако я могу придумать очень мало вариантов использования, которые требуют хранения такого большого количества данных в цепочке.
скажем, хранить анонимные медицинские записи, содержащие только хэш?
Верно. Но вам, вероятно, на самом деле не нужно хранить каждый хэш в цепочке. Вы можете просто сохранить корень дерева Меркла.
Какая разница 14 месяцев. Сегодня (24.04.2017) 0,035 ETH стоит 1,75 доллара США по цене ~ 50 долларов США за ETH. Таким образом, стоимость 1 ГБ хранилища составляет 1 750 000 долларов, то есть 1,75 миллиона долларов, вместо 76 000 долларов, которые были 14 месяцев назад (в феврале 2016 года).
Сегодня, с 1ETH = 311 долларов США (фартук), это превысит 10 миллионов долларов США!
Есть ли простой способ узнать текущую стоимость единицы данных?
@TjadenHess сначала вы говорите, что вызов контракта стоит эфира, а в конце вы говорите, что получение данных бесплатно?
«вызов» здесь означает в смысле фактической отправки транзакции, которая взаимодействует с блокчейном и «вызывает» функцию, а не в смысле чтения из локального состояния без отправки транзакции в веб3.
Кто-нибудь смотрит на это в 2021 году, когда ETH сейчас стоит 2000 долларов, что будет означать гораздо более высокую цену, около 100 миллионов долларов за ГБ, если не больше, поскольку на данный момент цены сумасшедшие.
На данный момент должно быть 233 миллиона долларов за ГБ при средней цене на газ 200 Gwei и 1823 доллара за ETH.

Я хотел дать краткое обновление по этой теме. (Другие ответы с ценами устарели).

Как и в другом ответе, килобайт данных - это 640 КБ газа.

Но в отличие от того, что было два года назад, цена на газ в 2019 году составляет ~10 Gwei вместо 50 Gwei.

Однако цена ETH также выросла.

Два года назад это стоило бы вам 0,076 доллара за КБ .

В августе 2019 года это стоило вам 1,204 доллара за КБ .

По состоянию на 23.07.2020 цена на газ подскочила до 80 gwei, поэтому хранилище теперь стоит 13,82 доллара за КБ !

После сохранения, как вы загружаете данные обратно на свой рабочий стол?

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

введите описание изображения здесь

Сколько это будет стоить точно в эфире/газе/фиате по сегодняшним ценам?

Это так не работает.

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

введите описание изображения здесь

Ваш вопрос подразумевает централизованную модель ценообразования. Например, в традиционных централизованных транзакциях (например, кредитные карты, электронные переводы, ECH и т. д.) цена устанавливается платежным процессором. Но сеть Ethereum децентрализована. Таким образом, это работает в обратном порядке по сравнению с централизованной моделью.

Нет единого платежного процессора. Вместо этого существует сеть конкурирующих процессоров, называемых «майнерами». Майнеры вкладывают вычислительное время и ресурсы, необходимые для решения математической задачи, необходимой для подтверждения и завершения любой данной транзакции.

В этой модели отправитель устанавливает цену с предложением сети (майнерам). Сеть Ethereum отвечает на предложенную цену (которая фактически является стимулом для майнеров решить математическую задачу, необходимую для хеширования блока) транзакцией. Время, необходимое для завершения транзакции, обратно пропорционально цене, предлагаемой отправителем. т. е. чем выше предлагаемая цена, тем больший приоритет получит эта транзакция для майнеров и, следовательно, тем меньше времени потребуется для завершения транзакции.

Вышеупомянутый сайт отслеживает и сообщает текущее время транзакций по обычным заданным ценам.