блокчейн

Основы Биткойн: Блокчейн, хеширование и майнинг… о боже!

Продолжаем стряхивать пыль с архивов этим куском из Daz Bea, впервые опубликованный на Medium в июле 2021 года. Для большей ясности были внесены некоторые незначительные изменения… наслаждайтесь.

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

SHA256 Хэширование

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

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

Рисунок 1 показывает хеш-функцию SHA256 (здесь мы будем называть это хешированием) имени «Daz». «Daz» — это ввод, а 3445748836aa04e53fd5de81c41c4a370f0cf52004659abf87920abc0da1bbaf — вывод…
Просто, не так ли?

рис. 1
Рисунок 1. Хэш имени «Daz»

Теперь я заменю заглавную «D» на строчную «d» (рис. 2), чтобы продемонстрировать, что одно простое небольшое изменение входных данных приводит к совершенно новому результату. Ввод = даз, вывод = ae5e9de1ed5510933a86705cb253b3cbd0b0891e70217c7a64603869aeaac093. Как вы можете видеть из нашего нового вывода, по сравнению с оригиналом персонажи совершенно другие. Между ними нет различимой закономерности.

снимок экрана 2023 07 15 в 10.22.51 утра
Рисунок 2. Хэш имени «даз» со строчной буквой «д»

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

