Как работает Биткойн?

Как работает Биткойн?

26 декабря 2023 г.

Сегодняшняя тенденция заключается в том, чтобы свести механику Биткойна к множеству уровней абстракции. Здесь мы рассмотрим, как это на самом деле работает, не слишком обобщая.

Что такое блокчейн?

Вы слышали это бесчисленное количество раз; блокчейн! Этот термин не только вездесущ, но и общее недопонимание, стоящее за ним. И это оставляет дверь открытой для ложного воображения.

<блок-цитата>

Блокчейн — это технология, которая, как следует из названия, «блокирует» «цепочку» фейковых новостей.

Это определенно не то! Но на самом деле об этом сказал по национальному телевидению выдающийся португальский интеллектуал.

Блокчейн – это уникальный вид базы данных. Это постоянно растущий список записей, который открыт, распределен и невосприимчив к изменению данных.

Давайте усвоим это.

  1. Открыто: любой человек в мире может запросить его.
  2. Распределенный – в его кворуме участвуют примерно 100 000 узлов.
  3. Распределенный. >
  4. Неуязвимость: как только данные записаны, ни одна сторона не может их изменить.
  5. Итак, мы установили, что это растущий список рекордов. И обычно именно на этом этапе вы услышите, что криптография объединяет все воедино.

    Stairway as a chain of steps. NYC, 2018.

    Как блоки связаны друг с другом?

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

    К сожалению, я не могу вставить JavaScript в Hacker News, поэтому этот фрагмент доступен только в оригинальной статье Waste of Server .

    Просто измените строку «abc» на любую, какую захотите, и вы увидите, что при небольших изменениях хеш меняется кардинально. Биткойн изначально установил, что вначале мы будем пытаться найти хэши с заранее определенным количеством нулей.

    Используйте приведенное выше и попробуйте использовать abc26, вы получите хэш, начинающийся с 0. Теперь попробуйте это с abc93803, в начале у вас будут нули 0000. Вы можете просмотреть первый добытый блок и увидеть, что начальная сложность была установлена ​​на 8 нулей.

    Hashing

    На данный момент текущая сложность установлена ​​на 19 (!) нулей, но она меняется в зависимости от количества доступная на данный момент мощность хеширования. Биткойн устанавливает сложность (начальное количество нулей) для добычи блоков примерно каждые 10 минут. Но это азартная игра: блок может занять от нескольких секунд до гораздо большего времени. На изображении ниже вы можете видеть, что добыча блока 673088 заняла 21 минуту.

    Time to mine block

    На ранних этапах развития сети, когда все только начиналось, а мощности хеширования было недостаточно, майнинг одного блока занимал почти целый день (блок 168 до 169). Но с тех пор, как Биткойн взлетел, самое долгое время, которое это потребовало, составило чуть более 1 часа и 39 минут от блока 152218 на 152219. Имейте в виду, что чем больше мощность хэширования, тем меньше вероятность того, что подобные события будут стимулироваться.

    Что именно хешируется и что находится в блоке?

    Заголовок блока содержит следующую информацию:

    1. версия программного обеспечения майнера
    2. временная метка блока
    3. sha256 корня дерева Меркла
    4. sha256 предыдущего блока
    5. объявление (случайные данные для получения x количества нулей)
    6. цель (количество нулей, которые нужно найти)
    7. Мы доберемся до корня дерева Меркла в экземпляре, но, как вы можете видеть, учитывая эти 6 элементов, майнер начинает повторять нонс, чтобы попытаться найти хэш, который меньше (имеет больше нулей), чем целевой. Как только он его находит, узел, решающий проблему, сохраняется в блоке и клиент публикует его. Майнер, который первым опубликует блок, вознаграждается как комиссией за транзакцию, так и новым биткойном, отчеканенным из воздуха.

      Что такое дерево Меркла?

      Это способ проверить целостность больших структур данных. В случае с Биткойном просто соберите все транзакции, которые вы пытаетесь проверить, и хешируйте их по два. Затем получите эти хэши и хэшируйте их два на два. Продолжайте таким же образом, пока не получите единственный окончательный хэш. Он называется корневым хешем и уникальным образом представляет все транзакции, находящиеся под ним.

      Допустим, у нас есть 4 транзакции, представленные буквами. Мы соединяем их по два и хешируем в последовательном порядке. Затем мы хешируем хеши.

      Transactions (leaves): A + B + C + D
      
      Branches Level 1: sha256(A+B) = BrnchAB
      Branches Level 1: sha256(C+D) = BrnchCD
      
      Merkle Root: sha256(BrnchAB + BrnchCD) = BrnchABCD
      

      Поскольку транзакций всего 4, нет необходимости добираться до ветвей уровня 2

      Как получить BTC от майнинга?

      Прежде чем приступить к поиску решения для блока, майнер просто добавляет в свой блок новую транзакцию, которая дает ему X количество BTC. Это называется транзакцией генерации, и ее значение зависит от добываемого блока.

      Награда за блок начинается с 50 BTC и уменьшается вдвое каждые 210 000 блоков. Поскольку блоки добываются примерно каждые 10 минут, вы можете примерно догадаться, когда произойдет следующее сокращение вдвое. Хоть это и компенсировалось месяцами!

      В 2021 году мы переходим на halving3, что дает 6,25 BTC за блок.

      | ХАЛВИНГ | ДАТА | БЛОК | БЛОКИРОВАТЬ НАГРАДУ | ДОБЫТО ЗА ПЕРИОД | % ДОБЫТО | |----|----|----|----|----|----| | запуск | 3 января 2009 г. | 0 | 50 | 10 500 000 | 50 | | сокращение пополам 1 | 28 ноября 2012 г. | 210 000 | 25 | 5 250 000 | 75 | | сокращение пополам 2 | 9 июля 2016 г. | 420 000 | 12,5 | 2 625 000 | 87,5 | | сокращение пополам 3 | 11 мая 2020 г. | 630 000 | 6.25 | 1 312 500 | 93,75 | | сокращение пополам 4 | В 2024 году? | 840 000 | 3.125 | 656 250 | 96,88 | | сокращение пополам 5 | В 2028 году? | 1 050 000 | 1,5625 | 328 125 | 98,44 | | сокращение пополам 6 | В 2032 году? | 1 260 000 | 0,78125 | 164 062 | 99,22 | | сокращение пополам 7 | В 2036 году? | 1 470 000 | 0,390625 | 82 031 | 99,61 |

      Как вы можете понять из этого поста, сеть работает на основе Proof of Work (PoS), проводимого майнерами. Но поскольку майнер децентрализован и открыт, любой может внедрить его.

      Помните выше, когда мы говорили, что вознаграждение за блок, выплачиваемое майнеру, добавляется самим майнером? Что ж, есть по крайней мере один задокументированный случай, когда программное обеспечение майнера не работало должным образом и успешно добыло блок без транзакций (без комиссий) и без добавления собственного адреса (!) Без вознаграждения за блок!

      Вы можете проверить это полмиллиона ошибка прямо здесь, блок 501727.

      Если вам понравилась эта статья, не стесняйтесь зайти на сайтasteofserver.com, где вы найдете похожие материалы. Вы можете попробовать Является ли Биткойн средством сбережения? или, может быть, Справочник для автостопом по NFT?

      :::информация Также опубликовано здесь.

      :::


      Оригинал