8.22M
Category: financefinance

BlockChain технологии

1.

BlockChain технологии

2.

Список, который можно изменить
1.
2.
3.
4.
5.
Занял Владу 100 рублей
Занял Илье 500 рублей
Влад отдал 50 рублей
Занял Илье 200 рублей
Влад отдал 50 рулей
ИТОГ: Илья должен 700 рублей

3.

Список, который можно изменить
1.
2.
3.
4.
5.
Занял Владу 100 рублей
Занял Илье 100 рублей
Влад отдал 50 рублей
Занял Илье 200 рублей
Влад отдал 50 рулей
ИТОГ: Илья должен 300 рублей

4.

Функции хеширования
Строка: БЛОКЧЕЙН
Хэш:
b259b26ce5d93eef12c0e5a567749280
edddfc7190944b1020e6f4ba7ec93814
Строка: БЛОКЧЕЙН.
Хэш:
89b3689b5b173fbb20212a11c3cb2585
7beedc1ffa3ebd5b021a092de69bc460
Строка –> Хеш
Хеш –> Строка
Хеш(Строка1) = Хэш(Строка2)
легко
невозможно
очень сложно
https://emn178.github.io/online-tools/sha256.html

5.

Определение хэш-функций
Хэш-функция – легко вычислимая функция, преобразующая исходное сообщение
произвольной длины (прообраз) в сообщение фиксированное длины, для которой не
существует эффективного алгоритма поиска коллизий (вычислительно проще, чем
методом полного перебора).
Коллизией хэш-функции H называется два различных входных блока данных x и y
таких, что H(x) = H(y).
Свойства хэш-функций:
на вход хэш-функции подается сообщение произвольной длины;
на выходе хэш-функции формируется блок данных фиксированной длины;
значения на выходе хэш-функции распределены по равномерному закону;
при изменении одного бита на входе хэш-функции существенно изменяется выход.
вычисление значения хэш-функции должно выполняться достаточно быстро.
Южный федеральный университет
5

6.

Требование к хэш-функциям
Требования к хэш-функциям:
Необратимость (однонаправленность): если известно значение хэшфункции h, то задача нахождения сообщения M такого, что Н(М) = h, должна
быть вычислительно трудной.
Стойкость в сильном смысле: задача подбора пар сообщений (M, M’),
таких, что Н(М) = H(M’), должна быть вычислительно трудной.
Стойкость в слабом смысле: при заданном сообщении M задача
нахождения другого сообщения M’, такого, что Н(М) = H(M’), должна быть
вычислительно трудной.
Криптографической хэш-функцией называется всякая хэш-функция,
являющаяся криптостойкой, то есть, удовлетворяющая данным требованиям.
Южный федеральный университет
6

7.

Классификация хэш-функций
Хэш-функции можно разделить на два класса:
Бесключевые хэш-функции: хэш-функции, на вход которых подается только
сообщение. Относятся коды обнаружения изменений сообщения (МDC-код,
modification detection code).
Ключевые хэш-функции: хэш-функции, на вход которых подается
сообщение и секретный ключ. Относятся коды аутентификации сообщений
(МАС-коды, message authentication code).
Южный федеральный университет
7

8.

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

9.

Список различных хеш-функций

10.

Список, который сложнее изменить
1.
2.
3.
4.
5.
Занял Владу 100 рублей
Занял Илье 500 рублей
Влад отдал 50 рублей
Занял Илье 200 рублей
Влад отдал 50 рулей
64a811……e21059
ea4ca4……b30e6b
864071……110b1f
cf274f……5c7e06
af26e0……523969
ИТОГ: Илья должен 700 рублей

11.

Список, который сложнее изменить
1.
2.
3.
4.
5.
Занял Владу 100 рублей
Занял Илье 100 рублей
Влад отдал 50 рублей
Занял Илье 200 рублей
Влад отдал 50 рулей
64a811……e21059
346482……f58004
864071……110b1f
cf274f……5c7e06
af26e0……523969
ИТОГ: Илья должен 300 рублей

