Криптомир будущего - внутри цепочек блоков
Как хранятся данные внутри блокчейна? Почему записанную информацию нельзя стереть или исправить? Что такое блок?
В этой статье расскажу как данные хранятся внутри сети и попробую привести пример, который покажет, какую основную задачу решает блокчейн.
И так, мой друг “Петр”, занял у меня 1000 рублей, и я как финансово грамотный человек, записываю все расходы и доходы в специальном дневнике:
Когда Петр решит вернуть долг, я запишу эту транзакцию ниже:
Но, что если Петр, получит доступ к этой записи и изменит сумму на 100 рублей или запишет, что уже вернул долг. Против такого злого умысла никто не защищён. Эту задачу можно решить.
В математике есть такие операции над данными, которые не имеют обратного действия.
Возьмем умножение, обратной операцией которого, будет деление, а если сложение, то обратное - это вычитание.
Но если возьмем операцию “остаток от деления”, то полученное значение никак не вернуть в исходное состояние. Такая операция записывается в математике как: 35 mod 4.
Чтобы понять, как это работает, вспомним деление столбиком:
В этом действии нас волнует не сам результат деления, а только остаток и он равен 3.
Таких операций в математике много и их можно использовать не только с числами.
Вышесказанное поможет объяснить, что такое Хэширование.
Хэширование, в простом понимании, это преобразование входящих данных в набор соответствующих символов, без возможности возврата в исходные данные.
Исходные данные называются Ключом, а результат Хэширования - Хэшем (ориг. hash)
Вернемся к нашему примеру про Петра и теперь будем записывать рядом с каждой транзакцией её ключ и хэш.
Как мы видим из примера, ключ каждой записи содержит в себе хэш предыдущей транзакции, а значит, чтобы поменять эту запись, потребуется пересчитывать заново все хэши, чтобы они соответствовали ключу.
Согласитесь, теперь это стало задачей не из легких. Но всё равно не такой безопасной как хотелось бы, ведь с помощью компьютеров любой может быстро рассчитать заново ключи с новыми данными.
Для того чтобы ещё усложнить эту задачу, существует такая практика, когда к ключу добавляют не только hash предыдущей транзакции, но еще и специальное число, которое позволяет получить более "красивый" hash.
Например, начинающийся с трех нулей. Такое число называется nonce и выглядеть таблица будет следующим образом:
Теперь, для того чтобы изменить информацию, нужно не просто сформировать необходимый hash, но и подобрать такое число (nonce), которое сделает этот hash начинающимся с трех нулей.
Все эти сложности нужны для безопасности и, на машинном уровне, решаются достаточно быстро. Поэтому в блокчейн сети Bitcoin, первоначально заложен подбор "красивого" хэша начинающимся с нескольких нулей.
Вывод, который нужно вынести из этого примера, объясняет как хранятся данные в блокчейн сети и какую основную задачу эта технология решает:
- Блокчейн защищает информацию, поэтому ее никто и никогда не сможет изменить, а следовательно такой инструмент очень полезен в вопросах, когда надо отстаивать свои права на имущество.
- Открытость и прозрачность не позволит сделать изменения в данных, не оставив следа.
Как мы уже знаем, данные в блокчейне записываются через транзакции, об этом сказано в прошлой статье Криптомир будущего - золотые возможности Биткоина, а сами транзакции формируются в блоки. В сети Bitcoin, на данный момент, число входящих транзакций в один блок превышает 2500 штук.
Название BlockChain - переводится как цепочка блоков и говорит о том, что блоки связаны между собой, как в примере с Петром.
Таким образом, каждый последующий блок, содержит в себе Hash предыдущего блока и так далее.
На чем зарабатывают майнеры? Откуда появляются монеты Биткоина? Почему в майнинг Биткоина высокий порог вхождения? Что такое Халвинг? Об этом в следующих статьях ...