Октябрь 2019
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031   

Календарь Календарь

Последние темы
» Новинки. Книги. Часть 1.
автор Viktor2312 Сегодня в 09:55

» Упрощаем схему Микро-80 и исправляем косяки. И собираем по технологиям 80-х годов.
автор Microsha Вчера в 23:02

» AVR AY плеер
автор Microsha Вчера в 17:55

» Микроконтроллеры STM32G0
автор Viktor2312 Вчера в 14:38

» SINOVATE (SIN). Криптовалюта Синовэйт.
автор Viktor2312 Вчера в 12:10

» Новости криптовалют: статьи, заметки, разное...
автор Viktor2312 Вчера в 09:11

» Усилитель на 6ф5п
автор freddy Ср Окт 16 2019, 16:07

» "Python". Статьи, заметки, очерки, разное...
автор Viktor2312 Вт Окт 15 2019, 21:18

» Анти Радио-86РК
автор freddy Вт Окт 15 2019, 16:38

» Конверсия atx бп
автор freddy Вт Окт 15 2019, 15:48

» Источники питания. Статьи, заметки, очерки, разное...
автор Viktor2312 Вт Окт 15 2019, 04:08

» Радио-86РК: внешние видео-адаптеры
автор freddy Вс Окт 13 2019, 19:28

» Изучаем основы VHDL, ISE, ПЛИС Xilinx.
автор Viktor2312 Сб Окт 12 2019, 11:20

» Электроника. Статьи, заметки, очерки, разное...
автор Viktor2312 Пт Окт 11 2019, 13:00

» Радио-86РК: Разное
автор barsik Чт Окт 10 2019, 15:36

» Общие вопросы по ПЭВМ Ириша
автор barsik Вс Окт 06 2019, 07:01

» ПО. ПЭВМ "Ириша". Текстовый редактор "WORDSTAR".
автор barsik Сб Окт 05 2019, 18:28

» Расширение ОЗУ в ИРИШЕ
автор Viktor2312 Пт Окт 04 2019, 17:27

» Радио РК-86: ПЭВМ с процессором 1821ВМ85
автор Viktor2312 Пт Окт 04 2019, 12:28

» Другой микропроцессор в ИРИШЕ
автор barsik Чт Окт 03 2019, 18:16

» Флейм касающийся ПЭВМ "Ириша".
автор barsik Чт Окт 03 2019, 07:31

» Модуль контроллера графического дисплея (МКГД).
автор Viktor2312 Ср Окт 02 2019, 00:50

» Новости. Xilinx.
автор Viktor2312 Вт Окт 01 2019, 12:07

» ПО. ПЭВМ "Ириша". Текстовый редактор "ИРИТЕКСТ".
автор Viktor2312 Сб Сен 28 2019, 00:34

» Криптовалюта — словарь терминов и определений.
автор Viktor2312 Пт Сен 27 2019, 23:00

Самые активные пользователи за месяц
Viktor2312
Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Vote_lcapАлгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Voting_barАлгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Vote_rcap 
barsik
Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Vote_lcapАлгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Voting_barАлгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Vote_rcap 
freddy
Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Vote_lcapАлгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Voting_barАлгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Vote_rcap 
Microsha
Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Vote_lcapАлгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Voting_barАлгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Vote_rcap 
leoperetz
Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Vote_lcapАлгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Voting_barАлгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Vote_rcap 

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.

Перейти вниз

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Empty Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.

Сообщение  Viktor2312 в Сб Апр 13 2019, 12:46

1
.
Алгоритм SHA-256,
хеш (hash), хеширование, майнинг.


____Функция хеширования SHA-256 легла в основу самой первой криптовалюты в мире — биткоина и многих альткоинов. Она была создана задолго до появления криптовалют и предназначалась совсем для других целей? Далее рассмотрим историю алгоритма, принцип его функционирования, текущие проблемы и какие криптовалюты используют SHA-256 и где он ещё применяется.
____Техническая основа криптовалюты на данный момент вызывает интерес у многих, кто интересуется таковыми. Не все знакомы с таким понятием, как «криптография». Понять суть в том, что происходит в так называемом Bitcoin-протоколе очень сложно. Но мы все-таки попытаемся сделать это. Для начала рассмотрим алгоритм SHA-256 для майнинга.
____SHA-2 (англ. Secure Hash Algorithm Version 2 — безопасный алгоритм хеширования, версия 2) — семейство криптографических алгоритмов — однонаправленных хеш-функций, включающее в себя алгоритмы SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/256 и SHA-512/224.
____SHA-256 представляет собой однонаправленную функцию для создания цифровых отпечатков фиксированной длины (256 бит, 32 байт) из входных данных размером до 2,31 эксабайт (264 бит) и является частным случаем алгоритма из семейства криптографических алгоритмов SHA-2 (Secure Hash Algorithm Version 2) опубликованным АНБ США в 2002 году.
____Хеш-функции семейства SHA-2 построены на основе структуры Меркла — Дамгарда.

Сравнение хеш-функций:

____В следующей таблице показаны некоторые технические характеристики различных вариантов SHA-2. «Внутреннее состояние» обозначает промежуточную хеш-сумму после обработки очередного блока данных:

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2511


История.

____Название алгоритма SHA-256 является аббревиатурой от Secure Hashing Algorithm. Так его назвал разработчик — Агентство национальной безопасности США. Алгоритм представляет собой функцию хеширования. Это означает, что на её вход поступает объём данных произвольной длины, а на выходе получается набор символов фиксированной длины, называемый хешем (hash).
____Одна из ключевых особенностей функций хеширования hash — необратимость. Мы можем получить хеш, пропустив исходные данные через функцию, но, зная хеш, получить исходные данные не удастся. Благодаря этому свойству функция получила распространение в разных сервисах и приложениях, где требуется защита данных. Ежедневно мы пользуемся алгоритмом SHA-256, посещая сайты в Интернете. Его включает в себя сертификат безопасности SSL, необходимый для установления защищенного соединения с сайтом.
____Классический алгоритм SHA-256 выстраивает весь Биткоин-майнинг. Отсюда происходит и майнинг других криптографических валют (альткоинов).

ОПРЕДЕЛЕНИЕ: SHA-256 — криптографическая хэш-функция. Разработана «Агентством национальной безопасности США».

____Алгоритм является частью семейства SHA-2, разработанных на базе SHA-1, появившегося в 1995 году. С момента своего появления SHA-256 подробно проверялся на стойкость с помощью криптоанализа. Криптоанализ проверяет устойчивость хеш-функций к двум основным видам атак:

  • Нахождение коллизий — обнаружение одинаковых хешей при разных параметрах на входе. Вероятность успеха данной атаки ставит под угрозу безопасность цифровой подписи с применением текущего алгоритма.

  • Нахождение прообраза — возможность расшифровывать исходное сообщение по его хешу. Данная атака ставит под угрозу безопасность хранения хешей паролей аутентификации.

____В 2003 году Гилберт и Хандшух провели исследование SHA-2, но не нашли каких-либо уязвимостей. Однако в марте 2008 года индийские исследователи Сомитра Кумар Санадия и Палаш Саркар опубликовали найденные ими коллизии для 22 итераций SHA-256 и SHA-512. В сентябре того же года они представили метод конструирования коллизий для усечённых вариантов SHA-2 (21 итерация). Позднее были найдены методы конструирования коллизий для 31 итерации SHA-256 и для 27 итераций SHA-512.

____Исходное сообщение после дополнения разбивается на блоки, каждый блок — на 16 слов. Алгоритм пропускает каждый блок сообщения через цикл с 64 итерациями. На каждой итерации 2 слова преобразуются, функцию преобразования задают остальные слова. Результаты обработки каждого блока складываются, сумма является значением хеш-функции. Так как инициализация внутреннего состояния производится результатом обработки предыдущего блока, то нет возможности обрабатывать блоки параллельно, параллелизм возможен только во время вычислений внутри каждой итерации. Графическое представление одной итерации обработки блока данных:

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2510

____Впервые анализ был проверен в 2003 году, но тогда уязвимости не были найдены. Время шло, вычислительные мощности развивались. В 2008 году были найдены коллизии для итераций SHA-512 и SHA-256. В сентябре того же года был разработан метод создания коллизий для 31 итерации SHA-256 и 27 итераций SHA-512.
____Очевидно, что настала пора разрабатывать новую криптостойкую функцию. В 2012 году АНБ был изобретен SHA—3. Постепенно обновлённый алгоритм будет вытеснять своих менее криптостойких предшественников. 2 октября 2012 года NIST утвердил в качестве SHA-3 алгоритм Keccak.


Хеширование.

____Хеширование, или хеш-функция — одна из основных составляющих современной криптографии и алгоритма блокчейна.
____Хеширование — особое преобразование любого объёма информации, в результате которого получается некое отображение, образ, называемый хешем (hash) — уникальная короткая символьная строка, которая присуща только этому массиву входящей информации.
____Для любого объёма информации, будь-то одна буква или роман Льва Толстого «Война и мир» (или даже всё Полное собрание сочинений этого автора) существует уникальный и неповторимый хеш — короткая символьная строка. Причём, если в той же «Войне и мире» изменить хотя бы один символ, добавить один лишь знак препинания, — хеш изменится кардинально.
____Хеш подобен отпечатку пальца человека.
____Как известно, отпечаток пальца уникален и в природе не существует людей с одинаковыми отпечатками. Даже у близнецов отпечатки пальцев разные.
____То же касается и структуры ДНК человека. Она уникальна! Нет людей с одинаковым набором ДНК.
____Но, ведь, ДНК, а тем более отпечаток пальцев — относительно короткий набор информации. И, тем не менее, они являются неким кодом, присущим конкретному человеку. Можно считать, что это и есть «хеши» этого человека. С тем лишь отличием, что они («хеши») не меняются с возрастом.
____Итак, первое свойство хеша — его уникальность:

  • Каждому набору (массиву) информации присущ строго определенный, уникальный хеш.

____Тем не менее, иногда встречаются т. н. коллизии  —  случаи, когда хеш-функция для разных входных блоков информации вычисляет одинаковые хеш-коды.
____Математики-криптографы стараются создать такие хеш-функции, вероятность коллизий в которых стремилась бы к нолю.
____Следует отметить, что функций, которые вычисляют хеш, существует множество. Но, наиболее распространена (в частности, используется в протоколе блокчейна биткоина) хеш-функция под названием SHA-256. Эта хеш-функция формирует хеш в виде строки из 64 символов (длина — 256 бит или 32 байта).
____Попробуем при помощи SHA-256 hash калькулятора получить хэш для названия форума (RUЭВМ).

Это будет: 0dff631ea4e1de5f695b74a59b32ecaa9a84bc19958572954d399c9d8f2f3af5

____А теперь изменим заголовок всего лишь на один символ — добавим знак восклицания в конце (RUЭВМ!).

Получилось: a7d8c2ce4376325caa78ff0aefed3674075e9438f3f9357d36587fc92fa3674b

____Как видите, изменение всего лишь на один знак исходного массива информации привело к кардинальному изменению его хеша!
____И это второе важное свойство хеша:

  • При самом незначительном изменении входной информации её хэш меняется кардинально.

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

  • Не существует обратной функции, которая из хеша может восстановить исходный массив информации.

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

  • Хеширование позволяет достаточно быстро вычислить искомый хеш для весьма большого массива входной информации.

____Этим хэширование существенно отличается от кодирования (шифрования) и декодирования (дешифрования).
____Хеширование или хеш-функция используется во многих алгоритмах и протоколах. В частности, в электронной подписи и блокчейне.


Майнинг на SHA-256.

____Законодательство США разрешает использовать SHA и похожие хеш-функции как часть других протоколов и алгоритмов в некоторых федеральных приложениях для защиты информации, не имеющих грифа «Секретно». Допускается применение SHA-2 частными и коммерческими организациями.
____Ничего удивительного, что он был использован в криптовалютах. Майнеры собирают все транзакции в блок, а затем начинают его хешировать. Когда найдено соответствующее правилам системы значение хеша, блок считается готовым к прикреплению в конец блокчейна. Новый блок найдет тот, кто может вычислять значения хешей очень быстро. Скорость вычислений зависит от мощности оборудования. Для майнинга биткоина может быть использовано четыре типа оборудования:

  • CPU (центральный процессор);

  • GPU (видеокарты);

  • ПЛИС (программируемые логические интегральные схемы, FPGA);

  • ASIC (специализированное устройство).

____Сеть биткоина устроена таким образом, что каждый новый блок должен быть найден раз в 10 минут. Число участников сети постоянно меняется, а время должно оставаться неизменным. Чтобы обеспечить одинаковое время нахождения, система регулирует сложность вычислений в зависимости от количества майнеров. В последнее время криптовалюты обрели популярность, и количество майнеров сильно возросло. Чтобы блоки не находились слишком быстро, сложность вычислений тоже возросла.
____Биткоин начинали майнить на процессорах. Затем, когда их мощности стало не хватать, перешли на видеокарты. Вскоре и видеокарты перестали справляться. Тогда изобрели асики — специальные устройства, заточенные на вычисления по алгоритму sha 256. Один ASIC намного мощнее и энергоэффективнее нескольких видеокарт.
____Предприимчивые майнеры создают огромные фермы из асиков. Помимо большой стоимости самого оборудования, такая ферма каждый месяц получает счета за электричество в размере нескольких десятков тысяч долларов. Сейчас майнинг биткоина имеет смысл только на таких промышленных фермах, домашний компьютер или даже ферма на нескольких видеокартах не сможет конкурировать с ними, и даже окупить электричество. Но, есть множество других монет, которые выгодно майнить. Так например, Ravencoin (RVN), на данный момент отлично майнится на видеокартах, а недавно его цена выросла с 300 сатошей за одну монету до 1200 сатошей. Естественно цена меняется каждую секунду в результате торгов на биржах. Ну и соответственно продав монету на бирже вы можете получить заветный биткоин, цена которого как уже показала практика легко может вернуться к 20 000 $, а по прогнозам многих аналитиков, то и вырасти до 50 000 $ в 2020 году. То есть сейчас, самое время накапливать биткоин.
____Впрочем, это легко посчитать. Существуют калькуляторы для расчета прибыльности майнинга на sha256. Например, https://www.coinwarz.com/miningprofitability/sha-256 Введите в форму хешрейт своего оборудования (вычислительная мощность), потребляемую энергию и ее стоимость, сервис рассчитает прибыль.

