gmichailov (gmichailov) wrote,
gmichailov
gmichailov

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

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



Блокчейн (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 выложу еще пост - Как создать Биткоин-кошелек.

Tags: биткоин, блокчейн, криптовалюта
Subscribe

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 46 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →