Шифрование в блокчейне: различия между версиями

Материал из Decimal Wiki
Перейти к навигации Перейти к поиску
[досмотренная версия][досмотренная версия]
Нет описания правки
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
{{#seo:
{{#seo:
                     |title= Шифрование в блокчейне
                     |title= Шифрование в блокчейне — материал из Decimal Wiki
                     |titlemode= append  
                     |titlemode= append  
                     |keywords= Шифрование в блокчейне
                     |keywords= Шифрование в блокчейне
                     |description= Шифрование в блокчейне
                     |description= Шифрование в блокчейне
                     }}
                     }}
<div class="mikio-article-content">
[[Блокчейн]]-технология воспринимается людьми как что-то сложное для понимания, но на самом деле основная идея проста. Чтобы разобраться с принципом работы блокчейна, давайте выясним, как с помощью [[криптография|криптографических алгоритмов]] шифруются данные.


<div class="mikio-tags">
== Зачем шифровать данные в блокчейне ==
Благодаря алгоритмам шифрования технология блокчейн считается самой безопасной разновидностью [[P2P|одноранговых сетей]] (сеть, где все узлы равны между собой). Для начала разберёмся, зачем в блокчейне что-то шифровать.


В традиционных и понятных нам системах '''«клиент-сервер»''' за безопасность отвечает сервер компании, которая обеспечивает безопасность хранения денежных средств (например, сервер банка). Он выполняет следующие функции:


 
1. '''Обеспечивает доступ пользователей к данным'''.<br>
</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 />
2. '''Следит за сохранностью данных'''.<br>
Сервер заботится о конфиденциальности данных пользователей и не даёт злоумышленникам доступ к личным данным и информации.
Сервер заботится о конфиденциальности данных пользователей и не даёт злоумышленникам доступ к личным данным и информации.


3. '''Контролирует изменение данных''' .<br />
3. '''Контролирует изменение данных'''.<br>
Любое изменение, прежде чем вступить в силу, согласуется с сервером. Таким образом поддерживается целостность данных.
Любое изменение, прежде чем вступить в силу, согласуется с сервером. Таким образом поддерживается целостность данных.


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


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


== Алгоритм с хеш-функциями ==
{{основная статья|Хеш-функция}}
Разработчикам блокчейна был необходим такой тип математических функций, который '''легко шифрует информацию''' без возможности расшифровки, — это односторонние функции.


</div>
Пример такой функции — умножение. Если мы знаем только ответ, то не можем однозначно сказать, какие два числа были умножены, например, <math>x \times y = 6</math>.
<span id="algoritm_s_xesh-funkcijami"></span>
= Алгоритм с хеш-функциями =


<div class="level1">
Далее нужен такой тип односторонних функций, который '''превращает информацию произвольного размера в шифр определённой длины''', и это [[хеш-функция|хеш-функции]]. Они преобразуют сообщения в набор символов (хеши), которые можно удобно и безопасно использовать в программировании.


Разработчикам блокчейна был необходим такой тип математических функций, которые '''легко шифрует информацию''' без возможности расшифровки, — это односторонние функции.
Такой набор символов (хеш) может состоять как из букв, так и из цифр. Какие цифры и буквы будут в хеше, а также сколько их будет, зависит от выбранной хеш-функции.


Пример такой функции — умножение. Если мы знаем только ответ, то не можем однозначно сказать, какие два числа были умножены.
'''Рассмотрим подробнее наиболее известную — [[SHA-256]], которая также используется в блокчейне [[DecimalChain]]'''.


Например, Х * У = 6
== Как работает хеш-функция SHA-256 ==
[[Файл:Commoninfo-sha256.png|600px|thumb|right]]
Хэш-функция SHA-256 используется и в блокчейне [[биткоин]]а. '''SHA''' означает «безопасный алгоритм хеширования»‎, а число '''256''' — объём кеша в битах.


Далее нужен такой тип односторонних функций, который '''превращает информацию произвольного размера в шифр определённой длины''' , и это хеш-функции. Они преобразуют сообщения в набор символов (хеши), которые можно удобно и безопасно использовать в программировании.
Работа хеш-функции SHA-256 концептуально напоминает создание отпечатков пальцев. Чтобы идентифицировать человека, не надо знать всю информацию о нём: достаточно знать отпечаток его пальца. SHA-256 вычисляет такой «отпечаток» у текстов, видео, изображений, музыки и других видов информации.
 
Такой набор символов (Хэш) может состоять как из букв, так и из цифр. Какие цифры и буквы будут в хеше, а также сколько их будет, зависит от выбранной хеш-функции.
 
'''Рассмотрим подробнее наиболее известную — 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 вычисляет такой «отпечаток» у текстов, видео, изображений, музыки и других видов информации.'''


'''Алгоритм работы можно описать следующим образом:'''
'''Алгоритм работы можно описать следующим образом:'''
# На вход поступает сообщение — файл размером до 2 млн терабайт.
# Выполняются математические преобразования.
# На выходе получается хеш — 64-значное число.