Ну и вернёмся к алгоритму SHA-256...

____Основная задача: хэширование данных (произвольный набор) в определенное значение длины («отпечатка» или другое значение — «дайджест»).
____Используя майнинг SHA-256 криптовалюты, задача решается при помощи специализированного процессора либо CPU/GPU. При помощи интерфейса программы пользователи следят за преобразовательными процессами. Фактически алгоритм подбирает правильное значение хеша.
____Сложность майнинга как раз заключается в том, чтобы подобрать правильный хеш (решить определенную задачу) возможно только при помощи перебора множества задач. Придётся найти не просто какой-нибудь хэш, а число, в самом начале которого находится определенное количество нулей. Шансов того, что значение будет правильным, очень и очень мало. То есть, ключевой параметр — сложность, которая задаётся майнинг-пулом.


Сложность алгоритма SHA-256.

____Не следует быть специалистом для того, чтобы понимать всю сложность хеширования при работе протокола SHA-256. Соответственно, майнерам приходится для добычи криптовалюты задействовать просто невероятно мощное оборудование (которое будет способно решать вышеуказанные задачи).

ВАЖНО: Чем больше задействовано вычислительных мощностей, тем больше вероятность/скорость добычи цифровых монет в любом сервисе облачного майнинга.

____Отдельно стоит отметить, что майнинг — функция, которой занимаются очень многие специалисты. И, естественно, программное обеспечение у них может быть куда более производительным. Расстраиваться не следует, так как процесс хеширования иногда больше похож на лотерею. Когда повезет? Неизвестно.
____Алгоритм SHA-256 в майнинге реализуется на каждом ASIC-майнере. А вот ASIC-оборудование для остальных алгоритмов, только разрабатывается.

ВАЖНО: Алгоритм SHA-256 присутствует в процессе добычи не только биткоинов, но и другой криптовалюты.

____Работа алгоритма SHA-256 является сложной для понимания, поэтому идеальный вариант — сконцентрироваться на способах/эффективных стратегиях добычи криптовалюты, чем пытаться анализировать алгоритм и понимать, как он работает. Но, если вам всё же это интересно, то данная тема, как раз для этого и предназначена. Всё, что в данном посте написано, можно считать вводной, общей частью, дающей общие представления об алгоритме SHA-256, об понятии хеширование и вообще о добыче криптовалюты, в том числе использующей алгоритм SHA-256.


Псевдокод.

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

ǁ — конкатенация,

+ — сложение,

and — побитовое «И»,

xor — исключающее «ИЛИ»,

shr (shift right) — логический сдвиг вправо,

rotr (rotate right) — циклический сдвиг вправо.

Пояснения:
Все переменные беззнаковые, имеют размер 32 бита и при вычислениях суммируются по модулю 232
message — исходное двоичное сообщение
m — преобразованное сообщение


Инициализация переменных
(первые 32 бита дробных частей квадратных корней первых восьми простых чисел [от 2 до 19]):


h0 := 0x6A09E667
h1 := 0xBB67AE85
h2 := 0x3C6EF372
h3 := 0xA54FF53A
h4 := 0x510E527F
h5 := 0x9B05688C
h6 := 0x1F83D9AB
h7 := 0x5BE0CD19

Таблица констант
(первые 32 бита дробных частей кубических корней первых 64 простых чисел [от 2 до 311]):


k[0..63] :=
0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2

Предварительная обработка:

m := message ǁ [единичный бит]
m := m ǁ [k нулевых бит],

где k — наименьшее неотрицательное число, такое что
(L + 1 + K) mod 512 = 448, где L — число бит в сообщении (сравнима по модулю 512 c 448)


m := m ǁ Длина(message)

- длина исходного сообщения в битах в виде 64-битного числа с порядком байтов от старшего к младшему

Далее сообщение обрабатывается последовательными порциями по 512 бит:
разбить сообщение на куски по 512 бит
для каждого куска разбить кусок на 16 слов длиной 32 бита (с порядком байтов от старшего к младшему внутри слова): w[0..15]

Сгенерировать дополнительные 48 слов:

для i от 16 до 63
s0 := (w[i-15] rotr 7) xor (w[i-15] rotr 18) xor (w[i-15] shr 3)
s1 := (w[i-2] rotr 17) xor (w[i-2] rotr 19) xor (w[i-2] shr 10)
w[i] := w[i-16] + s0 + w[i-7] + s1

Инициализация вспомогательных переменных:

a := h0
b := h1
c := h2
d := h3
e := h4
f := h5
g := h6
h := h7

Основной цикл:

для i от 0 до 63
Σ0 := (a rotr 2) xor (a rotr 13) xor (a rotr 22)
Ma := (a and b) xor (a and c) xor (b and c)
t2 := Σ0 + Ma
Σ1 := (e rotr 6) xor (e rotr 11) xor (e rotr 25)
Ch := (e and f) xor ((not e) and g)
t1 := h + Σ1 + Ch + k[i] + w[i]

h := g
g := f
f := e
e := d + t1
d := c
c := b
b := a
a := t1 + t2

Добавить полученные значения к ранее вычисленному результату:

h0 := h0 + a
h1 := h1 + b
h2 := h2 + c
h3 := h3 + d
h4 := h4 + e
h5 := h5 + f
h6 := h6 + g
h7 := h7 + h

Получить итоговое значение хеша:

digest = hash = h0 ǁ h1 ǁ h2 ǁ h3 ǁ h4 ǁ h5 ǁ h6 ǁ h7


Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. _aaau_10




На этом вводная часть закончена.

.


Последний раз редактировалось: Viktor2312 (Сб Июн 08 2019, 02:48), всего редактировалось 2 раз(а)

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 11953
Дата регистрации : 2012-08-10
Возраст : 40
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Empty Re: Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.

Сообщение  Viktor2312 в Вс Апр 14 2019, 13:59

2
.
Справочная информация. Блок.


____Блок — перманентно записываемые файлы в сети Bitcoin, содержащие информацию о произошедших транзакциях. Блок — это запись части или всех недавних транзакций, которые еще не были записаны в предыдущие блоки. Практически во всех случаях блоки добавляются в конец цепи, которая содержит все транзакции и носит название block chain ("блокчейн"). Когда блок добавлен в конец цепи, он не может быть изменён. Каждый блок содержит информацию обо всём, что произошло в предыдущих блоках, перед тем как он был создан.


Строение блока.

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2512


Что такое блок?

