
Основные принципы технологии блокчейн
Биткоин - это электронные деньги, цифровая валюта. В настоящее время существуют много других криптовалют - так называемые альткоины (англ. “altcoins”) - которые основаны на технологии Блокчейн. Блокчейн - это технология распределенных регистров, на которой основаны электронные деньги.
Технология Блокчейн позволяет осуществлять переводы денег и транзакции между участниками без участия какой-либо третьей стороны. Рассмотрим основные принципы технологии так, как они были описаны в 2008 году в труде Сатоши Накамото "Биткоин: Пиринговая Электронная Денежная Система" (англ. "Bitcoin: A Peer-to-Peer Electronic Cash System").
1. Транзакция перевода денег.
Электронная единица денег “монета” определена как последовательность цифровых подписей.Для перевода денег, их владелец подписывает (а) цифровой код или хэш (англ. “hash”) предыдущей транзакции и (б) открытый ключ (англ. “public key”) или адрес получателя денег, и присоединяет эту информацию к монете.
Получатель может верифицировать каждую подпись цепочки предыдущих владельцев, однако не может определить, были ли эти деньги уже потрачены ранее или может ли иметь место двойная трата (англ. “Double spending”). Чтобы знать, что деньги не потрачены ранее нужно, чтобы в цифровой подписи никто из предыдущих владельцев не подписал транзакцию, предшествующую по времени той, что находится в цепочке полученной монеты.
2. Открытые регистры транзакций.
В системе последовательных записей только первая транзакция является истинной. Для подтверждения транзакций в централизованной модели существует третья сторона, которая ведет реестр всех транзакций и подтверждает, в каком порядке они идут. Для системы без участия какого-либо посредника или третьей стороны вся историческая информация по транзакциям, или все регистры записей транзакций должны быть публично открыты и равнозначно доступны для всех участников сети. Все участники сети согласовывают единый порядок следования транзакций.
main principles of blockchain technology
3. Сервер меток времени.
Последовательность и неизменность записей. Что такое сервер меток времени? Это процесс хэширования (англ. “hashing”) данных в непрерывную цепь блоков данных. Каждый блок имеет отметку времени, подтверждающую наличие конкретных данных на определенный момент времени, и открыто публикуется. Каждый хэш включает в себя хэш предыдущего блока.Таким образом выстраивается цепь, где очередной блок укрепляет все предыдущие блоки. После того, как информация хэшируется и попадает в цепь блоков, ее невозможно изменить без изменения предыдущих блоков.
4. Подтверждение работ (англ. “Proof-of-work”).
Для реализации сервера меток времени на основе распределенной пиринговой сети, или сети равнозначных участников, используется схема «Подтверждения работы», описанную подобную системе Hashcash Адама Бека, с использованием протокола криптования SHA-256. Участники сети (майнеры) выполняют расчеты и поиск хэша очередного блока. Поиск значения с нужным хэшем происходит путем перебора значения итерируемого поля “nonce” в блоке данных.
Подтверждение работы через хэширование решает вопрос представительства голосованием большинством. То есть, самая длинная из хэш-цепочек представляет консенсус большинства участников, которые вложили в ее расчет большее количество ресурсов. Если большая часть вычислительной мощности принадлежит честным участникам, то цепочка честных транзакций будет расти быстрее и опередит любую конкурирующую цепь. Для компенсации возрастающей вычислительной мощи процессоров и колебания числа работающих узлов в сети, сложность хэширования должна изменяться, чтобы обеспечивать равномерную скорость генерации блоков. Если они появляются слишком часто — сложность возрастает, и наоборот.
5. Распределенная Пиринговая сеть (англ. “Peer-to-peer Network”)
Сеть работает по согласованным правилам. Все новые транзакции рассылаются всем участникам сети или узлам (англ. “Node”). Каждый участник формирует транзакции в блок и ищет хэш блок, и блок с найденным хэшем посылается в сеть. Участники сети принимают новый блок только в том случае, если все транзакции в нем корректно внесены и не используют уже потраченные средства. Согласие участниками сети подтверждается через построение нового блока, который использует хэш предыдущего блока в качестве исходных данных. Участники всегда будут считать действительной самую длинную версию цепочки и работать над ее удлинением.
6. Вознаграждение.
По правилам, первая специальная запись блока создает новые монеты, которые принадлежат создателю блока. Это является стимулом для поддержания работы сети участниками, и является способом эмиссии новых денег в обращение, поскольку нет центрального органа который бы это делал.
Вознаграждение есть также в форме оплаты за подтверждение транзакций. Если сумма исходящих транзакций меньше суммы входящих транзакций, то разница - это вознаграждение за подтверждение транзакций. После того, как будут выпущено все установленное количество монет в обращение, останется только вознаграждение в виде комиссий за подтверждение транзакций.
6. Конфиденциальность информации.
При публичности всех записей, конфиденциальность обеспечивается через анонимность открытых ключей сторон, участвующих в транзакции. В записях видно, что кто-то посылает кому-то деньги, но без привязки к какому-либо лицу. Также, можно создавать новые ключи для каждой отдельной транзакции, и таким образом не будет привязки транзакций к одному лицу.
Заключение
Предложенная система электронных денег является системой, не основанной на доверии. Основой системы Биткоин являются опубликованные регистры записей всех транзакций и открытая распространенная сеть равноправных независимых участников, верифицирующих транзакции по времени их возникновения в цепи взаимосвязанных блоков.♦