Введение в блокчейн: основы (часть 1)
5 минут
НовичокВедение
Хоть и технология блокчейна в основном используется цифровыми финансовыми активами в качестве управляющей инфраструктуры, использование и в других сферах просто неизбежно. Но, как и всегда, новые технологии влекут за собой и новые потребности в знаниях и понимании новых технологических решений. Попробуем разобраться в этом в нашей новой образовательной статье, рассмотрим основные концепции технологии блокчейна, как ее можно использовать в бизнесе и в жизни, а также рассмотрим неотъемлемые уязвимости децентрализованной сети в реальном мире..
Основы
На самом базовом уровне технология блокчейн состоит из криптографических алгоритмов. Создатель первого родительского блокчейна Bitcoin Сатоши Накамото (или группа создателей) разработал децентрализованную систему, в которой данные передаются и фиксируются между участниками сети с помощью криптографических алгоритмов без каких-либо сторонних посредников и возможности подделки сети.
Криптография, стоящая за блокчейном
Целью блокчейна является создание распределенной, децентрализованной и надежной записи истории системы. Самая известная сеть "Биткойн" использует криптографические записи для хранения истории транзакций, поэтому люди могут совершать и получать платежи в Биткоине и быть уверенными, что их деньги не будут потеряны или украдены.
Чтобы достичь такого уровня доверия, блокчейн использует пару криптографических алгоритмов в качестве строительных блоков: хеш-функции и открытые ключи имеют решающее значение как для функциональности, так и для безопасности экосистемы блокчейна.
Хеш-функции
Хеш-функция - это математическая функция, которая может принимать любое значение в качестве входных данных и выдавать выходные данные в фиксированном диапазоне чисел в битовой строке. Исходные данные называются входным массивом, «ключом» или «сообщением». Результат преобразования называется «хешем», «хеш-кодом», «хеш-суммой», «сводкой сообщения».
Чтобы считаться безопасной, хеш-функция должна быть устойчивой к коллизиям, а это означает, что чрезвычайно сложно (вплоть до невозможности) найти два входа, которые создают один и тот же хеш-выход. Для этого требуется несколько различных функций:
- Нет недостатков в хеш-функции
- Большое количество возможных выходов
- Односторонняя хеш-функция (не может получить ввод из вывода)
- Одинаковые входы дают очень разные результаты
Если хеш-функция соответствует этим требованиям, ее можно использовать в блокчейне. Однако если какое-либо из этих требований будет нарушено, то безопасность блокчейна окажется под угрозой. Блокчейн в значительной степени зависит от безопасных хеш-функций, чтобы гарантировать, что транзакции не могут быть изменены после сохранения в реестре.
Открытые ключи
Другим важным криптографическим механизмом, используемым в технологии блокчейн, являются открытые криптографические ключи. Этот тип криптографии также широко используется в Интернете, поскольку он обладает множеством полезных свойств. Криптография с открытым ключом позволяет:
- Зашифровать сообщение, чтобы его мог прочитать только предполагаемый получатель
- Создать цифровую подпись, подтверждающую, что именно вы отправили данное сообщение
- Использовать цифровую подпись, чтобы убедиться, что сообщение не было изменено при передаче
В криптографии с открытым ключом у каждого есть два разных ключа шифрования: закрытый и открытый. Ваш закрытый ключ - это случайное число, которое вы генерируете и храните в секрете. Он используется для расшифровки сообщений и создания цифровых подписей.
Ваш открытый ключ является производным от вашего закрытого ключа и, как следует из названия, предназначен для публичных данных. Он используется для шифрования сообщений и создания цифровых подписей. Адрес, куда вы или вам отправляют транзакции и является открытым публичным ключом.
Очень важно хранить свой закрытый приватный ключ в безопасности, не на электронном носителе. Если злоумышленники получат доступ к приватному ключу, это позволит им выполнять транзакции от чужого имени и расшифровывать личные данные. Самый распространенный способ «взлома» блокчейна - люди, которые не могут защитить свой закрытый ключ и попадаются на мошеннические схемы в интернете.
Как устроены блокчейны
Как следует из названия, блокчейн представляет собой набор блоков, соединенных вместе, чтобы создать непрерывное целое. В этом разделе мы рассмотрим, как это работает.
Блоки
Блокчейн предназначен для работы в качестве распределенного реестра, в котором данные хранятся безопасным образом. Блоки - это место, где хранятся эти данные.
Изображение выше иллюстрирует базовую структуру блока в блокчейне. Мы будем говорить о каждой части этого изображения на протяжении всей серии, но сейчас сосредоточимся на зеленых участках. Каждая зеленая часть представляет собой транзакцию внутри блока. Хотя транзакция может представлять собой буквальную транзакцию (то есть передачу стоимости) в таких блокчейнах, как биткойн, это не единственный вариант. Как мы увидим позже, платформы смарт-контрактов также хранят другие вещи (например, компьютерный код) в виде транзакций.
Безопасность блоков в цифровой книге зависит от безопасности криптографии с открытым ключом. Каждая транзакция и блок в блокчейне имеют цифровую подпись своего создателя. Это позволяет любому, у кого есть доступ к блокчейну, легко проверить, что каждая транзакция аутентифицирована (то есть отправлена кем-то, кто владеет соответствующей учетной записью) и не была изменена с момента создания. Целостность и подлинность блоков в цепочке также обеспечивается цифровой подписью создателя блока.
Цепочка
Каждый блок эквивалентен одной странице в бухгалтерской книге банка; это только часть истории истории сети. Чтобы объединить эти слайды в единое целое, блокчейн использует хеш-функции.
На изображении выше вы можете видеть хеш-функции, связывающие каждый блок вместе. Каждый блок содержит хеш предыдущего блока как часть его заголовка блока (раздел, не содержащий данных транзакции).
Тот факт, что каждый блок зависит от предыдущего, важен из-за устойчивости к коллизиям хеш-функций. Если кто-то хочет подделать 51-й блок на изображении, у него есть два варианта: найти другую версию 51-го блока с таким же хэшем или подделать все блоки после 52-го. Предполагается, что первое невозможно (из-за устойчивости к коллизиям), а второе должно быть трудным или невозможным, поскольку блокчейн спроектирован таким образом, чтобы затруднить подделку даже одного блока (подробнее об этом позже).
Безопасность «цепной» части блокчейна основана на устойчивости к коллизиям используемой хеш-функции. Если кто-то сможет найти способ сгенерировать другую версию блока 51 с таким же хэшем, предположения о неизменности блокчейна нарушаются, и вы не можете быть уверены, что какая-либо транзакция останется в распределенном реестре.
Что дальше...
На данный момент мы рассмотрели основные криптографические алгоритмы и структуры данных, используемые в блокчейне. Следующие две статьи этой серии посвящены инфраструктуре блокчейна: узлам и тому, как они объединены в сеть.
Читать часть 2: Узлы блокчейна