____Каждый блок, помимо остальных компонентов, содержит в своём заголовке запись о нескольких или всех последних транзакциях и запись о блоке, который шёл непосредственно перед текущим. Для создания нового блока майнеру необходимо решить на своём оборудовании задачу, которую выдаёт сеть. У каждого блока — своё уникальное решение, которое так же записывается в заголовок блока. Эта задача сложна для решения и занимает большое количество времени, но как только один из пользователей (майнеров) решает задачу, остальная сеть очень быстро подтверждает, что решение верно. Существует несколько решений для каждого блока – достаточно найти хотя бы одно из них.
____Так как за нахождение блока выдаётся награда в 12.5 BTC, блок так же содержит Bitcoin-адрес, на который отправлена награда. Запись об этой транзакции называется – generation transaction, т. е. транзакция создания Bitcoin, в списке транзакций блока она всегда находится на 1-м месте. Bitcoin транзакции транслируются на всю сеть отправителем – узлы собирают информацию о них и, руководствуясь определенными условиями, включают их в найденный блок.


Сложность.

____Сложность задачи регулируется сетью Bitcoin таким образом, чтобы, в среднем, находилось 6 блоков в час (1 блок в 10 минут). Каждые 2016 блоков (примерно каждые 2 недели) в сети меняется сложность – каждый Bitcoin клиент сравнивает, насколько быстрее (медленнее) находились блоки по сравнению со стандартными значениями и, на основании этих данных, происходит регуляция сложности в большую (меньшую) сторону.


Форк.

____Так как каждый блок имеет в своём заголовке отсылку к предыдущему, можно сказать, что они образуют цепь. Существует вероятность, что эта цепь может разделиться, например, если 2 майнера найдут решение для нового блока в одно и то же время. Bitcoin сеть настроена таким образом, что бы решать подобные разветвления цепи в кратчайшие сроки, оставляя лишь одну ветку. Вознаграждение за блок, который был заброшен, не начисляется.
____Bitcoin-клиент воспринимает верной самую длинную цепь блоков. «Длина» всей цепи блоков рассчитывается как сумма сложностей всех блоков в этой цепи, а не как сумма количества блоков. Подобный способ расчёта не позволяет кому-либо сделать «главной» цепь с большим количеством блоков маленькой сложности, что позволяет избежать подделки транзакций.

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2513
График количества транзакций в блоке.


____Заголовок блока представляет собой список метаданных о блоке. Заголовок блока представляет собой поле 80 байтов.
____Основной способ идентификации блока в блокчейне — через хеш заголовка.

Хеш заголовка блока вычисляется путём запуска заголовка блока через алгоритм SHA-256 дважды.

____Хеш заголовка блока не отправляется через сеть, а вычисляется каждым узлом как часть процесса проверки блока.

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2514

____Транзакция обычно превышает 250 байтов в зависимости от её типа. Многозначные транзакции используют намного больше места из-за требуемых условий для расходов. Для среднего блока содержащего, около 500 «больших» транзакций, получается эквивалент около одной транзакции в секунду.
____Номер версии биткойна используется для отслеживания обновлений и изменений в протоколе.
____Предыдущий хеш заголовка блока является связующим звеном с предыдущим блоком и используется для верификации непрерывности блокчейна.
____Хеш корня дерева merkle транзакций этого блока — «свертка» хешей всех транзакций блока в контрольную сумму.

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2515

____Временная метка — это количество секунд с первого января 1970 года.
____Уровень сложности — количество нулей, которое должно быть найдено при хешировании заголовка блока, чтобы соответствовать требуемому уровню сложности доказательства работы (PoW) для поддержания времени добычи блока 1 раз в 10 минут.
____Значение nonce — это специальное поле для майнеров, для нахождения хеша методом перебора (брутфорс) с заданным уровнем сложности.


Что такое отметка времени Timestamp UNIX?

____Временная метка unix — это способ отслеживать время как общее количество секунд. Этот счёт начинается в эпоху Unix 1 января 1970 года в UTC. Поэтому отметка времени unix — это просто количество секунд между конкретной датой и эпохой Unix. Следует также отметить, что этот момент времени технически не меняется независимо от того, где вы находитесь на земном шаре. Это очень полезно для компьютерных систем для отслеживания и сортировки информации в динамических и распределенных приложениях как онлайн, так и на стороне клиента.


Что произойдёт 19 января 2038 года?

____В эту дату Unix Time Stamp перестанет работать из-за 32-разрядного переполнения. До этого момента миллионы приложений должны были либо принять новое соглашение для отметки времени, либо быть перенесены в 64-битные системы.



.
Viktor2312
Viktor2312
Гуру+

Сообщения : 11953
Дата регистрации : 2012-08-10
Возраст : 40
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Empty Re: Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.

Сообщение  Viktor2312 в Сб Апр 20 2019, 13:45

3
.
Блокчейн.


____Блокчейн (blockchain или block chain"цепочка блоков") – публичная база всех транзакций, когда-либо совершённых в системе Bitcoin. Используя эту базу, каждый пользователь имеет возможность узнать, какое количество Bitcoin принадлежало какому-либо конкретному адресу в определенный отрезок времени. База поддерживается с помощью распределённых усилий множества майнеров.


Технология Блокчейн.

____Каждый созданный блок содержит хеш предыдущего. Таким образом создаётся цепочка блоков, которая берёт начало от так называемого genesis block (первый блок в системе Bitcoin) до последнего найденного системой блока. Редактировать информацию в блоке, который находится в цепи уже продолжительное время – не практично, так как в таком случае так же пришлось бы редактировать информацию во всех последующих блоках. Благодаря этим свойствам double-spending атака (повторная трата уже израсходованных средств) в системе bitcoin практически не выполнима.
____Честные майнеры всегда строят свой блок на последнем существующем, ссылаясь на него. Продолжение цепи считается действительным только если в нём есть информация о всех предыдущих звеньях цепи и начинается оно с genesis block.
____Принцип работы технологии блокчейн можно сравнить с работой сети Интернет. Вы размещаете в сети какую-либо информации, и пользователи Интернета могут получить к ней доступ независимо от места своего нахождения. Так и здесь: информацию, содержащуюся в блоке цепочки, могут получить все пользователи сети, которые имеют к ней доступ, в любой точке мира. Чтобы получить доступ к этой информации, вы должны иметь специальный закрытый ключ, который создан согласно криптографическому алгоритму. Это делает хранение данных в цепочке блокчейн защищённым и полностью безопасным.
____Чтобы передать кому-либо денежную сумму, хранящуюся в блоке цепочки, достаточно передать пользователю системы этот закрытый ключ. В обороте биткоинов такой закрытый ключ открывает доступ к адресу, по которому хранится определённая сумма в криптовалюте и представляет собой финансовую ценность. По сути это способ регистрации произведённых в криптовалюте транзакций, которую в обычной жизни производит банковская система.
____Посредством внедрения технологии блокчейн между пользователями сети устанавливаются доверительные отношения, ведь не имея соответствующего ключа никто не сможет внести изменения в цепочку из блоков. Любые неподтвержденные закрытыми ключами изменения отклоняются системой. Теоретически, закрытый ключ может быть украден. Но защитить его от такой вероятности с помощью нескольких строчек компьютерного кода не представляет особой сложности. Защитить же от кражи физическую валюту гораздо сложнее.