крыло хэш
Рисунок 3. Хэш статьи из Википедии о Fender Stratocaster (источник: https://en.wikipedia.org/wiki/Fender_Stratocaster)

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

Блоки и майнинг

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

На рисунке 4 мы видим, что у нас есть некоторые поля данных, такие как номер блока, одноразовый номер (мы скоро поговорим об этом), и на данный момент наше поле данных пусто. Хэш этих включающих полей данных: 0000f727854b50bb95c054b39c1fe5c92e5ebcfa4bcb5dc279f56aa96a365e5a.

блок 1 хеш
Рисунок 4. Пример блока 1

Вы заметите отличительную черту этого хеша, обратите внимание, что все 4 начальных символа — это 0. Это не случайно. Видите ли, выходной хэш алгоритма SHA256 на самом деле представляет собой очень большое число. В повседневной жизни мы привыкли использовать систему счисления, называемую основанием 10. Это означает, что наша система счисления — это система, основанная на числах от 0 до 9.

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

Алгоритмы биткойн SHA256 выводят в формате Base16, также известном как шестнадцатеричный. Основание 16 просто использует систему счисления с основанием 10 от 0 до 9 и расширяет эту систему счисления буквами. a Через f в нижнем регистре для создания эквивалентной системы счисления со значениями от 0 до 15, как показано в таблице 1.

figure2.26
Таблица 1: Система счисления с основанием 16 (шестнадцатеричная).

Зачем использовать base16? Просто мы используем основание 16 для краткости. Способ представления очень больших чисел при уменьшении общего количества символов.

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

А пока просто поймите, что программа, которую мы используем для этой демонстрации, имеет фиксированный "цель" чтобы сделать выходную хеш-функцию ниже определенного целевого числа, что затрудняет поиск одноразового номера. Для протокола биткойн цель корректируется каждые 2 недели, чтобы регулировать среднюю скорость выпуска блока 1 x блок каждые 10 минут, поскольку в сети Биткойн выделяется больше вычислительной мощности, блоки решаются быстрее, протокол оглядывается на предыдущие блоки 2016 года и корректируется сложность добычи блоков за счет снижения целевого значения, что затрудняет поиск одноразового номера.

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

Вернемся к нашему примеру в Рисунок 4. Теперь давайте добавим некоторые данные в этот блок. добавлю фразу "Привет мир". Как только я добавлю эти данные, вы заметите, что фон стал красным (рис. 5), программа теперь недовольна нашим блоком. Напомним, что на рис. 4 хэш этого набора данных начинался с 4 начальных нулей. Эта конкретная программа, которую я запускаю, требует, чтобы хэш всегда был ниже целевого значения, а выходной хэш начинался с 0 ведущих нулей, это число в его полной форме base4: 0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

привет мир блок 1
Рисунок 5. Изменение данных сделало блок недействительным.

Когда я изменил данные, добавив «Hello World», алгоритм SHA256 предоставил новый хэш, и, как мы видим, мой новый хэш не начинается с 4 ведущих нулей, выходной хэш выше нашего целевого значения и, следовательно, недействителен.

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

Это то, где данное время вступает в игру. Если мы разобьем мой набор данных внутри блока, у нас будет номер блока (1) и данные (Hello World) и дополнительное поле, называемое одноразовым номером (в настоящее время со значением: 72608). Что, если бы был набор данных, который я мог бы включить в качестве значения nonce, который после добавления к остальным данным привел бы к хэшу, который удовлетворял бы требованию моей программы к выходному хэшу, чтобы получить число меньше, чем 0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

Прелесть криптографии в том, что ее нельзя рассчитать вручную. Мой единственный вариант — попытаться произвольно угадать, какими могут быть эти данные. Я могу изменить значение одноразового номера на 1? Или поменять на 2? или я могу попробовать 2456395697 или 45628496902074?…….. Я мог бы быть здесь какое-то время.

Или мы можем использовать мощность моего компьютера. We can use the computer's ability to quickly process information to start guessing what data we could include in the “Nonce” field, that once run through the hash function, would result in an output hash below 0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff.

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

Как только решение найдено, программа проверяет результат, и блок снова становится зеленым. Это счастливо. Этот процесс может занять некоторое время в зависимости от того, как трудный это найти набор данных для соответствия. Это, говоря простым языком, известно как добычи полезных ископаемых. Мы «копаемся» в комбинациях данных, чтобы найти решение математической задачи. We are trying to find a value of the nonce, that when coupled with our data, produces a predetermined requirement (in our case an output hash below the base16 numerical value of 0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff). Рисунок 6 показывает, как это выглядит для нашего примера, на моем настольном компьютере это заняло около 3 секунд. Одноразовым номером было число 24894.

привет мир
Рисунок 6. Добыча нового одноразового номера для удовлетворения хеш-функции с 4 начальными нулями.

Поздравляем! Мы добыли наш первый блок.

Блокчейн

Блокчейн — это…….подождите…….цепочка блоков. Это цепочка блоков, точно такая же, как первый блок, который мы добыли выше, но с некоторыми отличиями.

Набор данных вводится в блок 1, мы анализируем этот блок, чтобы обнаружить одноразовый номер, чтобы удовлетворить требование сложности (выходной хэш ниже целевого значения). Это создает хеш, и наш блок готов. Затем мы создаем новый блок. Мы включим новое поле данных в этот новый блок. Поле данных, в которое мы включаем выходной хэш исходящего блока как входные данные в новый блок.

Мы можем видеть в Рисунок 7, что у нас есть цепочка из 2-х блоков. Первый блок является копией наших вышеприведенных примеров, но у нас есть новое поле, помеченное «Предыдущий» содержащие новые данные. Блок 1 — это наш блок генезиса, он содержит произвольную информацию в поле prev. Блок добывается и получается наш хэш этих данных.

В блоке 2 мы включаем выходной хеш из блока 1 в качестве входных данных в наш новый блок. Мы помещаем эти данные в поле «Предыдущий». Мы добавляем новые данные, которые хотим включить во второй блок, и извлекаем этот блок. Оба наших блока довольны.

Блокчейн x2 блоков
Рисунок 7. Построение блокчейна. Выходной хэш блока 1 добавляется в поле «Предыдущий» блока 2.

Теперь вернемся назад и изменим что-то в блоке 1. Я добавлю точку «.» к данным. Теперь на рис. 8 мы видим, что вся цепочка блоков недовольна. Оба блока красные. Я изменил данные и разорвал цепочку. Хэш блока 1 больше не ниже целевого значения. Добавление точки «.» to the data, has resulted in a new hash with a value above our target value of 0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, and thus is not compatible with the program's requirements. Но выходные данные блока 1 также являются входными данными для блока 2, что также делает недействительным хэш блока 2. Мы разорвали цепочку.

блокчейн добавить точку
Рисунок 8. Изменение в блоке 1 разорвало цепочку.

Повторный майнинг блока 1 разрешил программу для блока 1, но опять же, данные были изменены в блоке 2 из-за изменения нового выходного хэша из блока 1, это все равно не устраивает (рисунок 9).

добавить точку мой 1
Рисунок 9. Мы перемайнили блок 1, но блок 2 по-прежнему недоволен.

Теперь мы также должны повторно добыть блок 2, чтобы убедиться, что он соответствует требованиям сложности. Рисунок 10 показывает, что у нас снова есть 2 счастливых блока после того, как мы переделали работает за 2 блока. "Работа" это термин для описания вычислительной мощности, которую мы использовали в процессе майнинга. Возможно, вы слышали термин Доказательство работы перед тем, что относится к этой концепции защиты блокчейна биткойнов посредством процесса расхода энергии… работы.

добавить точку мой 2
Рисунок 10. Повторный майнинг блоков 1, а затем 2. Программа снова счастлива.

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

Теперь у нас есть основа для нашей цепочки блоков, можно добавить 3-й, а затем 4-й блок, извлекая каждый блок с новыми входными данными, при этом выходной хэш блока 2 ведет к вводу блока 3, а вывод блока 3 ведет к вход блока 4 и так далее и тому подобное.

Если наша цепочка блоков сейчас состоит из 4 блоков, и мы снова попытаемся изменить данные в блоке 1, это сделает всю цепочку недействительной. Затем нам нужно будет повторно добыть блок 1, затем блок 2, затем блок 3… понимаете, к чему я клоню?

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

Распределенный блокчейн и консенсус

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

Допустим, у меня есть блокчейн, содержащий ряд блоков, каждый из которых содержит некоторые данные. Эти данные были хешированы и объединены в цепочку, как мы видели выше, для формирования блокчейна. Я храню копию этого блокчейна на своем компьютере. Что делать, если возникла необходимость сравнить записи с кем-то еще? Что, если целостность этих данных действительно важна для меня, и я хочу убедиться, что они не были подделаны? Что, если я хочу быть уверен, что данные, которые у меня есть, являются верной и правильной версией этой серии данных? Было бы удобно, если бы у меня была точная копия этого блокчейна, чтобы я мог сравнить свою версию с…. Верно?

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

Чтобы привести пример в уменьшенном масштабе. Скажем, у меня есть блокчейн, состоящий всего из 3 блоков, содержащих действительно важные данные, над которыми я работал. Я мог бы защитить эти данные в распределенной цепочке блоков, сохранив копию дома (рис. 11 — одноранговый узел A) и предоставив ее кому-то еще, или просто сохранив копию на своем компьютере в офисе (рис. 11 — одноранговый узел B).

распределяется 1.
Рисунок 11. Пример распределенного блокчейна — узел A находится дома, а узел B — в офисе.

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

распределено 2
Рисунок 12. Данные были изменены в Блоке 2 блокчейна Peer A, блоки были повторно добыты. Хэши из блока 2 теперь другие.

Но какая версия правильная? Невозможно сказать, если я не знаю, какую конкретную версию изменил злоумышленник.

Логично предположить, что было бы удобно, если бы у меня была еще одна версия для сравнения. Я буду хранить копию дома (рис. 13а — узел А), копию в офисе (рис. 13б — узел Б) и еще одну копию дома у моей свекрови (рис. 13в — узел С).

коллега по консенсусу
Рисунок 13a — Версия блокчейна Peer A

коллега по консенсусу b
Рисунок 13b — Версия блокчейна узла B

одноранговый узел c
Рисунок 13c — Версия блокчейна Peer C

Теперь гнусный актер снова наносит удар, они снова меняют данные на моей домашней версии ПК и перемайнят все блоки дома. Но теперь у меня есть консенсусный механизм, с помощью которого можно сравнивать версии. У меня есть система голосования. У меня 3 экземпляра правда. Партнер А (рис. 14а) говорит мне одно, а двое других (рис. 2б) согласны с другой версией правды.

нет консенсуса
Рисунок 14а — Версия партнера А (изменение в блоке 2)

нет согласованного однорангового узла b&c
Рисунок 14b — узел B и узел C пришли к консенсусу.

Я могу до некоторой степени доверять этому консенсусу, предположив, что злодей не смог бы:

  1. Знать физическое местоположение моих блокчейнов
  2. Иметь возможность взломать, изменить данные и повторно майнить 2 из 3 наборов этого блокчейна.

Хотя описанный выше сценарий возможен, он маловероятен.

Таким образом, я могу игнорировать свою домашнюю версию, сделать резервную копию этой версии, используя версии из моего офиса и версию тещи, и быть уверенным в том, что я восстановил ПРАВИЛЬНУЮ версию правды. Слава богу за свекровь и технологию блокчейн.

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

Но Даз, а как насчет самого биткойна? Что с монетами? Что с Леджером?

Биткойны и бухгалтерская книга

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

Но было бы полезно, если бы мы использовали «поле данных», чтобы начать запись чего-то полезного, например транзакций. Давайте представим, что теперь у нас есть блокчейн, распределенный между множеством узлов, но мы просто посмотрим на одноранговые узлы A и B, чтобы получить представление, но на самом деле есть тысячи узлов, на которых работает один и тот же блокчейн. В нашем примере мы заменили поле с произвольным текстом рядом полей транзакций. На рис. 15 показаны блоки 4 и 5 от узла A и узла B, и мы видим, что теперь в каждом блоке есть ряд транзакционных данных.

бухгалтерская книга 1
Рисунок 15 — Peer A и Peer B с транзакционными данными в блокчейне.

В блоке 4 мы видим, что сумма в размере 62.19 доллара США была отправлена ​​от кого-то по имени Рик кому-то по имени Исла. Это была одна транзакция из 5 транзакций, включенных в этот блок. Блок данных хешируется и извлекается точно так же, как мы видели ранее.

Наш гнусный актер снова наносит удар, его зовут Сэм, и он получил 97.13 доллара от Рика. Сэм немного разбирается в кодировании и решает, что хочет украсть несколько долларов у Рика. Он решает изменить свою версию правды и меняет сумму транзакции на 97,000.13 16 долларов. Он повторно майнит свою версию (рис. XNUMX), но это бесполезно. Огромное количество узлов в сети видят, что это версия истины, которая не согласуется с большинством, эта версия отвергается сетью. Хорошая попытка, Сэм.

Сэм против Рика
Рисунок 16. Сэм пытается обмануть Рика, изменив сумму транзакции. Это отклонено консенсусной сетью.

Мы можем видеть целую кучу транзакций между сторонами, но откуда мы знаем, что у Рика изначально было 97.13 доллара, которые он мог потратить?

Coinbase — Блок Бытия

Если вы какое-то время были в сообществе биткойнов, вы, несомненно, слышали о печально известном блоке генезиса. Сатоши Накамото (печально известный создатель биткойнов под псевдонимом) добыл первый блок, который содержал вознаграждение за блок в размере 50 биткойнов. Награды за блок формируют базу биткойнов, другими словами, чтобы потратить монеты, их нужно сначала ввести в обращение. Блок Bitcoin Genesis на самом деле считался блоком «0», и первые 50 биткойнов фактически не могли быть потрачены, но, начиная с блока 1, они формировали базу монет.

Монеты вводятся с каждым блоком по строго контролируемому графику выпуска. Этот график выпуска составляет 1 блок примерно каждые 10 минут. Каждые 210,000 2021 блоков награда за блок уменьшается вдвое. На момент написания этой статьи в июле 6.25 года вознаграждение за блок составляет 10 BTC каждые ~18.7 минут. В настоящее время в обращении находится биткойн на сумму 21 миллиона долларов, причем последний 2140-миллионный биткойн, по оценкам, был добыт в XNUMX году.

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

Если мы посмотрим на наш пример блокчейна (рис. 17), то увидим, что я вознаградил себя 100 долларами за наш первый блок. Отчасти потому, что я хороший парень, а отчасти потому, что я добыл первый блок. Когда мы переходим к Блоку 2, я начинаю тратить свои монеты.

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

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

coinbase 1
Рисунок 17. Coinbase теперь добавлена ​​в блокчейн

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

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

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

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

Майнеры должны тратить энергию, чтобы разгадывать блоки, это действительно заниженная характеристика безопасности Биткойна. На протяжении всей этой статьи мы подробно говорили о майнинге и повторном майнинге блоков, в которые вносятся изменения. Что действительно важно отметить, так это огромное количество вычислительной мощности, затрачиваемой на протокол Биткойн каждую минуту каждого дня. Если этой чрезвычайно обширной сети потребовалось 10 минут, чтобы найти последний блок, сколько времени потребуется злоумышленнику, действующему в одиночку, чтобы найти альтернативный одноразовый номер для самостоятельного майнинга блока, чтобы изменить данные внутри. Сколько энергии должно захватить национальное государство, чтобы изменить историю блокчейна Биткойн? И, в сочетании с предыдущим замечанием об открытых и закрытых ключах для защиты бухгалтерской книги, единственное, чего сможет добиться злоумышленник, — это двойная трата монет, которыми они уже владеют, и им придется иметь больше вычислительной мощности с доступной энергией, чтобы превзойти всю остальную сеть. Это практически невозможно.

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

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

Заключение

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

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

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

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

Счастливого стека, спасибо за чтение

Daz Bea
Твиттер @dazbea

Рекомендуемая литература:
B для биткойнов
«Овладение биткойнами»- Андреас М. Антонопулос
Блокчейн Демо — Андерс Браунворт

Оставить комментарий

Ваш электронный адрес не будет опубликован. Обязательные поля помечены * *

3 4203740775
Соучредитель, главный операционный директор