История становления Блокчейн. Часть II.

История становления Блокчейн. Часть II.

@nesmeshimoisatoshi

Часть I

В предыдущей части я рассказал о тройной записи бухгалтерского учета как об интерпретации экономического смысла блокчейн. Во второй части нашей истории я расскажу о технических аспектах технологии, которые являются, можно сказать, базой данного мироздания. Есть два слона, на которых и строится блокчейн – криптография и хеширование. Поговорим о каждом из них отдельно.

Криптография

Представьте, что у вас есть некий финансовый документ, допустим, договор на поставку ящика шоколада. Что идентифицирует вас по этому договору? Правильно, ваша подпись. Но любую подпись можно подделать: и ход руки, и все закорючки, и силу нажима на бумагу, да так, что вы даже не отличите подделанную подпись от собственной настоящей! А ведь с поддельной подписью любой документ утрачивает свою юридическую силу. Поэтому, чтобы хоть как-то избежать таких случаев, продавец зачастую требует с вас указания в договоре паспортных данных, которые он собственноручно должен сверить по вашему паспорту. Но и здесь можно совершить различные махинации (сколько кредитов оформлено по чужим паспортам?)

А теперь вообразите, что у вас есть цифровая подпись, которая решает все идентификационные вопросы. Подпись, по которой любое ваше подписанное действие идентифицируется всеми остальными участниками (чего угодно – арендодателями, продавцами и т.д.) только как ваше. Но тут сразу же возникает вопрос... А разве её нельзя подделать? - спросите вы. Можно, но эта задача практически лишается смысла благодаря криптографии, т.е. подпись можно подделать, но из-за вычислительной сложности процесс подделки займет десятки, а может и сотни лет.

Подведем итог: в блокчейне подтверждением ваших действий является цифровая криптографическая подпись.


Хеширование

Смоделируем ситуацию – вы работаете в крупной компании и вам срочно нужно передать свой e-mail адрес коллеге с другого подразделения, который должен вам срочно выслать недостающие данные для отчета акционеров. Со связью тоже бывают проблемы, а отчет очень важный. Что вы сделаете, чтобы проверить правильно ли передали адрес? – Правильно, попросите вашего коллегу вам переслать его вам и сверите. А что будет, если вам нужно будет передать важное видео с конференции в HD качестве? Не будете же вы просить переслать всего лишь пару гигов обратно для сверки? Согласитесь, смешно.

В данном случае правильно поступить так: использовать для подтверждения хеш (или иначе, свертку) вашего фильма. Процесс получения хеша называется хешированием. Фильм в цифровом формате является последовательностью нулей и единиц, так вот, эту последовательность можно сократить с помощью функции свертки и определённого алгоритма. Если после проверки хеша отправленного фильма вы увидите, что он не совпадает с тем, что было изначально, это сигнал к тому, что что-то пошло не так: или видео пришло в обрезанном виде, или оно исказилось при передаче, или же вообще вы случайно отправили не видео с конференции, а видео того, что было после нее.

Подведем итог: хеширование используется в блокчейне с целью сократить запись транзакции, при этом гарантируется корректность и конфиденциальность информации, даже при условии внешнего воздействия на неё.


Технически совершенные – криптостойкие алгоритмы свертки отличатся от обычных тем, что подобрать другое сообщение с той же сверткой становится фактически не реально, либо очень-очень долго.

127e6fbfe24a750e72930c220a8e138275656b8e5d8f48a98c3c92df2caba935

Пример хеша по алгоритму SHA256

Это всё, конечно, сложно, но зато интересно. Но не пугайтесь, дальше будет проще и понятнее. Давайте посмотрим, как эти ключевые аспекты применяются в технической реализации блокчейн.

Представьте себя школьником, который вместе со своими одноклассниками решили запустить внутри вашего класса валюту в виде наклеек или фишек (на самом деле, прямая аналогия с виртуальной валютой). Вы посчитали сколько у каждого есть фишек и записали это на общем листочке. Который потом размножили на количество одноклассников, так, чтобы у каждого был этот листок.

Яков самый умный, поэтому сверку ведет он


В этот листок каждый школьник должен записывать все операции с фишками (транзакции), которые он совершил и ставить свою подпись для идентификации (цифровая подпись).

Вася ведет свой дневник операций

Эти листы находятся в свободном обращении в классе, а в конце каждого урока кто-то из учеников собирает все листочки у себя и считает все операции с фишками, проверяет для каждой строчки-операции действительно ли у её автора есть столько фишек, чтобы совершить эту операцию, при этом записывает все операции на отдельные листочки.

Если всё верно, тот, кто занимался проверкой признает все транзакции совершенными. Если же какая-то страница содержит не верную информацию или при пересчете балансы не сходятся, то такая страница в новый листок не записывается.

Раскрываем обман Васи

Но с каждым разом эти листочки занимали бы всё больше и больше место, их становилось бы неудобно и долго передавать друг другу. Для того, чтобы этого избежать, тот, кто собирает листочки хеширует всю информацию об операциях (эта запись умещается в одну строку), копирует эту запись на другие листочки, ставит на всех номер версии листочка и раздаёт их на всех одноклассников до начала следующего урока. А старые листочки уничтожает. На каждой последующей перемене ко всем этим операциям добавляется ещё проверка сверток предыдущих страниц. Причем свертка – это решение математической задач. Чтобы невозможно было подделать свертки предыдущих листков кроме свертки данных ещё происходит свертка решения этой свертки. По сути это и есть блокчейн, где нумерованные страницы – это и есть блоки, а сам номер страницы – это номер версии листочка.


Как же определить того, кто будет заниматься вычислениями? В биткоине и в других криптовалютах c идеалогией proof of work есть награда за майнинг (за вычислительные действия – поиск решения по свертке и т.д.), она предоставляется самым умным ученикам (самым производительным майнинг-пулам), которые справятся с вычислениями быстрее других. Соответственно, идет соревнование за вычисления блоков. Кроме того, расчёт блоков в биткоине производится в соответствии с правилом - новый блок вычисляется каждые 10 минут.

Кстати, кому интересно можете почитать по этой ссылке переведенный на русский язык оригинал "той самой" работы Сатоши Накамото, которая была опубликована в далеком 2008 году.

Преимущества биткоин очевидны:

1.      Децентрализованность. Операции не зависят от центра (вот почему блокчейн не любят почти все центробанки), его нельзя контролировать, закрыть или запретить, каждый участник имеет при себе сведения о всей сети (вспомним листочки с записями об операциях с фишками)

2.      Масштабируемость. Если кто-то захочет попасть в сеть, то для этого не нужно ничего менять.

3.      Необратимость транзакций. Если транзакция записана, её уже не изменить, ведь любое малейшее изменение приведет к полному изменению хеш-функции.

4.      «Условная» анонимность. Никто не узнает, что эта подпись (этот кошелек) ваша, если вы сами об этом не скажите.

5.      Демократичность. Пользоваться биткоин могут все, для совершения операций не нужно иметь посредников.


На сегодня получилась большая статья. Понимаю, это не просто для понимания. Но, если вы в ней разберетесь, то многие аспекты мира криптовалют дадутся вам проще.

Сатоши всем!

https://t.me/nesmeshimoisatoshi

Report Page