Алгоритм Blockchain.

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


История.

____Концепция блокчейна была предложена Сатоши Накамото в 2008-ом году. Впервые реализована она была в 2009-ом году в качестве компонента криптовалюты – биткоина. В этом случае с помощью технологии блокчейн регистрировались все транзакции, производимые с биткоинами. Именно блокчейн позволил исключить из системы оборота биткоинов третью сторону – центральный сервер, банк или другой авторитетный орган.


Форки в Blockchain.

____У любого блока из цепи есть только один путь к genesis block. В свою очередь от genesis block цепь может разделятся на несколько, образуя таким образом форк (англ., "fork"). Форки, состоящие из одного блока, — это довольно распространенное явление. Они образуются, если несколько узлов "нашли" блок с разницей в несколько секунд. Когда такое происходит, остальные узлы начинают строить дальнейший block chain на блоке, который пришел им первым. Когда какой-либо из двух блоков получает продолжение - его цепочка считается главной в block chain, поскольку она становится длиннее.
____Блоки, которые не являются частью главной block chain цепи, не используются. Так же за них не начисляется награда. Такие блоки называются "orphan-блоки" ("орфаны"). Так как в блоке может быть ссылка только на один предшествующий блок, объединить 2 различные цепи невозможно.


Блокчейн-проекты.


  • Ethereum — распределённая вычислительная платформа с открытым исходным кодом, основанная на блокчейне с функциональными возможностями использования смарт контрактов. С её помощью можно создавать децентрализованные онлайн-сервисы. Концепцию единой децентрализованной виртуальной машины в 2013 году предложил российско-канадский программист Виталик Бутерин. Сеть работает с 30 июня 2015 года после краудфандинговой кампании, которая позволила привлечь $18,439 млн.

  • Waves Platform — это криптовалютный проект, запущенный российским предпринимателем Александром Ивановым в 2016 году. Кампания по запуску Waves blockchain platform собрала 16 миллионов долларов, войдя в число крупнейших по привлеченным средствам через краудфандинг.

____Так же существует ещё более 2000 подобных проектов, и их количество каждый год растёт.


Классификация блокчейнов.

____Изначально блокчейн-технология предполагает полную свободу и независимость цепи, в которой нет единого администратора. Однако интерес к новой технологии со стороны крупных компаний и финансовых институтов привёл к появлению более централизованных форм блокчейна, когда при сохранении распределенных данных присутствует централизованная система контроля.
____Такие трансформации позволяют говорить о разных видах блокчейна:

  • публичный блокчейн;

  • блокчейн, который принадлежит консорциуму;

  • полностью частный блокчейн (классификация создателя платформы Ethereum Виталика Бутерина).

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


Публичный Blockchain.

____К публичному блокчейну (public blockchain) может получить доступ любой человек в мире. Это означает, что он может отправлять транзакции и ожидать их включения, если они действительны, а также участвовать в процессе консенсуса, то есть определения того, какие блоки добавятся в цепочку.
____В отличие от обычных экономических систем, которые жёстко регламентированы и так или иначе управляются централизованно, публичные блокчейны защищены принципами криптоэкономики. Криптоэкономика основана на сочетании экономических стимулов и криптографической проверки данных. Согласно этим принципам, влияние на консенсус при принятии решения пропорционально объёму экономических ресурсов.
____Такие системы обычно считаются «полностью децентрализованными».


Блокчейн, принадлежащий консорциуму.

____Консорциумные блокчейны (consortium blockchains) контролируются заранее выбранным набором узлов. Виталик Бутерин в качестве примера приводит систему из 15 финансовых учреждений, каждое из которых управляет узлом, и 10 из которых должны подтвердить каждый блок, чтобы его признали действительным и добавили в цепь.
____Право читать блок-цепочку может быть общедоступным, либо ограничено участниками. Возможны «гибридные» системы, когда корневые хеши блоков являются общедоступными, но все члены блокчейна могут совершать лишь ограниченное число запросов и подтверждений транзакций некоторых частей блокчейна.
____Такие цепи можно назвать «частично децентрализованными».


Частный блокчейн.

____Полностью частный блокчейн (fully private blockchains) — это цепочка блоков, в которой запись новых блоков закреплено только за одной организацией. Разрешение на чтение может быть общедоступным или ограничено в той или иной степени.
____Возможны дополнительные опции, как управление базами данных, аудит и т. д. внутри одной компании, когда во многих случаях общедоступность окажется не нужной. Хотя без неё не обойтись, когда требуется публичный отчёт о деятельности.


Применение технологии.

____Блокчейн – это база данных, которая представляет собой цифровой реестр осуществлённых сделок, транзакций, выполненных контрактов. Иными словами, с помощью сети блокчейн можно хранить любые данные, которые нуждаются в отдельной записи и возможности проверки в будущем – начиная от кредитов и заканчивая учётом заключения и расторжения браков.
____Преимущество хранения данных таким образом заключается в том, что реестр данных распределён по сотням и тысячам компьютеров всего мира, а не хранится на каком-то одном сервере. Благодаря этому информация, хранящаяся в реестре, остаётся прозрачной и всегда актуальной для всех пользователей этой сети.
____Прежде всего, технология блокчейн применяется на рынке криптовалют. Но сегодня её использованием заинтересовались и традиционные финансовые учреждения. С помощью блокчейн основные банковские функции – подтверждение личности и регистрацию сделок - осуществлять особенно удобно. Также блокчейн можно широко использовать для финансирования стартапов и проведения различных сервисных операций.
____Ещё один способ использования сети блокчейн – это заключение контрактов и договоров, которые не требуют участия юристов и бюрократической волокиты. Кроме того, с помощью этой технологии очень удобно подтверждать авторские права художникам и творческим людям. Иными словами, применить технологию блокчейн сегодня можно в самых различных сферах – от торговли до голосований на выборах.


Перспективы.

____Делиться информацией в сети Интернет сегодня привычное дело для каждого. Однако, когда дело касается осуществления валютных операций или передачи каких-либо других ценностей, мы обращаемся к централизованной финансовой системе – банкам. И, несмотря на то, что сегодня существуют различные электронные способы оплаты (PayPal, WebMoney, ЯндексДеньги), использовать их в отрыве от банковской системы не представляется возможным – для обналичивания денежных средств вам всё равно понадобится кредитная карта или расчётный счёт.
____Благодаря технологии блокчейн можно избавиться от участия в финансовых операциях третьих сторон (в данном случае, банков). В системе блокчейн успешно реализована возможность подтверждения подлинности личности, регистрации сделок и заключения контрактов. На сегодняшний день самым большим рынком по капитализации является рынок финансовых услуг, поэтому данные функции блокчейна имеют огромное значение. Если переложить на блокчейн хотя бы часть работы этой системы, эффективность финансовых услуг значительно повысится.
____Возможность заключения контрактов принесёт большую пользу в не финансовую сферу. С помощью блокчейн можно будет вводить в оборот новые криптовалюты, хранить любые виды информации, а также контролировать использование интеллектуальной собственности. Всё это делает возможности применения механизма блокчейн в будущем очень перспективными и практически бесконечными.

