Биткоин - технические особенности ⚙
Перечислим основные технические особенности биткоина и кратко разберём их суть:
- Криптографические hash-функции;
Они используются, что бы присоединить старый блок к новому блоку в цепочке блоков, а так же для подтверждения транзакций и для более наглядного хранения информации в базе данных блокчейна.
- Не удаляемые записи с временными метками (timestamped append-only logs). Или же по-другому — блоки;
Только добавление (append-only) — свойство компьютерного хранилища данных, при котором новые данные могут быть добавлены в хранилище, но при этом существующие данные являются неизменяемыми.
- Заголовки блоков и древа Меркла;
Древа Меркла применяется для эффективного хранения транзакций в блокчейне криптовалют (например, в Bitcoin, Ethereum). Оно позволяет получить «отпечаток» всех транзакций в блоке, а также эффективно верифицировать транзакции.
Мы разберём подробнее древо Меркла чуть позднее в следующих статьях.
- Ассиметричная криптография (шифрование) и цифровые подписи;
Асимметричное шифрование — это метод шифрования данных, предполагающий использование двух ключей — открытого и закрытого. Открытый (публичный) ключ применяется для шифрования информации и может передаваться по незащищенным каналам. Закрытый (приватный) ключ применяется для расшифровки данных, зашифрованных открытым ключом. Открытый и закрытый ключи — это очень большие числа, связанные друг с другом определенной функцией, но так, что, зная одно, крайне сложно вычислить второе.
Асимметричное шифрование используется для защиты информации при ее передаче, также на его принципах построена работа электронных подписей.
- Биткоин адреса;
Биткоин адрес — это идентификатор (или номер счета), начинающийся с 1 или 3 и содержащий 26—35 буквенно-цифровых латинских символа (кроме 0, O, I). Адрес так же может быть представлен в виде QR-кода, является анонимным и не содержит информации о владельце. Его можно получить на безвозмездной основе, используя, например, программное обеспечение системы Bitcoin.
Посредством адреса можно совершать операции перевода/получения биткоинов.
- Консенсус через Proof-of-Work;
Сеть Bitcoin требует, чтобы ее участники вкладывали в нее вычислительные мощности (например, мощности видеокарты - GPU) для решения математических задач, сгенерированных произвольным образом. Это требуется для защиты сети от единоличного контроля и манипуляций.
Каждая транзакция в сети валидируется (проверяется на соответствие требованиям) перед добавлением в блокчейн. Затем каждый блок валидируется майнерами (людьми, добывающими криптовалюту), получающими вознаграждение в биткоинах за вложенные вычислительные мощности. Поэтому консенсус и называется Proof-of-Work — «доказательство выполнения работы».
- Сеть, состоящая из узлов (nodes);
Компьютеры, подключенные к сети и обеспечивающие ее функционирование называются нодами (от англ. node — «узел»). Если быть точным, ноды – это программное обеспечение, позволяющее взаимодействовать с сетью. Ноды выполняют важную роль в блокчейне, а именно — подтверждение транзакций и блоков, проверку блоков и, таким образом, обеспечивают безопасность и безотказную работу сети.
Согласно последним данным, количество биткоин-нод переваливает за 11 500, и с каждым месяцем это число растет. Мы не знаем где все эти ноды находятся. Скорее всего разбросаны хаотично по 180 станам в мире.
- Своя валюта;
Своя валюта обязательно является частью экономической системы стимула любого блокчейна. Как говорил Сатоши Накамото: "Если вы майните, используя консенсус Proof-of-Work, то вы создаёте монеты и вознаграждаетесь ими." Таким образом он создал свою экономическую систему. И кем бы Сатоши Накамото ни являлся, он был не только хорошим программистом, но и прекрасно разбирался в экономике в целом.
В мире биткоина и криптовалют создаются единицы, которые могут иметь некую ценность. После того как они получают эту ценность они превращаются в нативную валюту (собственную валюту блокчейна).
Всего будет выпущен 21 млн. биткоинов, и этого количества мы достигнем примерно к 2140 году. Сейчас выпущено порядка 19 млн. биткоинов, и все они были добыты майнерами с помощью майнинга через консенсус Proof-of-Work.
После 18 мая 2020 года каждый новый блок приносит нашедшему его майнеру 6.25 Биткоинов. Это число уменьшается каждые 4 года в 2 раза, и это называется халвинг. Халвинг происходит от английского "уменьшение на половину". Сначала добывалось 50 биткойнов, затем 25, потом 12,5, и вот на сегодняшний день — 6,25 биткоина.
То есть, если мы майним и добываем нужный блок, то, при стоимости биткоина в 30 000 долларов, мы получаем 187 500 долларов.
- Входные и выходные данные транзакций;
Транзакции являются наиболее важной частью сети Биткойн. Транзакции состоят из входов и выходов; входные данные - это то, что входит в транзакцию (грубо говоря, равно тому, что отправляется), а выходные данные - то, что выходит (равно тому, что получается).
Если очень упрощённо, то, к примеру, у вас есть банкнота в 10 долларов и вы покупаете что-то за 1 доллар. 1 доллар — это вход. Вы получаете сдачу в 9 долларов обратно — это выход. Выходы одной транзакции затем используются как входы другой.
Мы еще поговорим об этом подробнее в следующих статьях.
- Неизрасходованные результаты транзакций (UTXO - Unspent transaction outputs);
Неизрасходованный вывод транзакции, известный как UTXO, является важной концепцией в мире блокчейнов. Это название может показаться немного запутанным, но саму концепцию понять нетрудно.
Как мы уже упомянули, выходы одной транзакции могут затем используются как входы другой. А использование выходных данных переводов в качестве входных данных для новой транзакции и называется неизрасходованным результатом транзакции.
То есть неизрасходованный результат транзакции — это результат транзакции, которую пользователь получил и может потратить в будущем.
Если обратится к примеру с 10-ти долларовой купюрой, то упрощённо (поскольку мы еще будем это разбирать в будущем) можно сказать, что 9 долларов, что вам вернули как сдачу и есть неизрасходованный результат транзакции в данном случае.
- Язык сценариев (скриптов).
Bitcoin Script – язык программирования, используемый нодами в сети Биткоин. Язык скриптов в сети Биткоина определяет кто и как может использовать средства. Этот скрипт управляет механизмом блокировки/разблокировки возможности совершения транзакции.
На этом, пожалуй, остановимся на сегодня. Резюмируя, можно сказать что сегодня нам приоткрылась завеса тайн некоторых основных технических особенностей биткоина.
Если вам понравились подробные краткие информационные выжимки из лекций Гэри Генслера, то добро пожаловать на мою страничку. Лекции будут постепенно появляться тут.
Подписывайтесь и оставляйте комментарии!)
Теги: #технологии #криптовалюта #блокчейн #финансы #деньги