12.

Список, который трудно изменить
1.
2.
3.
4.
5.
Занял Владу 100 рублей
Занял Илье 500 рублей 64a811……e21059
Влад отдал 50 рублей c5979f……340b5e
Занял Илье 200 рублей dbe25e……bc658e
Влад отдал 50 рулей 158c8e……93b796
ИТОГ: Илья должен 700 рублей
64a811……e21059
c5979f……340b5e
dbe25e……bc658e
158c8e……93b796
098d4a……a96222

13.

Список, который трудно изменить
1.
2.
3.
4.
5.
Занял Владу 100 рублей
Занял Илье 100 рублей 64a811……e21059
Влад отдал 50 рублей e21059……eaab47
Занял Илье 200 рублей 91886a……d8818c
Влад отдал 50 рулей c4ac5d……22e126
ИТОГ: Илья должен 300 рублей…..
64a811……e21059
e21059……eaab47
91886a……d8818c
c4ac5d……22e126
eb4908……2a3487

14.

Список, который очень трудно изменить

15.

Список, который очень трудно изменить
Блок #0
Блок #1
Блок #2
.0000
Хэш блока #0
Хэш блока #1
Данные блока
#0
Данные блока
#1
Данные блока
#2
Хэш блока #0
Хэш блока #1
Хэш блока #2
0x0000

16.

Что такое блокчейн?

17.

Что такое блокчейн?

18.

Задача:)
1. Запустить браузер и перейти по ссылке
https://www.blockchain.com/explorer?view=btc_blocks
2. В строку поиска ввести номер блока 600 000
3. Из предложенного списка выбрать криптовалюту BTC.
После этого откроются записи, принадлежащие блоку
под номером 600000 в системе Биткоин.
4. Вопрос №1. Внимательно изучите записи в блоке и
определите сколько транзакций содержится в одном
блоке?
Вопрос №2. Внимательно изучите записи в блоке и
определите, чему равно значение Nonce? Сколько нулей
содержит хэш-значение?

19.

Задача:)

20.

Задача:)

21.

Ethereum
Механизм консенсуса: Proof of work (PoW),
Proof of Stake (PoS)
Язык разработки смарт-контрактов: Solidity
https://ethereum.org/ru/

22.

Смарт-контракт для Ethereum

23.

EOS
Механизм консенсуса: Delegated Proof of Stake (DpoS)
Язык разработки смарт-контрактов: C++
https://eos.io/

24.

Solana
Механизм консенсуса: использует механизм консенсуса
PoS вместе с алгоритмом PoH — алгоритм доказательства
истории
Язык разработки смарт-контрактов: Rust, С и C++
https://solana.com/ru

25.

Solana

26.

Polygon
Механизм консенсуса: Proof of Stake (PoS)
Язык разработки смарт-контрактов: Solidity
https://polygon.technology/

27.

Hyperledger Fabric
Механизм консенсуса: подключается как модуль
Одним из важных отличий платформы является поддержка
подключаемых протоколов консенсуса, что позволяет более
эффективно настраивать платформу под конкретные сценарии
и модели доверия. Например, при развертывании в рамках
одного предприятия или под управлением доверенного органа
полностью византийский консенсус может считаться ненужным
и снижающим пропускную способность сети. В подобных
ситуациях более чем достаточным может оказаться
отказоустойчивый (CFT) консенсус, в то время как в
многостороннем децентрализованном случае может
потребоваться более традиционный византийский (BFT)
протокол консенсуса.
Язык разработки смарт-контрактов: Java, JavaScript, Go,
TypeScript
https://hyperledger-fabric.readthedocs.io/ru/latest/index.html

28.

Hyperledger Fabric
https://wiki.hyperledger.org/

29.

Конфидент
https://doc.web3tech.ru/ru/latest/index.html
English     Русский Rules