.
Viktor2312
Viktor2312
Гуру+

Сообщения : 11953
Дата регистрации : 2012-08-10
Возраст : 40
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Empty Re: Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.

Сообщение  Viktor2312 в Сб Апр 20 2019, 13:58

4
Viktor2312
Viktor2312
Гуру+

Сообщения : 11953
Дата регистрации : 2012-08-10
Возраст : 40
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Empty Re: Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.

Сообщение  Viktor2312 в Сб Апр 20 2019, 14:21

5
.
Майнинг.


____Майнинг (англ., "mining") — это процесс записи транзакций с биткоинами, или с другой криптовалютой, в блокчейн, общедоступную базу данных по всем операциям с Bitcoin, которая отвечает за подтверждение транзакции. Узлы сети используют блокчейн, чтобы отличить реальные транзакции от попыток потратить одни и те же средства дважды. Основная цель майнинга — это достижение консенсуса между узлами сети относительно того, какие транзакции считать легитимными.
____Кроме того, майнинг это единственный способ эмиссии биткоинов, которые начисляются в качестве вознаграждения за решение майнером определенных математических задач с помощью компьютерного оборудования. Процесс намеренно сделан ресурсоёмким и сложным, чтобы количество блоков, найденных майнерами каждый день, оставалось постоянным.
____Каждый блок должен содержать подтверждение того, что работа по решению математической задачи была проведена, и каждый из узлов сети может легко проверить, действительно ли блок был закрыт по правилам. Эмиссия происходит в качестве вознаграждения за майнинг децентрализовано, что означает отсутствие контроля над выпуском со стороны единого центра. В ходе этого процесса майнеры подтверждают совершение транзакций в сети. С целью защиты сети от перерасхода средств, проведение майнинга возможно в строго определенных объёмах.
____Биткоины, эмитированные с помощью майнинга являются лучшим способом сохранения анонимности транзакции при работе с криптовалютой. Тем не менее, использовать их можно лишь после получения 100 подтверждений сети.


Описание процесса майнинга.

____Все переводы в системе биткоин являются общедоступными. Работа майнеров заключается в подборе правильного хеша, который подойдет ко всем транзакциям, находящимся в сети, и обеспечит получение секретного ключа. Возможных комбинаций – миллионы, поэтому процесс, как правило, занимает много времени и требует наличия мощного оборудования.
____Hash Rate — скорость, с которой решается математическая задача. Измеряется параметром «хеш в секунду» (H/s).
____Искомый майнерами хеш представляет собой величину, состоящую из хеша предыдущего блока, случайного числа и суммы контрольных чисел транзакций, прошедших за последние 10 минут. Условия системы может удовлетворить одна единственная величина, которая также не является постоянной и изменяется после закрытия каждого блока.
____Как только правильный хеш определён, блок транзакций закрывается и майнер получает вознаграждение в размере 12.5 биткоинов. Этот процесс можно сравнить с лотереей, так как одновременно поисками хеша занимаются множество участников. Система действует в соответствии со строгими правилами, согласно которым изменение закрытого блока практически невозможно.


Объединение в пулы.

____Майнинг криптовалюты представляет собой очень сложный процесс, для выполнения которого требуется наличие существенных мощностей. Постоянно возрастающая сложность майнинга и развитие рынка криптовалют привело к тому, что заниматься майнингом в одиночку стало практически невозможно. В результате появилось понятие «майнинг в пулах», подразумевающее объединение вычислительных мощностей нескольких участников в группу для генерации новых блоков. Вознаграждение, полученное пулом за закрытый блок, распределяется между его участниками.


Майнинг оборудование.

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

  • CPU-майнинг. Представляет собой одну из наиболее ранних версий, функционирующую на основе использования мощности процессора. Данную опцию можно встретить в основном биткоин клиенте, однако, из-за крайне низкой эффективности, в настоящее время она отключена;

  • GPU-майнинг, подразумевает использование в работе видеокарт. Этот тип майнинга пришёл на смену процессорному решению. Его отличительная черта – существенное увеличение производительности системы;

  • FPGA-майнинг является модернизированным вариантом GPU майнинга, отличающимся более низким энергопотреблением;

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


Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Fpga_a10
Пример фермы на микросхемах ПЛИС (FPGA).

Майнеры.

____Майнеры, это люди добывающие цифровую валюту. Нередко термином «майнер» наделяют и само вычислительное устройство.

Майнинг ферма.

____Майнинг ферма — дата-центр, технически оснащенный для майнинга биткойнов или других криптовалют. Майнинг-фермы возникли в результате постоянного усложнения процесса майнинга, который требует все больше технических, энергетических и финансовых ресурсов.
____Майнинг фермы позволяют максимизировать производительность вычислительной техники и, следовательно, Hash Rate. Производительность крупнейших ферм может составлять несколько десятков PH/s, Петахеш/сек  (1015 задач/секунда).
____Физически майнинг фермы представляют собой помещения с большим количеством компьютеров и серверов, которые занимаются решением задач для майнинга. Существуют и домашние майнинг фермы. От обычных ПК они отличаются тем, что специально собраны и заточены под майнинг. Домашние фермы могут приносить доходность, однако пользователи часто сталкиваются с проблемой избыточного потребления электроэнергии, что делает майнинг нерентабельным, и перегревания компьютера в домашних условиях. Но при правильном подходе и современных видеокартах, майнинг очень выгоден и прибылен. Один из главных ресурсов, в который приходится вкладываться майнеру, — это электроэнергия. Она же является фактором риска, так как майнинг ферма требует постоянного источника питания 24/7. Кроме того, большое количество процессоров требует соответствующей системы охлаждения и вентиляции. Что легко решается при помощи обычных вентиляторов, а в более сложных системах, при помощи водяного охлаждения.


Облачный майнинг.

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


Веб майнинг.

____Веб-майнинг, или «скрытый майнинг» — альтернативный способ майнинга через браузер пользователей сайтов. Фактически владельцы интернет-ресурсов могут конвертировать мощности компьютеров посетителей в криптовалюту.
____Веб-майнингом занимаются специальные веб-майнеры — программы, которые могут работать при включённом браузере пользователя или в фоновом режиме. Технически запуск такой программы на компьютере может быть запущен строчкой кода JavaScript, прописанной на странице, либо сам код вшит в расширение браузера. Существуют также вирусы, которые заставляют ресурсы компьютера работать на майнинг криптовалют.


Доходность майнинга.

