Читать книгу - "Цифровое Золото. Невероятная история Биткойна или о том, как идеалисты и бизнесмены изобретают деньги заново - Натаниел Поппер"
Аннотация к книге "Цифровое Золото. Невероятная история Биткойна или о том, как идеалисты и бизнесмены изобретают деньги заново - Натаниел Поппер", которую можно читать онлайн бесплатно без регистрации
Все узлы биткойн-сети должны проверять все транзакции, потому что нет никакой центральной организации, которая выполняла бы эту работу. Убедившись, что у Алисы действительно есть правильный закрытый ключ, они проверяют, есть ли по ее адресу монеты, которые она хочет отправить. Для этого узлы сканируют запись всех предыдущих биткойн-транзакций, в которых фигурирует указанный Алисой адрес.
Создание блоков и обработка транзакций (майнинг)
Сатоши понимал, что, если узлы будут записывать каждую транзакцию в момент ее получения, неизбежно возникнут серьезные проблемы. Поскольку сведения о каждой транзакции достигают одних узлов раньше, чем других, в сети могут возникнуть разногласия по поводу количества биткойнов, хранящихся по каждому адресу. Чтобы решить проблему с синхронизацией сети, Сатоши предусмотрел хитроумный конкурс, в котором может принимать участие каждый узел сети.
Узлы, участвующие в конкурсе, собирают недавние транзакции в списки, которые еще называют блоками. После составления блока узел применяет к нему специальную криптографическую хеш-функцию SHA 256, которая принимает любые данные и генерирует на их основе уникальное 64-разрядное значение. Участники конкурса пытаются составить блок, для которого хеш-функция сгенерирует значение с определенным количеством нулей в начале. Если бы, например, требовалось найти хеш с пятью нулями в начале, то оба следующих хеша могли бы принести победу в конкурсе:
000006d77563afal914846b010bdl64f395bd34c2102e5e99e0cb9cfl73cld87
и
000007ac6b77f49380ea90f3544a51ef0bfbfc8304816d1aab73daf77c2099319
Заранее узнать, какой блок после применения к нему хеш-функции даст результат с нужным количеством нулей, невозможно.
SHA 256 и другие хеш-функции всегда генерируют для одинаковых входных данных один и тот же результат, поэтому каждый участник конкурса добавляет к концу блока случайное число. Криптографические хеш-функции устроены так, что любое изменение входных данных (сколь угодно малое) приводит к случайному изменению всего результата. Если первая попытка получить результат с нужным количеством нулей не привела к успеху, узел изменяет случайное число в конце блока и хеширует блок еще раз. Это повторяется до тех пор, пока один из узлов не найдет блок, хеширование которого позволит получить результат с необходимым количеством нулей. Нахождение такого блока – дело случая, но узел, способный хешировать блоки быстрее конкурентов, имеет больше шансов на победу в конкурсе – подобно тому, как приобретение дополнительных лотерейных билетов повышает шансы выиграть в лотерее.
Количество нулей в начале хеша, необходимое для выигрыша в конкурсе, изменяется в соответствии с интервалом между блоками. Если интервал сокращается, ПО Биткойна периодически корректирует условия конкурса так, чтобы получить нужный результат было сложнее (иначе говоря, он должен содержать больше нулей в начале). Если интервал между блоками становится больше 10 минут, сложность задачи уменьшается.
Запись блоков в блокчейн
Добившись нужного результата, узел-победитель отправляет полученный блок другим узлам сети, чтобы они могли убедиться в том, что задача действительно решена. После этого узлы добавляют блок-победитель с содержащимися в нем транзакциями в свою копию блокчейна. Этот блок становится официальной записью всех транзакций, выполненных с момента добавления предыдущего блока. Если в блоке-победителе отсутствуют некоторые транзакции, отправленные в сеть в предыдущем раунде конкурса, они переходят в следующий раунд. Вместе с транзакциями и случайным числом каждый добавляемый в блокчейн блок содержит также ссылку на предыдущий блок и сведения о состоянии биткойн-сети.
Этот способ достижения согласия по поводу состояния сети решает так называемую “задачу византийских генералов”, над которой долго бились ученые. По сути, она сводится к обеспечению надежности сети, если некоторым из ее участников нельзя доверять. Составление блокчейна из блоков, каждый из которых принимается от одного из участников сети, и разрешение разногласий по принципу большинства решают эту проблему.
Создание монет
Какой смысл вообще участвовать в этой гонке? Дело в том, что узел, который обнаружил блок, соответствующий условиям конкурса, получает награду, которая в первые 4 года существования Биткойна составляла 50 монет. Чтобы получить эту награду, каждый участник конкурса добавляет в список обрабатываемых транзакций дополнительную транзакцию, отправляя новые биткойны “из ниоткуда” на свой адрес. Когда конкретный блок побеждает в лотерее и добавляется в блокчейн, новые монеты отправляются по указанному в блоке адресу. Если узел попытается выписать себе больше монет, чем действующая в текущий момент награда, блок будет отвергнут другими узлами, даже если его хеш будет содержать необходимое количество нулей.
Прочитали книгу? Предлагаем вам поделится своим впечатлением! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.
Оставить комментарий
-
Гость Алла10 август 14:46 Мне очень понравилась эта книга, когда я её читала в первый раз. А во второй понравилась еще больше. Чувствую,что буду читать и перечитывать периодически.Спасибо автору Выбор без права выбора - Ольга Смирнова
-
Гость Елена12 июнь 19:12 Потрясающий роман , очень интересно. Обожаю Анну Джейн спасибо 💗 Поклонник - Анна Джейн
-
Гость24 май 20:12 Супер! Читайте, не пожалеете Правила нежных предательств - Инга Максимовская
-
Гость Наталья21 май 03:36 Талантливо и интересно написано. И сюжет не банальный, и слог отличный. А самое главное -любовная линия без слащавости и тошнотного романтизма. Вторая попытка леди Тейл 2 - Мстислава Черная