424
edits
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{#seo: | {{#seo: | ||
|title= | |title= Шифрование в блокчейне | ||
|titlemode= append | |titlemode= append | ||
|keywords= | |keywords= Шифрование в блокчейне | ||
|description= | |description= Шифрование в блокчейне | ||
}} | }} | ||
<div class="mikio-article-content"> | |||
<div class="mikio-tags"> | |||
</div> | |||
<span id="shifrovanie_v_blokchejne"></span> | |||
= Шифрование в блокчейне = | |||
<div class="level1"> | |||
Блокчейн-технология воспринимается людьми как что-то сложное для понимания, но на самом деле основная идея проста. Чтобы разобраться с принципом работы блокчейна, давайте выясним, как с помощью криптографических алгоритмов шифруются данные. | |||
</div> | |||
<span id="zachem_shifrovat_dannye_v_blokchejne"></span> | |||
= Зачем шифровать данные в блокчейне = | |||
<div class="level1"> | |||
Благодаря алгоритмам шифрования технология блокчейн считается самой безопасной разновидностью одноранговых сетей (Сеть где все равны между собой) . Для начала разберёмся, зачем в блокчейне что-то шифровать. | |||
В традиционных и понятных нам системах '''«клиент-сервер»''' за безопасность отвечает сервер компании, которая обеспечивает безопасность хранения денежных средств ( Сервер банка) Он выполняет следующие функции: | |||
1. '''Обеспечивает доступ пользователей к данным''' .<br /> | |||
Именно сервер хранит логины и пароли своих клиентов, проверяет пользователя, прежде чем дать ему доступ к сети. | |||
2. '''Следит за сохранностью данных''' .<br /> | |||
Сервер заботится о конфиденциальности данных пользователей и не даёт злоумышленникам доступ к личным данным и информации. | |||
3. '''Контролирует изменение данных''' .<br /> | |||
Любое изменение, прежде чем вступить в силу, согласуется с сервером. Таким образом поддерживается целостность данных. | |||
'''Так как в блокчейне каждый узел является и сервером, и клиентом одновременно, а центральный сервер отсутствует, для вышеперечисленных целей применяют криптографию.''' | |||
Криптографические алгоритмы шифрования выполняют вышеописанные функции без постороннего вмешательства и нам теперь не нужен сервер банка для безопасного хранения денежных средств. Также криптография отвечает на вопрос, какой использовать алгоритм шифрования для той или иной цели. | |||
</div> | |||
<span id="algoritm_s_xesh-funkcijami"></span> | |||
= Алгоритм с хеш-функциями = | |||
<div class="level1"> | |||
Разработчикам блокчейна был необходим такой тип математических функций, которые '''легко шифрует информацию''' без возможности расшифровки, — это односторонние функции. | |||
Пример такой функции — умножение. Если мы знаем только ответ, то не можем однозначно сказать, какие два числа были умножены. | |||
Например, Х * У = 6 | |||
Далее нужен такой тип односторонних функций, который '''превращает информацию произвольного размера в шифр определённой длины''' , и это хеш-функции. Они преобразуют сообщения в набор символов (хеши), которые можно удобно и безопасно использовать в программировании. | |||
Такой набор символов (Хэш) может состоять как из букв, так и из цифр. Какие цифры и буквы будут в хеше, а также сколько их будет, зависит от выбранной хеш-функции. | |||
'''Рассмотрим подробнее наиболее известную — SHA-256, которая также используется в блокчейне DecimalChain''' . | |||
</div> | |||
<span id="kak_rabotaet_xesh-funkcija_sha-256"></span> | |||
= Как работает хеш-функция SHA-256 = | |||
<div class="level1"> | |||
Хэш-функция SHA-256 используется и в блокчейне биткоина. SHA означает «безопасный алгоритм хеширования», а число 256 — объём кеша в битах. | |||
Работа хеш-функции SHA-256 концептуально напоминает создание отпечатков пальцев. Чтобы идентифицировать человека, не надо знать всю информацию о нём: достаточно знать отпечаток его пальца. '''SHA-256 вычисляет такой «отпечаток» у текстов, видео, изображений, музыки и других видов информации.''' | |||
'''Алгоритм работы можно описать следующим образом:''' | |||
[[Category: | |||
<ol> | |||
<li><div class="li"> | |||
На вход поступает сообщение — файл размером до 2 млн терабайт. | |||
</div></li> | |||
<li><div class="li"> | |||
Выполняются математические преобразования. | |||
</div></li> | |||
<li><div class="li"> | |||
На выходе получается хеш — 64-значное число. | |||
</div></li></ol> | |||
Закодировать текст и посмотреть, как работает хеш-функция, можно [http://crypt-online.ru/crypts/sha256/ онлайн тут] | |||
[[File:Commoninfo-sha256.png|1000px|class=mediacenter]] | |||
'''SHA-256 кодирует сообщения моментально''' . Хеши сильно отличаются даже при незначительном изменении в сообщении. Хеш меняется настолько, что абсолютно не имеет сходства между новым и старым значениями. Благодаря этому '''хеш-функция SHA-256 гарантирует невозможность изменения сообщения''' , не меняя хеша. | |||
Набор из букв и цифр в хеше — это одно 64-значное число, записанное в 16-ричной системе счисления. Чтобы найти два разных сообщения с одинаковым хешем, придётся перебирать их тысячелетиями, поэтому если два сообщения имеют одинаковый хеш, то будьте уверены: сообщения одинаковые. | |||
</div> | |||
<span id="tranzakcii_v_blokchejne"></span> | |||
= Транзакции в блокчейне = | |||
<div class="level1"> | |||
'''Без хеш-функций существование блокчейна было бы невозможно''' . | |||
Блокчейн уникален тем, что гарантирует неизменность и анонимность данных, которые он хранит. благодаря алгоритмам шифрования. Любые данные перед внесением в блокчейн проверяются на подлинность, но при этом никто не может их увидеть. То же самое, что банкир проверяет подлинность банкнот, лежащих в закрытом сейфе. В этом и помогает хеш-функция. | |||
Блокчейн регулярно обновляет данные, добавляя записи об изменениях — «транзакции». При обновлении транзакционной информации любая система уязвима для атаки. Банки нивелируют этот риск с помощью централизованной архитектуры и одностороннего строгого контроля за правами доступа пользователей. '''У блокчейна нет централизованного органа контроля — его заменяют криптографические хеш-функции''' . | |||
Транзакции и их хеши формируются в блоки. Хеш в каждом новом блоке зависит от хеша в предыдущем. Таким образом, все когда-либо совершённые транзакции можно выразить одним числом — хешем последнего блока. | |||
'''Изменив даже одну транзакцию в любом из предыдущих блоков, изменятся все последующие хеши по цепочке — такая версия блокчейна будет считаться недействительной''' . | |||
'''На хеш-функциях базируется весь принцип работы блокчейна. Если изменится один блок, то придётся методом перебора восстанавливать все последующие блоки. Чтобы осуществить такой перебор, не хватит никаких ныне существующих вычислительных мощностей''' | |||
</div> | |||
<div style="clear:both"> | |||
</div> | |||
</div> | |||
[[Category:Commoninfo]] |