Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
grox
6 лет назад

Особенности механизма работы сети-биткоин. Введение в блокчейн #4

Майнинг —способ добычи криптовалют, блокчейн которых использует алгоритм консенсуса
Proof-of-Work или доказательство выполнения работы(подробнее об алгоритмах консенсуса поговорим в следующих частях). Этот алгоритм используется в самой первой и популярной криптовалюте – Биткойн.

Майнеры отвечают за подтверждение транзакций и добавление новых блоков в блокчейн. За это они получают вознаграждение в виде криптовалюты.

Принципы майнинга и распределние биткоинов


Алгоритм майнинга биткоина построен так, чтобы генерировать одинаковое количество новых биткоинов в единицу времени на протяжении 130 лет,
В начале работы сети Биткоин за каждый новый блок майнеры получали 50 биткоинов. Но при запуске Сатоши Накамото задал такие условия, чтобы каждые 210,000 блоков награда уменьшалась в два раза. Также через каждые 2016 блоков меняется и сложность майнинга. Сеть Bitcoin устроена таким образом, чтобы уровень сложности майнинга соответствовал вычислительной мощности оборудования, позволяя майнерам находить верный хэш в течение 10 минут. Учитывая, что в сети Bitcoin новый блок генерируется каждые 10 минут, то в день добавляется 144 новых блока, а это значит, что каждые четыре года сеть генерирует те самые 210,000 блоков и награда майнеров уменьшается. с 2016 и до 2020 года награда за блок будет составлять 12.5 биткойна.Это позволяет исключить инфляцию и создать дефицит криптовалюты, что приводит к пропорциональному увеличению цены биткоина.

 

Пример покупки с помощью биткоин

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


Если Боб пользуется электронным кошельком, чтобы купить себе завтрак в Кафе, то сеть получит информацию о запросе на перечисление,например, 0,0001 биткоина из его собственного электронного кошелька в электронный кошелек данного кафе. В этот момент транзакция считается «приостановленной операцией», ожидающей подтверждения. После этого отменить или пересмотреть ее станет невозможно. Здесь нет процедуры оспаривания сделки, которую обеспечивают банки, если владелец кредитной карты отказывается от оплаты. Ни одна из сторон сделки не может принудительно ее расторгнуть, а единственная возможность сделать это по взаимному согласию – провести вторую операцию, обратную первой.


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


Давайте теперь попробуем представить, что Боб решил с помощью той же информации о своем кошельке, которую он использовал при покупке в Кафе, заказать себе новый пиджак в каком-нибудь онлайн магазине и захочет оплатить товар биткоинами, которых у него уже нет.Тогда блокчейн как хронологический журнал обнаруживает, что эти деньги уже потрачены. Проанализировав новую его попытку расплатиться и сопоставив ее с предыдущей историей записей, регистраторы заявят: «Нет, эти деньги уже были потрачены ранее»


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

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

Особенности  сети биткоин

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


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

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

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

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

Вы можете потерять возможность пользоваться своим счетом(если потеряете пароль) или передать его в пользование другому человеку ,однако потерять свои криптовалюты в буквальном смысле вы не можете,т.к. они физически не существуют.

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

 

Биткоин-адреса


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

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

Открытые и закрытые ключи

Чтобы начать пользоваться новой денежной системой, в первую очередь необходимо открыть счет. В случае с централизованной системой вы получаете номер банковского счета, на который можете получать деньги. Он уникален и не повторяется у других клиентов банка.
Процесс открытия банковских счетов в некоторых странах является сложной задачей. Как результат, более 2 миллиардов человек по всему миру не имеют доступа к банковскому обслуживанию. Еще одна проблема – возможность блокировки или заморозки банковского счета, о которых мы говорили ранее.


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

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

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

Публичный адрес – математически сгенерированный криптографический
хеш открытого ключа для проведения операций с криптовалютами.

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

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

 

Основы работы сети Биткоин

 

Работа –один из ключевых терминов в майнинге. Внутренняя стоимость биткоина зависит только от работы, и при этом весьма тяжелой. По сути, основное отличие этой работы заключается в высокой сложности вычислений. Чем сложнее вычисления, тем больше ресурсов требуется для их выполнения, и в первую очередь электроэнергии.


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