____Доходность майнинга — уровень вознаграждения, которое получает пользователь блокчейна-сети за майнинг (предоставление своих технических мощностей для проверки транзакций и решения задач сети, результатом чего становится новый блок данных в сети). Смысл майнинга биткоинов и других криптовалют несомненно состоит в получении денежного вознаграждения.
____Прибыль от майнинга зависит от двух связанных между собой факторов.
____Первый — сложность самого процесса, от которого зависит получение вознаграждение (чем сложнее процесс — тем меньшие объёмы задач удаётся сделать на единицу технического ресурса и, соответственно, получить меньшее вознаграждение).
____Второй фактор — от стоимости биткойна (или другой криптовалюты). То есть какую сумму составляет ваше вознаграждение в переводе на фиатные валюты.
____Среднегодовая прибыльность майнинга колеблется от 120 до 200% годовых, а по некоторым продуктам в период «майнинг-бума» с конца 2016 года показала даже лучший результат. Однако этот показатель не учитывает дополнительных инвестиций: аренду помещений, управление майнинг-фермами и затрат на электроэнергию. С поправкой на эти факторы в 2016 году доходность майнинга составила порядка 10-50% годовых.


.
Viktor2312
Viktor2312
Гуру+

Сообщения : 11953
Дата регистрации : 2012-08-10
Возраст : 40
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Empty Re: Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.

Сообщение  Viktor2312 в Сб Апр 20 2019, 19:45

6
.
Подтверждение транзакции.


____Подтверждение транзакции (англ., "transaction confirmation") необходимо для предотвращения повторного расходования одних и тех же денежных средств.


Цель подтверждения транзакций.

____Обычно при получении Bitcoin новый владелец не может сразу же распоряжаться ими. Как только транзакция произведена – она отправляется в сеть Bitcoin для исполнения и должна быть включена в блок, чтобы стать легитимной. Процесс включения транзакции в состав найденного блока называется подтверждением транзакции. Включение в 1 блок = 1 подтверждение, когда таких подтверждений набирается 6 и выше транзакция считается подтвержденной. Такая функция была введена для защиты от повторной траты одних и тех же биткоинов (см. "double-spending").
____Включение транзакции в блок происходит во время процесса майнинга.


Количество подтверждений.

____Классический Bitcoin-клиент будет отображать транзакцию как «неподтверждённую» пока не наберется 6 подтверждений (6 найденных блоков). Сайты или сервисы, которые принимают Bitcoin для оплаты своих товаров или услуг, могут ставить свои ограничения на количество блоков нужных для подтверждения транзакции. Цифра 6 была выбрана не случайно: она основывается на теории, что вероятность того, что злоумышленник сможет накопить более 10% от хешрейта сети для подделки транзакций, мала, и что незначительный риск (менее 0,1%) является приемлемым.
____Для злоумышленников, которые не обладают значительной мощностью, 6 подтверждений являются непреодолимой преградой на пути к атаке. В свою очередь, людям, обладающим более 10% мощности, не составит сложности получить 6 подтверждений подряд. Однако, обладание такими вычислительными мощностями требует инвестиций в миллионы долларов, что снижает риск атаки.
____Биткоины, которые выдаются сетью за нахождение блока, можно использовать только через 100 подтверждений, т. е. 100 найденных блоков. Классический Bitcoin клиент не будет отображать монеты, полученные за решение блока, пока не накопится 120 подтверждений.


.
Viktor2312
Viktor2312
Гуру+

Сообщения : 11953
Дата регистрации : 2012-08-10
Возраст : 40
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Empty Re: Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.

Сообщение  Viktor2312 в Вс Апр 21 2019, 11:17

7
Viktor2312
Viktor2312
Гуру+

Сообщения : 11953
Дата регистрации : 2012-08-10
Возраст : 40
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Empty Re: Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.

Сообщение  Viktor2312 в Вс Апр 21 2019, 12:04

8
.
Сложность.


____Сложность (англ. difficulty) – это величина, которая показывает насколько сложно найти хэш, который будет следующей предложенной целью сети.


Сложность сети Bitcoin.

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

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2516

где difficulty – сложность, а target – 256-битное число.

____Difficulty_1_target может принимать различные значения. Традиционно это хеш, 32 первых бита которого являются 0, остальную часть составляют единицы (это также называется pdiff или pool difficulty). Bitcoin-протокол представляет цель (target), как тип с плавающей точкой и ограниченной точностью. Зачастую, именно основываясь на этих данных, Bitcoin клиенты определяют сложность.


Хранение сложности добычи в блоках.

____Каждый блок хранит в себе запакованную версию (называемую “Bits” или «Биты») шестнадцатеричной цели.
____Используя следующую формулу, из каждого блока можно получить его цель. Так можно узнать, на что влияет сложность майнинга. Например, если запакованная цель в блоке имеет вид 0x1b0404cb, то её шестнадцатеричная версия будет выглядеть следующим образом:

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2520

____Максимальное значение для этого поля - 0x7fffff, минимальное же составляет 0x008000.

____Максимально возможная цель (при сложности 1) определена как 0x1d00ffff, что в шестнадцатеричном варианте имеет вид:

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2518

____Ниже представлен быстрый способ вычисления сложности сети Bitcoin. Для логарифмирования он использует изменённую версию ряда Тейлора и основывается на логах для преобразования вычисления сложности.

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2519

Максимальная, текущая и минимальная сложности сети.

____Текущую сложность можно узнать воспользовавшись Bitcoin-командой getDifficulty.
____Ввиду того, что не существует минимальной цели (target), примерно рассчитать максимальную сложность можно следующим образом: maximum_target / 1 (т. к. 0 приведёт уравнение к бесконечности), что является невообразимым числом (~ 2 в 224 степени).
____Минимальная же сложность добычи равняется 1.


Изменение сложности добычи криптовалюты.

____Сложность меняется каждые 2016 блоков и зависит от времени, которое потребовалось для нахождения предыдущих 2016 блоков. Если блок будет находиться каждые 10 минут (как это задумывалось изначально для равномерной эмиссии), нахождение 2016 блоков займет ровно 2 недели. Если предыдущие 2016 блоков были найдены за срок более 2х недель – сложность будет уменьшена, если меньше – сложность будет увеличена. Чем больше (или меньше) времени было затрачено на нахождение предыдущих 2016 блоков, тем больше уменьшится (или увеличится) сложность.
____Для нахождения блока хеш должен быть меньше цели (принцип работы proof-of-work). Хеш является случайным числом от 0 до 2*256-1. Сложность хеш таблицы.

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2521

____Сложность заявлена таким образом, как будто мы находили предыдущие 2016 блоков с периодичностью раз в 10 минут.

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2522

____Среднее время нахождения блока в одиночку рассчитывается по формуле:

time = difficulty * 2**32 / hashrate,

где difficulty это текущая сложность сети Bitcoin, hashrate это количество хешей, которое ваш майнер находит в секунду и time это среднее время (в секундах) между нахождением вами блока. Таким образом, можно сказать, что рост сложности майнинга является величиной прогнозируемой, высокий уровень сложности постоянно обновляется.


.
Viktor2312
Viktor2312
Гуру+

Сообщения : 11953
Дата регистрации : 2012-08-10
Возраст : 40
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Empty Re: Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.

Сообщение  Viktor2312 в Вт Апр 23 2019, 18:22

9
.
Bitcoin транзакция.


