Leçon 2

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

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

Рождение биткоина и блокчейна связано с двумя давними проблемами цифровой валюты: проблемой двойной траты и проблемой византийских генералов

От физической к цифровой валюте: Решение проблемы двойной траты

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

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

Система, которая не требует доверия: Распределенная бухгалтерская книга

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

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

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

Внедрение распределенного реестра: Блоки и блокчейн

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

Биткойн был первым крупномасштабным применением блокчейна, и блокчейн является основой Биткойна.

Систему Биткойн можно разделить на три уровня: уровень данных, уровень протокола и уровень приложений. Давайте начнем с "бухгалтерской книги" (слоя данных), которой обладает каждый член системы Биткойн.

От деревьев Меркле к блочным "цепочкам"

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

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

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

Эти транзакции проходят множество операций хеширования, чтобы в конечном итоге прийти к значению, называемому Merkle Hash, которое является суммой всех данных транзакций. Хэш Меркла, вместе с Nunce, временными метками, хэшами родительских блоков и другими данными, составляют заголовок блока, и вычисление хэш-значения заголовка блока позволяет получить Block Hash этого блока. Поскольку заголовок каждого блока содержит хэш-значение родительского блока, все блоки соединяются в цепочку. Блоки взаимосвязаны, и любое изменение данных блока приведет к изменению хэша блока, что приведет к разрыву цепочки.

Proof-of-Work(PoW): механизм консенсуса для сетевой безопасности

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

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

Византийские генералы: Проблема синхронизации нескольких сообщений

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

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

Proof-of-Work(PoW): Вычислите ответ и опубликуйте его в сети для проверки в режиме реального времени

Ответом Биткойна является механизм консенсуса Proof-of-Work (PoW), широко известный как "майнинг", который представляет собой цифровой вычислительный процесс, выполняемый узлами, где первый узел, нашедший "ответ", получает права на бухгалтерскую книгу. В частности, узел должен постоянно пытаться изменить Nunce заголовка блока, вычислять хэш блока и, наконец, получить хэш блока, в котором первые несколько бит равны нулю.

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

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

Сущность Биткойна: модель UXTO

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

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

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

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

Основные моменты

  • Биткоин основан на технологии блокчейн. Блокчейн - это децентрализованная база данных, используемая для создания распределенной бухгалтерской книги, поэтому доверие третьих лиц не требуется, и каждый узел в сети выступает в качестве хранителя данных.
  • Биткойн использует алгоритм SHA256 для генерации хэшей и хранения данных в заголовках блоков и телах блоков. Она становится структурой, состоящей из отдельных блоков, соединенных в цепочку, и поскольку данные не подлежат изменению, она чрезвычайно безопасна.
  • Механизм консенсуса Биткойна - это Proof-of-Work(PoW), который представляет собой механизм, позволяющий узлам тратить арифметическую мощность на решение головоломки, а затем синхронизировать транзакцию с другими узлами для получения вознаграждения за блок.
Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.
Catalogue
Leçon 2

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

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

Рождение биткоина и блокчейна связано с двумя давними проблемами цифровой валюты: проблемой двойной траты и проблемой византийских генералов

От физической к цифровой валюте: Решение проблемы двойной траты

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

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

Система, которая не требует доверия: Распределенная бухгалтерская книга

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

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

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

Внедрение распределенного реестра: Блоки и блокчейн

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

Биткойн был первым крупномасштабным применением блокчейна, и блокчейн является основой Биткойна.

Систему Биткойн можно разделить на три уровня: уровень данных, уровень протокола и уровень приложений. Давайте начнем с "бухгалтерской книги" (слоя данных), которой обладает каждый член системы Биткойн.

От деревьев Меркле к блочным "цепочкам"

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

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

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

Эти транзакции проходят множество операций хеширования, чтобы в конечном итоге прийти к значению, называемому Merkle Hash, которое является суммой всех данных транзакций. Хэш Меркла, вместе с Nunce, временными метками, хэшами родительских блоков и другими данными, составляют заголовок блока, и вычисление хэш-значения заголовка блока позволяет получить Block Hash этого блока. Поскольку заголовок каждого блока содержит хэш-значение родительского блока, все блоки соединяются в цепочку. Блоки взаимосвязаны, и любое изменение данных блока приведет к изменению хэша блока, что приведет к разрыву цепочки.

Proof-of-Work(PoW): механизм консенсуса для сетевой безопасности

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

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

Византийские генералы: Проблема синхронизации нескольких сообщений

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

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

Proof-of-Work(PoW): Вычислите ответ и опубликуйте его в сети для проверки в режиме реального времени

Ответом Биткойна является механизм консенсуса Proof-of-Work (PoW), широко известный как "майнинг", который представляет собой цифровой вычислительный процесс, выполняемый узлами, где первый узел, нашедший "ответ", получает права на бухгалтерскую книгу. В частности, узел должен постоянно пытаться изменить Nunce заголовка блока, вычислять хэш блока и, наконец, получить хэш блока, в котором первые несколько бит равны нулю.

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

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

Сущность Биткойна: модель UXTO

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

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

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

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

Основные моменты

  • Биткоин основан на технологии блокчейн. Блокчейн - это децентрализованная база данных, используемая для создания распределенной бухгалтерской книги, поэтому доверие третьих лиц не требуется, и каждый узел в сети выступает в качестве хранителя данных.
  • Биткойн использует алгоритм SHA256 для генерации хэшей и хранения данных в заголовках блоков и телах блоков. Она становится структурой, состоящей из отдельных блоков, соединенных в цепочку, и поскольку данные не подлежат изменению, она чрезвычайно безопасна.
  • Механизм консенсуса Биткойна - это Proof-of-Work(PoW), который представляет собой механизм, позволяющий узлам тратить арифметическую мощность на решение головоломки, а затем синхронизировать транзакцию с другими узлами для получения вознаграждения за блок.
Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.