Каждый занятый в майнинге сетевой узел, собирает эту информацию и включает ее в зашифрованную последовательность знаков, называемую хешем . Подобно тому, как архивируются файлы документов, процесс хеширования позволяет «свернуть» относительно большие массивы информации, преобразовав их в гораздо меньший объем данных.
В зависимости от того, какой алгоритм хеширования задействован, его результатом будет хеш фиксированной длины. В случае с биткоином используется алгоритм под названием SHA-256, обеспечивающий получение хеша длиной в 64 знака.
Независимо от того, будет ли это одна отдельно взятая буква или полная книга, хеш все равно будет из 64 знаков. Но при малейшем изменении в исходной информации – одной десятичной точке в числе или, например, пробеле – весь хеш полностью изменится.
Такая способность упаковывать большой объем данных в массивы одинаковой структуры, но каждый раз совершенно разного вида делает хеширование очень мощным инструментом шифрования.

Большой объем информации можно представить в сжатом виде и зашифровать. Такой хеш практически невозможно расшифровать и узнать, какую именно информацию он содержит.

Алгоритм хеширования позволяет построить иерархию хешей, что весьма полезно, поскольку создается структура, в которой майнеры могут группировать одновременно выполняемые транзакции. Это происходит следующим образом. Программное обеспечение на компьютере объединяет хеш первой транзакции – вместе со всей содержащейся в нем информацией – с необработанной информацией следующей не хешированной транзакции, чтобы создать новый хеш. Теперь информация об обеих транзакциях полностью захеширована. Эта процедура повторяется со следующей по очереди транзакцией. Хеш, созданный на основе информации о двух транзакциях, объединяется с информацией о третьей транзакции, и создается еще один, третий, хеш.
Эта процедура повторяется каждый раз по мере поступления в обработку все новых транзакций. Информацию, содержащуюся в этом объединенном хеше, впоследствии легко проверить, пройдя назад по неразрывной цепочке хешей. Таким образом транзакции объединяются в строительные блоки для блокчейна.
Пока происходят эти события, компьютеры майнеров принимают участие в своеобразном соревновании, или в лотерее за право быть первым, кто «упакует» очередной блок, то есть подготовит его к включению в главный журнал блокчейна и получит за это награду – блок новых биткоинов.
Таким образом, решение математических задач представляет собой составляющую часть важнейшей процедуры подтверждения достоверности транзакций.
Компьютеры вступают в соревнование, одновременно и быстро предлагая хеши для кодирования и объединения максимального объема данных в новый, полностью укомплектованный блок с последующим присоединением к блокчейну вслед за предыдущим блоком. Победителем в этом состязании станет тот хеш-блок, который окажется обладателем специального номера, признанного алгоритмом выигрышным. Получить этот номер очень сложно, поэтому компьютеры продолжают создавать блоки из хешей до тех пор, пока не сгенерируют выигрышный номер, – снова и снова.

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


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


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

Эти сложныерасчеты поручаются майнерам по двум причинам. Во-первых, они формируют затраты на майнинг, поскольку требуемый для них ресурс достаточно дорог: его себестоимость состоит из стоимости электроэнергии и амортизации техники. Это помогает регулировать процесс майнинга и устанавливать взаимосвязь между свободным выпуском биткоинов и работой, необходимой для их получения. А во-вторых, это создает конкуренцию с выплатой победителю вознаграждения, которое стимулирует его выполнять работу, необходимую для подтверждения транзакции.
После того как задача решена, биткоиновая программа, работающая на компьютере-победителе, «опечатывает» новый блок транзакций хешем и присваивает ему номер блока , который следует непосредственно за номером последнего на тот момент блока в постоянно растущей цепи. Все они связаны между собой математической зависимостью. Чувствительность хешей к изменениям в исходных данных означает, что теоретически никто не может произвольно менять данные, записанные в более ранних блоках блокчейна. Это делает ее устойчивой к внешним воздействиям.


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


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


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


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

Вывод

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

5
0.139 GOLOS
На Golos с July 2018
Комментарии (1)
Сортировать по:
Сначала старые