Как работает блокчейн
Классический блокчейн во многом подобен существующим электронным платежным системам (ЭПС) и межбанковским сетям передачи финансовых сообщений (таким как SWIFT), но имеет ряд отличий в методах передачи информации и управления.
Узлы такого блокчейна, называемые кошельками (wallets), представляют собой аналоги банковских счетов, точно так же адрес в сети Bitcoin аналогичен номеру счета клиента в банке или идентификатору банка в системе SWIFT. Кошелек блокчейна – это экземпляр программного обеспечения для доступа к блокчейну и операций в нем. Кошелек может быть запущен практически на любом электронном устройстве с операционной системой, включая сервер, ПК, ноутбук или смартфон.
Кошелек блокчейна имеет сходство с онлайн-банкингом, который обеспечивает доступ к деньгам на банковском счете, однако пользователь блокчейна обладает единоличным и полным контролем над своими деньгами и может самостоятельно завести любое количество кошельков, не предоставляя свои персональные данные и документы какой-либо организации. В то же время за все действия пользователя с кошельком отвечает только он сам, и все технические и юридические проблемы ему придется решать самостоятельно.
В блокчейне обращаются виртуальные учетные единицы, которые могут использоваться в качестве денег или выполнять определенные технические функции. В системе Bitcoin эти единицы получили одноименное название – биткоин (bitcoin, BTC – от англ. bit – минимальная единица информации и coin – монета). Поскольку биткоин задумывался как электронный эквивалент золота, по аналогии с металлическими наличными деньгами денежные единицы криптовалют обычно называют монетами, в то время как для нефинансовых блокчейнов стал применяться более широкий термин «токен», уже давно используемый в ИТ-системах и играх.
После усложнения блокчейн-систем и появления многоуровневых сетей сложилась более или менее устоявшаяся терминология:
● Учетные единицы, которые обращаются непосредственно в блокчейне, по-прежнему называют монетами (coins).
● Производные единицы, которые передаются внутри транзакций основного блокчейна, то есть используют его как транспортную среду, называются токенами.
● В случае обобщений токенами могут называться все виртуальные учетные единицы, обращающиеся в блокчейне, независимо от того, на каких уровнях они применяются.
В каждом кошельке имеется один или множество адресов – идентификаторов, на которые могут быть отправлены монеты (токены). Каждый адрес уникален и вероятность создания двух одинаковых адресов в разных кошельках практически равна нулю.
Перемещение монет (токенов) между кошельками в блокчейне удостоверяется уникальным закрытым ключом пользователя, с помощью которого он делает криптографическую подпись транзакции, таким образом удостоверяя свои полномочия как владельца кошелька. Закрытый ключ кошелька – единственное подтверждение владения токенами, и любой, кто получит копию этого ключа, будет иметь в блокчейне точно такие же возможности, как и владелец исходного кошелька. Поэтому для безопасности закрытых ключей необходимо обеспечить наивысший ее уровень из возможных.
Взлом сети Bitcoin извне сейчас практически не обсуждается, так как ее надежность подтверждена многолетним функционированием. Однако взломы индивидуальных кошельков или централизованных сервисов, оперирующих криптовалютами и токенами, исключать нельзя. Также кошелек может быть потерян после аппаратного сбоя или стихийного бедствия. Кошелек или закрытые ключи можно хранить в любом количестве экземпляров, если удастся обеспечить их безопасность. Если же будут потеряны все копии кошелька, то все связанные с ним биткоины навсегда останутся недвижимыми в блокчейне, так как закрытый ключ – единственный гарант возможности их перевода. Поэтому владелец узла (кошелька) должен полностью отвечать за сохранность своих активов.
Для передачи монет (токенов) в блокчейне производятся так называемые транзакции – списание средств с одного адреса с зачислением на другой в финансовых блокчейнах или передача информационных сообщений с различным содержимым в блокчейнах других типов.
Каждая транзакция представляет собой составленное по установленным правилам финансовое сообщение, подписанное криптографическим ключом отправителя. В транзакции содержится сумма передаваемых монет (токенов), подпись отправителя и адрес получателя, созданный на основе его открытого ключа. Для возможности использования переданных в транзакции монет необходим закрытый ключ, парный с указанным в ней открытым ключом.
После передачи в сеть транзакция должна быть подтверждена, то есть записана в блок, являющийся частью блокчейна и распространяемый по всем узлам одноранговой сети Bitcoin. Блок содержит заголовок для передачи технической информации и список транзакций, в которых передаются пользовательские данные – платежные или любые другие операции.
Блокчейн состоит из последовательно соединенных блоков. В заголовок каждого последующего блока включается хеш предыдущего. Таким образом составляется неразрывная цепь. Разорвать или изменить ее возможно, только если пересчитать все заголовки блоков и собрать цепочку заново с точки разрыва. Для этого необходимо использовать вычислительные ресурсы, эквивалентные или большие, чем те, что были затрачены при сборке оригинальной цепи. Это значит, что безопасность классического блокчейна в долгосрочной перспективе зависит от суммарной вычислительной мощности. Наибольшим доверием пользуются блокчейны, для взлома которых требуются затраты ресурсов, несопоставимые с полученной выгодой.