14 ноября 2015

Как добываются Биткоины?

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

Как происходит добыча?

Люди пересылают биткоины друг другу по сети Bitcoin все время, и если кто-то не держит больше 50% мощности сети, то никто не может отслеживать, кто что заплатил. В Bitcoin сети все трансзакции совершенные в течении заданного периода времени объединяются в список, называемый блоком. Работа майнеров в том, чтобы подтвердить эти транзакции и записать их в главную "бухгалтерскую книгу".

Создание hash биткоина

Эта "бухгалтерская книга" — длинный список блоков, называется blockchain. Он может быть использован для получения информации о любой транзакции за все время существования биткоин, совершенной между двумя любыми адресами сети биткоин. Каждый раз, когда будет создан новый блок он добавляется в блокчейн. Постоянно добавляемый блоками блокчейн рассылается всем участникам сети, чтобы они знали что происходит.

Блокчейн должен быть доверенным, а все это происходит в цифровом виде. Как мы можем быть уверены, что никто и никогда не подделает его? Тут в игру вступают майнеры.

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

Хэши имеют некоторые интересные свойства. Легко получить хэш от набора данных в блоке Bitcoin, но практически невозможно понять, что за данные, глядя на хэш. И хотя очень легко получить хэш из большого набора данных, каждый хэш получается уникальным. Если вы измените один символ в блоке, то хэш придется полностью изменить.

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

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

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

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

Соревнования за монеты

Так как майнеры "печатают" блок. Все они конкурируют друг с другом чтоб сделать это., используя программное обеспечение, написанное специально для майнинга блоков. Каждый раз, когда кто-то успешно создает хэш, он получает вознаграждение, сейчас это 25 BTC, а блокчейн обновляется и все в сети слышат об этом. Это стимул для добычи и транзакции обновляются.

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

Протокол BitCoin не может просто принять любой хэш. Он требует, чтобы хэш блок выглядел определенным образом: он должен иметь определенное количество нулей в начале. Так как нет способа определить, как хэш будет выглядеть, прежде, чем получить его, и как только вы включаете новый кусок данных в исходный набор, хэш становится другим.

Майнеры не должны вмешиваться в набор данных с трансзакциями в блоке, но они должны изменить данные чтобы создать другой хэш. Они делают это с помощью другого куска данных, этот случайны кусок называется "nonce". Он используется вместе с данными транзакций, чтобы создать хэш. Если хэш не соответствует требуемому формату, то изменяет "nonce" и все снова хэшируется. Это может занять много попыток и все майнеры пытаются сделать это одновременно. Вот так майнеры зарабатывают свои Bitcoin

См. также: