Михайлов Геннадий

Человек и Гражданин


Previous Entry Share Next Entry

О Блокчейне для "чайников"

К ним я и себя причисляю, обычно все статьи о блокчейне настолько заумные. что не понятно и половины букв) Я попробовал собрать для вас самые простые и понятные объяснения.



Блокчейн (blockchain, цепочка блоков) разрабатывался разными компаниями в течение как минимум 20 лет. По сути это база данных в виде непрерывной системы, в которой хранятся сведения обо всех совершенных в ней операциях. Система работает по принципу пиринговой сети (это означает взаимопроникновение): без выделенных серверов; копии истории операций доступны всем пользователям (пирам), которым открыт доступ.

Если в одном блоке совершается несколько транзакций (операций), то информация о них сохраняется в этом же блоке: ее нельзя удалить, исправить задним числом. При этом каждая транзакция зависит от предыдущей. Зашифрованные данные доступны всем пользователям, участвующим в сети. Важно понимать, что речь идет не об открытом доступе для всех пользователей Интернета, а лишь для тех, кто имеет специальный шифровальный ключ к информации: в этом состоит принцип безопасности блокчейна.

А вот сам текст и объяснение) дальше слово автору
Я покажу, что на самом деле всё там очень просто, и доступно даже пятикласснику. Не верите? Просто читайте дальше. Но для этого сначала нужно пояснить, что такое хэш. Без этого никак, увы.

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

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


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

А теперь, чтобы стало ещё понятнее, продемонстрирую на практике. Вбейте в гугле «sha256 онлайн» (именно эту функцию мы будем использовать во всех примерах). Поиграйте с ней, вбивая разные данные.

Например, хэш от слова TJournal:

7db3a63e07638d7c795ee95210497048a7cc976f98f11ca8d5e2fc10b4dc374f

А вот от tjournal:

c3ea30a9f5a650ee53db452cf17209412abbcee72b264ebfb1c7fa49b57fd8c9

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

Сделай сам
Всё. Этих знаний уже достаточно чтобы создать простой блокчейн. Удивительно, правда? Блокчейн — цепочка криптографически связанных блоков.

Давайте создадим первый «блок». В нём может быть что угодно, но мы уже придерживаемся аналогии с биткоином и транзакциями, поэтому будет тоже записывать денежные отношения.

Открываем ваш любимый блокнот и создаём первый файл:
Маша → Ваня :: 10 рублей
Ваня → Лиза :: 20 рублей
Маша → Саша :: 50 рублей


Хэш тут не для чего считать, поэтому всё. Сохраняем его с именем 1.txt в специальной папочке (FYI: в блокчейне криптовалют такой блок называется Genesis block, и да, там его тоже прописывают вручную). Сохранили? Идём на один из прежде нагугленных сайтов (можно догадаться, что настоящие блокчейны ни на какие сайты не ходят, а вызывают заранее запрограмированные в них функции, но для нашего простейшего случая сделаем всё вручную), и считаем хэш для этого файла.

У меня получилось 7f17d67621afd2a661bc0a552735745b8a2c424cff28e523b94f1d1b4615f591, у вас может получиться другое, в зависимости от содержимого файла, кодировки, лишних или недостающих пробелов, переносов и тому подобного. Совершенно не важно, что у вас получилось, просто сохраните эту строку.

Теперь создайте следующий файл и назовите его 2.txt. Запишите в него несколько новых «транзакций»:
Таня → Катя :: 10 рублей
Макс → Витя :: 10 рублей

И последней строчкой добавьте результат хэширования предыдущего файла. Вот так:
Таня → Катя :: 10 рублей
Макс → Витя :: 10 рублей
7f17d67621afd2a661bc0a552735745b8a2c424cff28e523b94f1d1b4615f5

Готово? Сохраняем, и считаем хэш уже от этого, нового файла ЦЕЛИКОМ. У меня получилось db45d94b529fbf8c5fb1decd89f5d0ff62bbca86a02bc4f943eac42ff33dd486.


По аналогии создаём третий файл:
Митя -> Тёма :: 90 рублей
Жора -> Вася :: 10 рублей
Анна -> Люда :: 60 рублей
db45d94b529fbf8c5fb1decd89f5d0ff62bbca86a02bc4f943eac42ff33dd486

И все последующие. Их может быть сколько угодно. В блокчейне биткоина по состоянию на 27.06.17 находится 473011 блоков, в которых записана информация о почти 250 миллионах транзакций. Это много. В 250 раз больше, чем комментов на TJ с момента его основания.

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

И снова к нашим баранам. Можете создать все файлы самостоятельно, а можете скачать мой архив из 10 файлов и контрольного, содержащего только хэш последнего «блока» и ничего больше.



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

Я сделал наипримитивнейший скриптик с пояснениями, можете посмотреть его по ссылке, а без пояснений он включён в вышеуказанных архив. Написан он на самом популярном в терминах проникновения языке в мире — баше, а значит у пользователей GNU/Linux, MacOS, Android (окружение Termux) — не возникнет проблем с запуском.

Пользователям Windows можно посоветовать установить cygwin или Linux subsystem for windows, появившийся в Windows 10.



Можно заметить, что в коде нет ничего, проверяющего напрямую содержимое файлов
Итак, после запуска скрипта должны получить что-то вроде:
10 blocks
chain is flawless
final hash = 23cbc83ca6a2cf2e75ae5ca76fb087ef11ff36fb0065c301557c8152a5bc530f



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

chain is corrupted

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

К криптовалютам активно присматриваются финансовые компании, хотя они и считаются консервативными институтами: среди желающих попробовать блокчейн финансовые гиганты Goldman Sachs, JPMorgan Chase и Bank of America. В России пионером применения блокчейна стал Сбербанк, который в 2016 году запустил пилотный проект по работе с доверенностями населения с помощью этой технологии.

Сегодня большинство технологических гигантов используют блокчейн в разных отраслях, от финансового документооборота до торговли нефтепродуктами. Так, в апреле 2017 года Natixis, IBM и Trafigura представили решение для нефтяной отрасли на основе блокчейна, основная задача которого — обеспечить прозрачность взаимодействия контрагентов.

Летом российский Альфа-банк заявил о внедрении блокчейн-платформы совместно с компанией S7 Airlines. Она используется для торговых операций между авиакомпанией и одним из билетных агентств. Среди преимуществ компании указывают снижение времени расчетов и подтверждения сделки обеими сторонами на порядки: сокращаются документооборот и трудозатраты персонала. «Весь цикл операций, включая формирование заявки на платеж, проверку средств на счете, их списание и обновление статуса, выполняется системой автоматически. В результате время проведения транзакции снизилось с 14 дней до 23 секунд», — говорят в S7.

Предыдущие посты про блокчейн и криптовалюту:
Как бесплатно получить биткоины. Биткоин-краны
Жетоны в ЖЖ, это первые токены в интернете
и другие по тегу криптовалюта
сейчас в 19 выложу еще пост - Как создать Биткоин-кошелек.


Posts from This Journal by “криптовалюта” Tag

  • Реально ли заработать 25300% за год?

    Вы удивитесь, но именно такой рост показал не Биткоин, а криптовалюта NEM,а еще один лидер Ripple вырос за год на 23133%. Биткоин при этом занимает…

  • Выгоден ли "Облачный майнинг"? Подвожу итоги

    Ну вот и заканчивается 2017 год, пора подвести итоги моего облачного майнинга. Как помните, 1 сентября я вложил небольшую сумму в несколько…

  • Батька разрешил хождение биткоина

    Опять нас соседи обошли. Батька снова оказался умнее и дальновиднее "Большого Брата", пока мы думаем и обсуждаем. Лукашенко начал "майнить" в…

  • 1 Биткоин = 1 миллион рублей

    Курс достиг магической цифры для России 1 миллион рублей. А я поймал себя на мысли, что давно перестал обращать внимание на курс доллара, зато слежу…

  • В Париж за биткоины

    Это не шутка, а реальность. Давайте лучше расскажу, как я строил свою криптоимперию с нуля, не вложив в это ни копейки собственных средств. Сегодня…

  • Черная пятница на рынке криптовалют

    Сегодня стартовала большая распродажа облачного майнинга. Хороший шанс для тех. кто присматривается к вложениям в биткоин и другие криптовалюты.…


promo gmichailov september 23, 2014 11:03 8540
Buy for 100 tokens
В очередной раз провожу френдомарафон. Это будет последний или крайний. У меня все хорошие и ЖЖивые. И я заодно познакомлюсь с Вами… Нас уже 10150. Пока еще у меня есть место добавить новых и познакомиться с Вами. В комментариях к этому посту можете представить себя, рассказать о себе, о чем…

ingaret October 30th, 2017
Чтобы во всём этом разобраться, надо быть программистом.

gmichailov October 30th, 2017
это самое простое разъяснение

lukilukii October 30th, 2017
Там о безопасности стоит подумать.

gmichailov October 30th, 2017
так как раз с безопасностью там нет проблем

ilyavaliev October 30th, 2017
Пора тебе свою крипту запускать)

rus_sumer October 30th, 2017
Твои деньги - это только то, что ты можешь зажать в кулак.
Есть кто-то одним нажатием кнопки может отнять у тебя деньги - значит они не твои.

gmichailov October 30th, 2017
ты ошибаешься. твоими деньгами руководит ЦБ, захочет и будет пыль из твоих денег

(no subject) (Anonymous) Expand
xslepojx October 30th, 2017
Блокчейн войдет в историю.

gmichailov October 30th, 2017
да он давно существует

seregalab October 30th, 2017
Блокчейн как говориться блокчейном, но лечить - учить - гайки крутить и строить дороги тоже надо.

gmichailov October 30th, 2017
применений у него очень много и многие еще работы лишаться

ledy_lisichka October 30th, 2017
целый ликбез считай.
актуальный

gmichailov October 30th, 2017
ну еще много будет постов) мне самому это интересно

knebeckaize October 30th, 2017
Почти ничего не поняла, но хоть теперь знаю, что это слово обозначает )

gmichailov October 30th, 2017
))

fotostep October 30th, 2017
Спасибо, на первый взгляд все понятно.

gmichailov October 30th, 2017
ну вот на этом простом принципе и построена вся технология

katyaleontevska October 30th, 2017
Если это самые простые, то какие же сложные???

gmichailov October 30th, 2017
)) дальше сложнее, но я пытаюсь находить простые статьи и объяснения

tanjacha1 October 30th, 2017
Мне этого не понять...

gmichailov October 30th, 2017
да ладно, просто же все

veraprok October 30th, 2017
А можно вопрос оффтоп? Пыталась зарегистрироваться на Голосе. Там зачем-то требуют, чтобы я со своего телефона им прислала какие-то четыре цифры... это что за странности?! И не грозит ли это мне какой-нить пакостью с их стороны?

gmichailov October 30th, 2017
нет ни чем не грозит. Это чтобы ботов не было, защита такая, хотели упростить, но видно оставили пока

bestysst October 30th, 2017
знаем мы этот блокчейн


gmichailov October 30th, 2017
ну да и помним футболку купленную Грефом за 50000 баксов

foxinnn October 30th, 2017
Не пробовала с этим разбираться)

goy

bloger_d October 30th, 2017


hex: 3716d24d85536b7e1b62902a8bd20d41cea5372843b3fbfa602a50735539f5ae

HEX: 3716D24D85536B7E1B62902A8BD20D41CEA5372843B3FBFA602A50735539F5AE

h:e:x: 37:16:d2:4d:85:53:6b:7e:1b:62:90:2a:8b:d2:0d:41:ce:a5:37:28:43:b3:fb:fa:60:2a:50:73:55:39:f5:ae

base64: NxbSTYVTa34bYpAqi9INQc6lNyhDs/v6YCpQc1U59a4=


?

Log in

No account? Create an account