____Bitcoin транзакции — это подтверждённая подписью секция данных (подпись транзакции), которая передаётся по сети Bitcoin и собирается в блоки. Обычно она содержит ссылки на предыдущие транзакции и ассоциирует определённое количество Биткоинов с одним или несколькими публичными ключами (Биткоин адресами). Она не зашифрована, так как в системе Биткоин ничего не зашифровано.
____Браузер цепочки блоков — это место, где все транзакции, объединённые в цепочку блоков, могут быть найдены и проверены, все транзакции биткоин можно отследить. Это необходимо не только для определения технических параметров транзакции, но и для проверки качества осуществления платежа.


Что такое Bitcoin транзакция?

Сложность процедуры традиционной банковской онлайн транзакции.

____Оплата банковской платёжной картой в торгово-сервисном предприятии, начинается, когда держатель карты решает оплатить товар или услугу, и передаёт карту (либо оплачивает сам) кассовому работнику.

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2523

____Посредством POS-терминала, в целях аутентификации держателя, информация о карте из терминала передаётся в банк-эквайрер, обслуживающий данный терминал, и имеющий соглашение с владельцем торговой точки. В зависимости от договорённостей торговая точка оплачивает банку комиссию за его участие в обработке транзакции. Далее банк-эквайрер передаёт информацию в платёжную систему, обслуживающую данную карту. Там данные попадают в операционный центр, к которому подключены банки-участники платёжной системы. В этом центре проходит проверка на предмет наличия или отсутствия платёжных данных карты в стоп-листе и в зависимости от полученного результата в транзакции отказывается или она одобряется с дальнейшим направлением в банк-эмитент, выпустивший данную карту, и обслуживающий привязанный к ней банковский счёт/счета клиента. Здесь она попадает в процессинговый и авторизационный центр, в котором проводятся расширенные проверки на легальность обрабатываемой транзакции. При подозрении на мошенничество или нарушение условий обслуживания даётся отказ. В зависимости от типа карты (дебетовая или кредитная) и установленного банком приоритета авторизации здесь может проводиться проверка доступного остатка средств на счёте или платёжного лимита, а также сверяться авторизационный PIN-код держателя. При удовлетворении всем проверкам эмитент одобряет операцию и в рамках транзакции, также через платёжную систему, ответ даётся в торговую точку. Путём взаиморасчётов с платёжной системой эмитент перечисляет эквайреру сумму запрашиваемых по транзакции средств, а также комиссию платёжной системы за обработку транзакции. В свою очередь с клиентского счёта банк списывает оплачиваемую и подтверждённую клиентом к оплате сумму денег (для дебетовых карт) или уменьшает доступный платёжный лимит, тем самым резервируя часть средств к последующему списанию (для кредитных карт). Транзакция завершается в момент поступления обратно в торговую точку ответа с одобрением или отказом. Bitcoin транзакцию отменить невозможно.


Преимущество проведения Bitcoin транзакции перед банковской онлайн транзакцией:

  • Избавление от посредников (банков-корреспондентов).

  • Стоимость транзакции.

  • Низкий риск возникновения ошибок.

  • Децентрализация.

  • P2P взаимодействие.


Общий формат проведения Bitcoin транзакций (внутри блока).

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2524


Пример транзакции Биткоина с одним входом и одним выходом.

Данные.

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2525

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2526

Объяснение.

____Вход в этой транзакции импортирует 50 BTC от выхода #0 в транзакции f5d8..., а затем выход отправляет 50 BTC на Биткоин адрес (выраженный здесь в шестнадцатеричной системе — 4043…). Когда получатель захочет потратить свои деньги, то он будет ссылаться на выход #0 этой транзакции для входа своей собственной транзакции.

Вход.

____Вход (input) — это ссылка на выход другой транзакции. У транзакции часто бывает несколько входов. Значения этих ссылок суммируются, и общая сумма биткоинов может быть использована в выходе текущей транзакции. Previous tx — это хеш предыдущей транзакции.
____Скрипт содержит две компоненты: подпись (signature) и публичный ключ (public key). Публичный ключ принадлежит пользователю, который использует выходы транзакции, и подтверждает то, что создатель транзакции имеет право распоряжаться суммой, пришедшей с выходов. Другой компонент – это ECDSA-подпись хеша упрощённой версии транзакции. Объединённая с публичным ключом, подпись подтверждает, что транзакция была создана реальным владельцем данного Bitcoin адреса.

Выход.

____Выход (output) содержит инструкции по отправлению биткоинов. Значение (value) — это количество сатоши (1 BTC = 100,000,000 сатоши), которое сможет использовать транзакция, для которой, текущая будет входом. ScriptPubKey — это вторая половина скрипта (будет рассмотрена далее).
____Может существовать более одного выхода, и они будут делить между собой сумму, пришедшую со входов.
____Каждый выход транзакции может быть использован в качестве входа для следующей транзакции только один раз, поэтому сумма всех входов для текущей транзакции должна быть использована на её выходах. В противном случае, оставшаяся сумма входов транзакции будет потеряна. Например, если ввод равен 50 BTC, а пользователю нужно отправить только 25 BTC, то биткоин создаст два выхода по 25 BTC каждый: один отправится в пункт назначения, а другой отправится ещё раз владельцу этих средств (так называемая "сдача" — транзакция, которую пользователь фактически отправляет сам себе).
____Любая сумма входов биткоинов, не использованная в выходах, становится комиссией транзакции. Она достанется тому, кто сгенерирует блок.

Верификация транзакции.

____Для того чтобы проверить, авторизированы ли входы для использования сумм, указанных в выходах предыдущих транзакций, Биткоин использует стандартную систему скриптования (см. дальше). scriptSig входа и scriptPubKey выхода, на который ссылается данная транзакция, оцениваются при помощи scriptPubKey, используя значения оставшиеся в множестве scriptSig.
____Вход подтверждается, если скрипт scriptPubKey возвращает значение «true» (истинно). Через систему скрипта, отправитель может создавать очень сложные условия, которым должны соответствовать люди, желающие получить выходящее значение. Например, возможно создать вход, который сможет получить любой пользователь без авторизации. Также возможно потребовать того, чтобы вход был подписан 10 разными ключами, или проверялся не ключом, а паролем.

Общий формат каждого входа транзакции — Txin.

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2527

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

Общий формат каждого выхода транзакции — Txout.

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Sha-2528

____Выход определяет условия по использованию данных биткоинов в следующих транзакциях.
____Сумма выходных значений для первой транзакции в блоке — это значение добытых биткоинов для блока, плюс сумма комиссий от других Биткоин транзакций, включённых в этот блок.


.
Viktor2312
Viktor2312
Гуру+

Сообщения : 11953
Дата регистрации : 2012-08-10
Возраст : 40
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Empty Re: Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.

Сообщение  Viktor2312 в Чт Май 09 2019, 01:30

10
В процессе освоения SHA-2, алгоритмов хеширования, вычертил тут для себя:

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. _aaau_10

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 11953
Дата регистрации : 2012-08-10
Возраст : 40
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг. Empty Re: Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.

Сообщение  Спонсируемый контент

11

Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения