В технологии blockchain для совершения операции, которая потом будет записана в распределенный реестр, стандартно требуется два ключа. Один ключ – это адрес получателя, куда направляются средства.
Он является открытым и может передаваться другим людям. Второй ключ (private key) – это цифровая подпись владельца средств. Она содержится тайно и не должна быть известна посторонним.
Такая система характерна не только для Bitcoin, но и для подавляющего большинства криптовалют и токенов. Чтобы перевести криптовалюту, нужно указать адрес, куда они будут перечислены и подписать транзакцию собственным приватным ключом.
Мультисиг – это специальное условие на выполнение перевода средств, когда транзакция будет записана в реестр только в случае ее подписания несколькими приватными ключами.
Блокчейн-оракулы
Это проводники, которые связывают источники данных из внешнего мира (Интернета) и блокчейном. Оракулы принимают информацию с различных источников и преобразуют ее в язык, понятный смарт-контрактам – программам, которые автономно обрабатывают операции на блокчейне. Другими словами, оракулы обслуживают всю экосистему Web3.
Сатоши, satoshi
В настоящее время является самой маленькой единицей Bitcoin, хранящейся в его blockchain цепочке. Сатоши – это одна стомиллионная монетки (0,00000001 BTC).
Сатоши
Смарт-контракт, smart contract
Это компьютерный алгоритм, предназначенный для заключения и работы самоисполняемых контрактов, выполняемых в blockchain среде. Они записываются в виде кода, который поддерживается и управляется сетью компьютеров. Простыми словами, умные контракты позволяют обмениваться активами, не прибегая к услугам посредников.
Дают возможность выполнять надежные и приватные транзакции без участия третьих лиц. Кроме того, такие переводы являются отслеживаемыми, прозрачными и необратимыми. Смарт-контракты не только содержат информацию об обязательствах сторон и санкциях за их нарушение, но и сами автоматически обеспечивают выполнение всех условий договора.
Алгоритм записывается в blockchain, где вся его логика помещается в программный контейнер – блок. Он объединяет все сообщения, относящиеся к конкретному смарт-контракту. Сообщения могут выполнять роль входов и выходов программного кода смарт-контракта и приводить к каким-либо действиям за пределами распределенного реестра, в реальном или цифровом мире.
Обязательные составляющие смарт-контракта:
– наличие приватной децентрализованной среды (например, ethereum), в которую записываются смарт-контракты, и которая воспринимает входы и выходы для «оракулов». Оракулы – это те люди или организации, обеспечивающие связь действительности и мира blockchain;
– использование электронной цифровой подписи на основе асиметричного шифрования информации, а именно публичных и приватных ключей;
– предмет договора и наличие необходимых для его исполнения инструментов (криптовалютных счетов для расчетов, достоверных внешних данных);
– точно прописанные условия исполнения, которые участники договора подтверждают своей подписью.
Существуют различные виды смарт – контрактов:
– Полностью автоматические по выполнению;
– С копией на бумажном носителе;
– На бумажном носителе, при этом часть положений перенесена в программный код (например, платежи);
Решения на базе распределенного реестра сейчас находятся в начале большого пути. Из-за этого пока что не используются по-настоящему сложные смарт-контракты. На сегодняшний день подавляющее большинство смарт-контрактов относятся к третьему типу, где автоматизированы лишь пункты соглашений по обмену ресурсами.
Смарт-контракты широко используются в сфере первичных распределений монет (ICO). Например, алгоритм умного контракта может быть запрограммирован на получение криптовалюты от инвесторов с условием, что в случае провала кампании их средства будут автоматически возвращены. Если же проект соберет достаточно средств, то средства будут перечислены разработчикам.
Пример программного кода
Цифровая подпись, ЭЦП, электронная цифровая подпись
Код, генерируемый алгоритмом шифрования с открытым ключом, который прикрепляется к транзакции для проверки подлинности.
Segregated witness, segwit
Реализованное обновление протокола Bitcoin, призванное решить проблему пластичности транзакций и увеличить пропускную способность сети. Аналогичное обновление реализовано и для blockchain сети litecoin, digibyte.
Segwit это «софт форк» протокола Bitcoin и позволяет сети функционировать в штатном режиме. Однако изменяется структура хранения данных в блоке и механизм проверки транзакций для полноценных узлов сети.
Lightning Network
Платежный протокол, который функционирует над сетью blockchain (обычно применяется в сети Bitcoin). Он осуществляет моментальные транзакции между нодами сети и предлагается как решение проблемы масштабируемости.