<ol>
Закодировать текст и посмотреть, как работает хеш-функция, можно [http://crypt-online.ru/crypts/sha256/ онлайн тут].
<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">
 
'''Без хеш-функций существование блокчейна было бы невозможно''' .
 
Блокчейн уникален тем, что гарантирует неизменность и анонимность данных, которые он хранит. благодаря алгоритмам шифрования. Любые данные перед внесением в блокчейн проверяются на подлинность, но при этом никто не может их увидеть. То же самое, что банкир проверяет подлинность банкнот, лежащих в закрытом сейфе. В этом и помогает хеш-функция.
 
Блокчейн регулярно обновляет данные, добавляя записи об изменениях — «транзакции». При обновлении транзакционной информации любая система уязвима для атаки. Банки нивелируют этот риск с помощью централизованной архитектуры и одностороннего строгого контроля за правами доступа пользователей. '''У блокчейна нет централизованного органа контроля — его заменяют криптографические хеш-функции''' .
 
Транзакции и их хеши формируются в блоки. Хеш в каждом новом блоке зависит от хеша в предыдущем. Таким образом, все когда-либо совершённые транзакции можно выразить одним числом — хешем последнего блока.


'''Изменив даже одну транзакцию в любом из предыдущих блоков, изменятся все последующие хеши по цепочке — такая версия блокчейна будет считаться недействительной''' .
'''SHA-256 кодирует сообщения моментально'''. Хеши сильно отличаются даже при незначительном изменении в сообщении. Хеш меняется настолько, что абсолютно не имеет сходства между новым и старым значениями. Благодаря этому '''хеш-функция SHA-256 гарантирует невозможность изменения сообщения''', не меняя хеша.


'''На хеш-функциях базируется весь принцип работы блокчейна. Если изменится один блок, то придётся методом перебора восстанавливать все последующие блоки. Чтобы осуществить такой перебор, не хватит никаких ныне существующих вычислительных мощностей'''
Набор из букв и цифр в хеше — это одно 64-значное число, записанное в 16-ричной системе счисления. Чтобы найти два разных сообщения с одинаковым хешем, придётся перебирать их тысячелетиями, поэтому если два сообщения имеют одинаковый хеш, то будьте уверены: сообщения одинаковые.


== Транзакции в блокчейне ==
'''Без хеш-функций существование блокчейна было бы невозможно'''.


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


</div>
Блокчейн регулярно обновляет данные, добавляя записи об изменениях — [[транзакция|транзакции]]. При обновлении транзакционной информации любая система уязвима для атаки. Банки нивелируют этот риск с помощью централизованной архитектуры и одностороннего строгого контроля за правами доступа пользователей. '''У блокчейна нет централизованного органа контроля — его заменяют криптографические хеш-функции'''.
<div style="clear:both">


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


'''При изменении даже одной транзакции в любом из предыдущих блоков, изменятся все последующие хеши по цепочке — такая версия блокчейна будет считаться недействительной'''.


</div>
{{комментарий|На хеш-функциях базируется весь принцип работы блокчейна. Если изменится один блок, то придётся методом перебора восстанавливать все последующие блоки. Чтобы осуществить такой перебор, не хватит никаких ныне существующих вычислительных мощностей.}}


</div>
[[Категория:Терминология]]
[[Category:Commoninfo]]
[[Категория:Криптобезопасность]]
[[Категория:Технология блокчейн]]

Текущая версия от 13:29, 26 декабря 2023

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

Зачем шифровать данные в блокчейне

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

В традиционных и понятных нам системах «клиент-сервер» за безопасность отвечает сервер компании, которая обеспечивает безопасность хранения денежных средств (например, сервер банка). Он выполняет следующие функции:

1. Обеспечивает доступ пользователей к данным.
Именно сервер хранит логины и пароли своих клиентов, проверяет пользователя, прежде чем дать ему доступ к сети.

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

3. Контролирует изменение данных.
Любое изменение, прежде чем вступить в силу, согласуется с сервером. Таким образом поддерживается целостность данных.

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

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

Алгоритм с хеш-функциями

Основная статья: Хеш-функция

Разработчикам блокчейна был необходим такой тип математических функций, который легко шифрует информацию без возможности расшифровки, — это односторонние функции.

Пример такой функции — умножение. Если мы знаем только ответ, то не можем однозначно сказать, какие два числа были умножены, например, .

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

Такой набор символов (хеш) может состоять как из букв, так и из цифр. Какие цифры и буквы будут в хеше, а также сколько их будет, зависит от выбранной хеш-функции.

Рассмотрим подробнее наиболее известную — SHA-256, которая также используется в блокчейне DecimalChain.

Как работает хеш-функция SHA-256

Хэш-функция SHA-256 используется и в блокчейне биткоина. SHA означает «безопасный алгоритм хеширования»‎, а число 256 — объём кеша в битах.

Работа хеш-функции SHA-256 концептуально напоминает создание отпечатков пальцев. Чтобы идентифицировать человека, не надо знать всю информацию о нём: достаточно знать отпечаток его пальца. SHA-256 вычисляет такой «отпечаток» у текстов, видео, изображений, музыки и других видов информации.

Алгоритм работы можно описать следующим образом:

  1. На вход поступает сообщение — файл размером до 2 млн терабайт.
  2. Выполняются математические преобразования.
  3. На выходе получается хеш — 64-значное число.

Закодировать текст и посмотреть, как работает хеш-функция, можно онлайн тут.

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

Набор из букв и цифр в хеше — это одно 64-значное число, записанное в 16-ричной системе счисления. Чтобы найти два разных сообщения с одинаковым хешем, придётся перебирать их тысячелетиями, поэтому если два сообщения имеют одинаковый хеш, то будьте уверены: сообщения одинаковые.

Транзакции в блокчейне

Без хеш-функций существование блокчейна было бы невозможно.

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

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

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

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

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