Блокчейн как устроен – Блокчейн изнутри: как устроен биткоин :: Разбираемся раз и навсегда человеческим языком :: Блог Вастрик.ру

Содержание

как он работает, и почему эта технология изменит мир / ITI Capital corporate blog / Habr

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

Развитие технологии


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

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

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

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

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

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

Если это так, то технология блокчейн поможет избавиться от Uber, Netflix и, например, страховых компаний.

Это не предположения, а лишь некоторые вещи, которые сейчас строятся на Ethereum — блокчейн-платформе, которая дистанционно размещает программное обеспечение на распределенной компьютерной системе, называемой Ethereum Virtual Machine. Блокчейн Ethereum, на котором работает криптовалюта эфир, на данный момент наиболее открыт для экспериментов.

Но эта открытость не всегда играет на руку. Новые схемы блокчейна создаются каждый день, в том числе и крупнейшими техническими корпорациями. Microsoft предлагает своим клиентам инструменты для экспериментов с криптовалютой в своем облаке Azure. IBM, Intel и другие сотрудничают с хабом Hyperledger — открытой платформой для разработки бизнес-ориентированных блокчейнов. Крупнейшие банки, — те самые, которых хотели вытеснить создатели криптовалюты, — придумали свою версию технологии, пытаясь опередить тенденции.

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

Но ни один блокчейн не может похвастаться массовым использованием. Никакая концепция или стратегия еще не привела к революции ни в одной отрасли. Биткоином пользуется не более чем 375 000 человек в мире в день.

Какие блокчейн-платформы сохранятся, а какие начнут медленно опускаться на дно? Чтобы сделать какой-либо прогноз, нужно понять, что такое блокчейн и логически соотнести его с биткоином.

Как работает блокчейн


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

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

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

Биткоин завершил преобразование, создав единый универсальный цифровой регистр, называемый блокчейном. Эта технология получила такое название, потому что похожа на цепь — внести в неё изменения можно только в конец блоков. Каждое новое дополнение содержит набор новых транзакций. Например, если Саша заплатит Юле за биткоин, эта транзакция появится в конце цепи. А в блоках до этого будет указано, что Саше заплатил Миша, а Мише Оля.

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

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

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

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

Но для биткоина нет центрального банка, обеспечивающего соблюдение правил. Майнеры работают анонимно во всем мире, несмотря на разнообразие культур, различие правовых систем и нормативных обязательств. Поэтому нет способа привлечь их к ответственности. Необратимость операции обеспечивает код биткоина. Он использует схему, которая называется доказательством работы.

Как доказательство работы делает технологию блокчейн надёжной


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

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

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

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

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

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

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

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

Как использовать блокчейн в других сферах


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

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

В отличие от биткоина, Ethereum использует мини-программы, называемыми смарт-контрактами. Они могут быть написаны с неограниченной степенью сложности. Пользователи могут взаимодействовать с программами, отправляя им транзакции с инструкциями, которые затем обрабатывают майнеры.

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

Что такое распределённый реестр


Параллельно с попытками Бутерина использовать технологию для создания компьютера, охватывающего весь мир, развивалась идея закрытой и контролируемой версии блокчейна. В сентябре 2014 года группа финансовых институтов, в том числе Barclays, Goldman Sachs и JP Morgan сформировала консорциум под названием R3 для изучения того, как блокировки могут повысить эффективность расчётов между банками.

Открытая структура блокчейнов, таких как биткоин и Ethereum, противоречит потребностям этих организаций. В первую очередь вызывает вопросы анонимность пользователей, данные которых представлены буквенно-цифровыми общедоступными адресами, без указаний их реальной идентичности. Банковское законодательство в США и ​​других странах запрещает такую ​​анонимность. «Мы должны знать, кто участники и контрагенты находящиеся на этих платформах», — говорит Тим ​​Свансон, директор по исследованиям рынка в R3.

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

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

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

В прошлом году проект R3, который недавно привлек $107 млн из более чем 40 учреждений, выпустил свой первый распределённый реестр Corda. И у него уже появился конкурент: JP Morgan, который покинул консорциум R3 прошлой весной, выпустил свой собственный реестр, получивший название Quorum.

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

«Люди должны понимать фактические проблемы и нормативные требования, которых должны придерживаться такие организации, как банки, страховые компании и отрасли здравоохранения. Они не могут позволить себе риск и неопределенность, которые внедряются некоторыми открытыми системами», — говорит Джонатан Леви, создатель системы управления доступом к блокчейнам Hacera.

Как будут работать смарт-контракты


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

«Как только у нас появятся смарт-контракты, возникнет целый ряд проблем», — говорит Ари Джуэлс, содиректор IC3 Корнеллского университета. Эти проблемы делятся на несколько категорий.

Во-первых, блокчейны не смогут хранить много данных. Это будет проблемой для многих проектов, которые, например, предлагают хранить и передавать потоковое видео. Им просто напросто не хватит места для хранения.

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

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

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

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

Импортировать данные в режиме реального времени можно будет при помощи «оракулов». Это службы, которые получают оплату за надежный запрос данных в реальном времени и подачу их на смарт-контракты блокчейн.

В IC3 Джелус разработал систему обеспечения защищенного датафида для смарт-контрактов Town Crier. Она защищает вводимые в блокчейн данные от подделки. Процесс работы построен на использовании доверенного программного обеспечения на процессорах Intel.

Финансирование


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

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

Тем не менее, уже появился потенциальный механизм финансирования для блокчейнов — Initial coin offering или ICO. Он оказался чрезвычайно прибыльным, хотя и юридически сомнительным.

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

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

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

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

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

«Деньги не являются корнем зла. Равенство является корнем зла», — говорит Джоэл Монегро — создатель Placeholder — нового фонда, посвященного технологиям блокчейн.

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

С другой стороны ICO — не только финансовый инструмент, но и средство доступа к технологии блокчейн. Из этого следует, что чем больше людей используют услугу, тем больше будет спрос на токен, необходимый для доступа.

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

В Соединенных Штатах использование ICO, вероятно, подходит к концу. В конце июля Комиссия по ценным бумагам и биржам США предупредила о том, что многие ICO попадают в категорию ценных бумаг и поэтому должны работать по определённым правилам.

«Времена изменились и очень быстро. Некоторые из ранних последователей биткоина испытывали трудности с финансами три и четыре года назад, но держались за свои убеждения и свои монеты и очень хорошо сейчас себя чувствуют, — говорит Джонатан Леви, создатель Hacera, — нам по-прежнему необходимо, чтобы биткоин и Ethereum работали в более крупных масштабах, поэтому предприятиям необходимо децентрализовать данные и обеспечить их конфиденциальность. Сейчас мы сталкиваемся с новой задачей: учитывая огромные суммы вложенных денег, еще предстоит выяснить, сколько старожилов и новичков останется верными делу и продолжат работать, чтобы изменить мир с помощью технологий, которые уже изменили их».

Другие материалы по теме финансов и технологий от ITI Capital и не только:


habr.com

Как сделать свой блокчейн. Часть 1 — Создание, Хранение, Синхронизация, Отображение, Майнинг и Доказательная работа

Доброго всем! Мы тут потихоньку начали исследовать новое совсем для нас направление для обучения — блокчейны и нашли то, что оказалось интересным в рамках нашего курса по Python, в том числе. Чем, собственно, и хотим поделиться с вами.
Я могу узнать, когда у меня появился первый Bitcoin, из истории кошелька в моем аккаунте на Coinbase — входящая транзакция в 2012 году в подарок за регистрацию. Bitcoin в то время стоил около 6.50$. Если бы я сохранил те 0.1 BTC, на момент написания статьи это бы уже стоило более 500$. Если кому-то интересно, я продал их, когда Bitcoin стоил 2000$. Так что я получил только 200$ вместо ныне возможных 550$. Не стоило торопиться.

О существовании Bitcoin я знал, но особо не интересовался. Я видел взлеты и падения курса $/BTC. Я видел, как люди говорят, что за ним будущее, а видел статьи о его полной бессмысленности. Но личного мнения у меня не было — просто наблюдал со стороны.
Точно так же я почти не следил за блокчейнами. Но в последнее время мой отец несколько раз упоминал, что на CNBC и Bloomberg, которые он смотрит по утрам, часто рассказывают о блокчейнах, и он понятия не имеет, что это.

И тогда я внезапно понял, что нужно чуть глубже разобраться в этой теме. И начал с “исследования” — прочитал огромное количество статей в интернете, объясняющую их суть. Некоторые были хорошие, некоторые плохие, некоторые глубокие, а некоторые очень поверхностные.

Чтения оказалось недостаточно, а если существует одна вещь, которую я знаю наверняка, так это то, что чтение не объяснит и сотой доли того, что объяснит программирование. И так я понял, что стоит написать свой собственный локальный блокчейн.

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

Я пишу пост по нескольким причинам: 1) Чтобы люди, прочитавшие его, смогли узнать больше о блокчейнах; 2) Чтобы я смог понять больше, объяснив код, а не просто написав его.
В этом посте я покажу способ хранения данных блокчейна и генерации начального блока, синхронизацию узла с локальными данными блокчейна, отображение блокчейна (что впоследствии будет использоваться для синхронизации с другими узлами), а затем, майнинг и создание валидных новых блоков. В первом посте не будет никаких других узлов. Никаких кошельков, пиров, важных данных. О них поговорим позднее.

В двух словах

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

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

На более низком уровне, данные в этих блоках могут быть чем угодно, пока это позволяет конкретный блокчейн. Например, данные в Bitcoin блокчейне — исключительно транзакции Bitcoin между аккаунтами. Ethereum блокчейн позволяет как аналогичные транзакции Ether, так и транзакции, использующиеся для запуска кода.

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

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

Если хотите изучить код, посмотрите ветку part 1 на Github. Смело присылайте мне любые вопросы, комментарии, правки и похвалы (если вы в настроении сделать что-то особо хорошее), или просто пишите в твиттер.

Шаг 1 — Классы и Файлы

Первый шаг — написание класса, обрабатывающего блоки при запуске узлов. Я назову этот класс Block. Честно говоря, много делать не придется. В функции __init__ мы будем верить, что вся необходимая информация уже представлена в словаре. Для производственного блокчейна — это не самое мудрое решение, но подходит в качестве примера, потому что код пишу только я. Также я напишу метод, запаковывающий важную информацию блока в словарь, а после заведу более удобный способ для отображения информации блока при его печати в терминал.

class Block(object):
  def __init__(self, dictionary):
  '''
    We're looking for index, timestamp, data, prev_hash, nonce
  '''
  for k, v in dictionary.items():
    setattr(self, k, v)
  if not hasattr(self, 'hash'): #in creating the first block, needs to be removed in future
    self.hash = self.create_self_hash()

  def __dict__(self):
    info = {}
    info['index'] = str(self.index)
    info['timestamp'] = str(self.timestamp)
    info['prev_hash'] = str(self.prev_hash)
    info['hash'] = str(self.hash)
    info['data'] = str(self.data)
    return info

  def __str__(self):
    return "Block<prev_hash: %s,hash: %s>" % (self.prev_hash, self.hash)

Чтобы создать первый блок, запустим этот простой код:
def create_first_block():
  # index zero and arbitrary previous hash
  block_data = {}
  block_data['index'] = 0
  block_data['timestamp'] = date.datetime.now()
  block_data['data'] = 'First block data'
  block_data['prev_hash'] = None
  block = Block(block_data)
  return block

Отлично. Последний вопрос в этой части — где хранить данные в файловой системе. Это необходимо, если мы не хотим потерять локальные данные блока при отключении узла.
Я назову папку с данными ‘chaindata’, в какой-то степени подражая схеме папок Etherium Mist. Каждому блоку теперь присвоен отдельный файл, названный по его индексу. Нужно убедиться, что имена файлов содержат в начале достаточное количество нулей, чтобы блоки перечислялись по порядку.

С учетом кода выше, нужно написать следующее для создание первого блока:

#check if chaindata folder exists.
chaindata_dir = 'chaindata'
if not os.path.exists(chaindata_dir):
  #make chaindata dir
  os.mkdir(chaindata_dir)
  #check if dir is empty from just creation, or empty before
if os.listdir(chaindata_dir) == []:
  #create first block
  first_block = create_first_block()
  first_block.self_save()

Шаг 2 — Синхронизация блокчейна, локально

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

def sync():
  node_blocks = []
  #We're assuming that the folder and at least initial block exists
  chaindata_dir = 'chaindata'
  if os.path.exists(chaindata_dir):
    for filename in os.listdir(chaindata_dir):
      if filename.endswith('.json'): #.DS_Store sometimes screws things up
        filepath = '%s/%s' % (chaindata_dir, filename)
        with open(filepath, 'r') as block_file:
          block_info = json.load(block_file)
          block_object = Block(block_info) #since we can init a Block object with just a dict
          node_blocks.append(block_object)
return node_blocks

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

Шаг 3 — Отображение блокчейна

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

Для этого я использую Flask — у него низкий порог вхождения, и я решил, что он подходит для наших целей.

Ниже представлен код для отображения json блокчейна. Я проигнорирую импорты для экономии места.

node = Flask(__name__)

node_blocks = sync.sync() #inital blocks that are synced

@node.route('/blockchain.json', methods=['GET'])
def blockchain():
  '''
  Shoots back the blockchain, which in our case, is a json list of hashes
  with the block information which is:
  index
  timestamp
  data
  hash
  prev_hash
  '''
  node_blocks = sync.sync() #regrab the nodes if they've changed
  # Convert our blocks into dictionaries
  # so we can send them as json objects later
  python_blocks = []
  for block in node_blocks:
    python_blocks.append(block.__dict__())
  json_blocks = json.dumps(python_blocks)
  return json_blocks

if __name__ == '__main__':
  node.run()

Запустите этот код, зайдите на localhost:3000/blockchain.json и увидите текущий блок.

Шаг 4 — “Майнинг”, также известный как создание блока

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

Сатоши описывает это следующим образом в Bitcoin whitepaper. Учтите, что “timestamp сервер” назван “узлом”.

“Начнем описание нашего решения с timestamp сервера. Его работа заключается в хэшировании блока данных, на который нужно поставить timestamp, и открытой публикации этого хэша… Timestamp показывает, что в данный момент конкретные данные существовали и потому попали в хэш блока. Каждый хэш включает в себя предыдущий timestamp: так выстраивается цепь, где очередное звено укрепляет все предыдущие.”

Скриншот изображения, прикрепленного под описанием:

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

В данном случае хедер, который я создаю, объединяет значения строки в одну огромную строку. Я включил следующие данные:

  1. Индекс, показывающий каким по счету является блок;
  2. Хэш предыдущего блока;
  3. Данные — просто случайные строки. Для bitcoin они называются Merkle root и содержат информацию о транзакциях;
  4. Timestamp майнинга этого блока.
def generate_header(index, prev_hash, data, timestamp):
  return str(index) + prev_hash + data + str(timestamp)

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

Хедер Bitcoin значительно сложнее объединения строк. Он использует хэши данных и времени и завязан на то, как данные расположены в памяти. Но в нашем случае объединения строк достаточно.

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

def calculate_hash(index, prev_hash, data, timestamp, nonce):
  header_string = generate_header(index, prev_hash, data, timestamp, nonce)
  sha = hashlib.sha256()
  sha.update(header_string)
  return sha.hexdigest()

Для майнинга блока мы используем функцию выше, чтобы получить хэш, положить его в новый блок и сохранить этот блок в директории chaindata.
node_blocks = sync.sync()

def mine(last_block):
  index = int(last_block.index) + 1
  timestamp = date.datetime.now()
  data = "I block #%s" % (int(last_block.index) + 1) #random string for now, not transactions
  prev_hash = last_block.hash
  block_hash = calculate_hash(index, prev_hash, data, timestamp)

  block_data = {}
  block_data['index'] = int(last_block.index) + 1
  block_data['timestamp'] = date.datetime.now()
  block_data['data'] = "I block #%s" % last_block.index
  block_data['prev_hash'] = last_block.hash
  block_data['hash'] = block_hash
  return Block(block_data)

def save_block(block):
  chaindata_dir = 'chaindata'
  filename = '%s/%s.json' % (chaindata_dir, block.index)
  with open(filename, 'w') as block_file:
    print new_block.__dict__()
    json.dump(block.__dict__(), block_file)

if __name__ == '__main__':
  last_block = node_blocks[-1]
  new_block = mine(last_block)
  save_block(new_block)

Готово! Но при таком типе создания блока кто угодно с самым быстрым CPU сможет создавать самые длинные цепи, которые другие узлы посчитают корректными. Нужен способ снизить скорость создания блока и подтверждение до перехода к следующему блоку.

Шаг 5 — Доказательство выполнения работы

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

Способ сделать это — установить требования к структуре хэша блока. Как и в случае с bitcoin, необходимо убедиться, что хэш начинается с определенного количества нулей, перед тем, как перейти к следующему. А для этого нужно добавить в хедер дополнительную информацию — случайно перебираемое число (nonce).

def generate_header(index, prev_hash, data, timestamp, nonce):
  return str(index) + prev_hash + data + str(timestamp) + str(nonce)

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

def mine(last_block):
  index = int(last_block.index) + 1
  timestamp = date.datetime.now()
  data = "I block #%s" % (int(last_block.index) + 1) #random string for now, not transactions
  prev_hash = last_block.hash
  nonce = 0

  block_hash = calculate_hash(index, prev_hash, data, timestamp, nonce)
  while str(block_hash[0:NUM_ZEROS]) != '0' * NUM_ZEROS:
    nonce += 1
    block_hash = calculate_hash(index, prev_hash, data, timestamp, nonce)
  block_data = {}
  block_data['index'] = int(last_block.index) + 1
  block_data['timestamp'] = date.datetime.now()
  block_data['data'] = "I block #%s" % last_block.index
  block_data['prev_hash'] = last_block.hash
  block_data['hash'] = block_hash
  block_data['nonce'] = nonce
  return Block(block_data)

Отлично. Новый блок содержит валидное значение nonce, поэтому другие узлы могут подтвердить хэш. Мы можем сгенерировать, сохранить и распределить новый блок остальным.

Заключение

На этом все! Пока что. Осталось еще много вопросов и фичей в блокчейнах, которые я не объяснил.

Например, как задействовать другие узлы? Как узлы передают данные, когда включаются в блок? Существуют ли иные способы хранения данных кроме огромных строк данных?
Ответы на эти вопросы можно будет найти в следующих частях этой серии постов, как только я сам найду на них ответы. Пожелания по содержанию можно писать мне в твиттер, в комментарии к посту или через форму обратной связи!

Спасибо моей сестре Саре за уточняющие вопросы о блокчейнах и помощь в редактировании поста!

THE END

Комментарии, вопросы, как всегда, приветствуются и тут, и на дне открытых дверей.

habr.com

что это за технология простыми словами (как работает и как ей пользоваться)

Блокчейн по праву считается технологией будущего, которая по своей ценности может сравниться разве что с изобретение интернета. Крупные банкиры и инвесторы со всей планеты делают немалые капиталовложения в развитие blockchain – проектов. И хотя технология является революционным изобретением, для рядовых пользователей она еще не достаточно понятна. Причина этому – небольшое количество материалов «для чайников», в которых было бы простым языком написано о блокчейн, что это такое и в чем заключается суть работы. Поэтому в нашей статье мы попытаемся освятить все вопросы, касающиеся введения в блокчейн, включая описание способов заработка на новой технологии.

Кто придумал блокчейн

Создателем блокчейн считается таинственный Японский программист – Сатоши Накамото. Однако данное имя – псевдоним и точных данных о том кем является человек, который изобрел blockchain, до сих пор нет.

Официально технология блокчейн была создана в 2008 году, однако, это не совсем так. В данном году Накамото опубликовал протокол, отражающий принцип работы криптоволютной системы биткоин. На самом же деле история развития технологии началась еще в 2007 году и продолжалась до 2009 г. За это время программист создал и запустил в работу программное обеспечение, в котором был реализован протокол, упоминавшийся ранее. Работа криптоволютной системы биткоин осуществилась как раз таки за счет технологии блокчейн.

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

  • «Идеи независимой шифрованной валюты» 1998г.
  • «Технология связывания хеш-блоков, которые не зависят друг от друга, в одну цепочку»
  • «Механизм доказательства выполнения работы» 1997г.

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

Что такое технология блокчейн простыми словами

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

Однако от обычных баз данных блокчейн отличается рядом очень важных особенностей:

  • Хранение производится не на едином сервере, а одновременно у всех участников сети. Происходит это благодаря связанным между собой копиям. При этом изменение записей одним из участников системы невозможно, поскольку защитные механизмы блокчейн сразу же заподозрят подлог и исправят его.
  • Все транзакции в системе существуют совместно в единой цепи. Каждый блок, появляющийся в системе, тесно связан с предыдущим и в его названии заключены ссылки на предыдущий. Тем самым это не даёт возможности внести новые несанкционированные блоки, и уж тем более взломать сеть в целом.
  • Информация в системе шифруется одним из самых надежных криптографическим методом – хешированием SHA-256.
  • Прозрачность системы дает возможность отследить любую внутреннюю транзакцию любому пользователю. Однако, использовать данную информацию для мошенничества не выйдет. Этому есть простое объяснение, ведь для того чтобы получить доступ к денежным или информационным единицам нужно имеет приватный ключ (имеющийся только у владельца).

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

Стоит отметить, что теоретически в систему можно записать любую информацию, например: счета, договора, документы на недвижимость и т.д.

Как устроен и работает блокчейн

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

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

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

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

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

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

Где может использоваться блокчейн

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

Применение технологий блокчейн возможно, в следующих областях:

  • Проведение операций с покупкой и продажей различных видов сырья;
  • Управление данными;
  • Покупка и продаже алмазов, без участия посредников;
  • Идентификация субъекта с подтверждением права доступа;
  • Электронное голосование;
  • Управление частной и государственной недвижимостью;
  • Азартные онлайн-игры и т.д.

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

Государство и блокчейн

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

Блокчейн – это схема новой экономики, которая будет эффективно применяться при проведении внутренних банковских операций. Подобные действия не имеют отношения к денежным суррогатам, а представляет собой наиболее практичную и надежную методику проведения расчетов. На Западе сейчас действует более совершенная система блокчейна.

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

Не так давно систему блокчейн рассматривали в качестве «диктатуры банков». Банковские структуры, которые выступают в роли посредников в сфере финансовых услуг, могут понести серьезный урон. Сегодня к данной технологии баки проявляют огромный интерес, так как увидели возможность сотрудничества. Уже совсем скоро будет проведена модернизация банковской сферы по типу технологии блокчейна. Именно она и заменит пережившую себя SWIFT.

Государством выделены следующие преимущества:

  • Богатый потенциал в сфере налоговых сборов, распределения социальных выплат и оформления документации.
  • Возможность ведения учета земель, обеспечения поставки продукции и целостности записей.
  • Со временем заменит деятельность таких систем, как пенсионный фонд, ЗАГС, нотариальные конторы, сделки с недвижимостью и др. Все можно будет осуществлять в режиме онлайн.
  • В сфере здравоохранения сохранность данных об анализах и методиках лечения, а также историй болезни. Изменять сделанные ранее записи будет невозможно, что увеличивает шансы на хранение только достоверных данных и исключает вероятность фальсификации.

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

Как пользоваться blockchain

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

Пользоваться системой не так сложно. Принцип работы можно рассмотреть примере Torrent. Торренты функционируют в режиме P2P, где все участники равноправны. Когда происходит скачивание файла с трекера, то не используется кокой-то отдельный сервер или хранилище. Скачивание осуществляется у такого же участника системы, как, и вы. Если в системе не будет участников, то проведение операции станет невозможным. Именно по такой аналогии происходит работа блокчейн. Все операции проводятся между субъектами, находящимися в системе, и возможно это, благодаря общей платформе.

Как заработать на технологии

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

  1. Писать тематические статьи. Все большее количество людей интересуется технологией децентрализации, именно поэтому информационные ресурсы нуждаются в материалах, посвящённых данной тематике. Поэтому написание статей за деньги может принести немалую прибыль.
  2. Устроиться разработчиком. Если у вас есть талант программирования, и вы неплохо разбираетесь в особенностях системы, вы можете зарабатывать этим себе на жизнь.
  3. Майнинг. Поддержание распределенной платформы и создание новых блоков сопровождается вознаграждением, и дает возможность получить немалую прибыль.
  4. Разработка и внедрение новой криптовалюты.
  5. Трейдинг. Торговля криптовалютой, может стать золотой жилой, особенно если их получится внедрить в крупные компании.

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

Обратите внимание на курс Биткоина, который за последние 3 года вырос в десятки раз и принём своим инвесторам огромные проценты прибыли:

Хотите быть в курсе свежайших новостей и получать бесплатные инсайды? Подписывайтесь на наш Instagram , Facebook , VKontakte и Telegram (crypto_state).
Если Вам понравилась статья, пожалуйста, поделитесь ей с друзьями в соцсетях и на форумах (кнопки ниже). Вы очень поможете расширить криптовалютное сообщество и развивать наш проект быстрее!

cryptostate.ru

Как устроен блокчейн?

Цель этой статьи объяснить, как работает блокчейн, не вдаваясь в технические детали. Но краткой выжимки достаточно, чтобы дать вам общее представление о лежащих в основе логике и механизмах.

Технологию блокчейн можно назвать одной из самых значительных инноваций после появления интернета. Блокчейн позволяет обменять валюту, обходясь без доверия третьих лиц или участия центрального надзорного органа. Представьте, мы с вами заключаем пари по поводу завтрашней погоды в Сан-Франциско. Я ставлю $50, что будет солнечно, а вы ставите свои $50 на то, что будет дождь.

На сегодняшний день есть 3 возможности управления этой транзакцией:

1. Мы можем довериться друг другу. Дождливо или солнечно — неважно, проигравший отдает победителю $50. Если бы мы были друзьями, нам было бы проще управлять этим процессом. Независимо от того, друзья мы или незнакомцы, один может отказаться платить другому.

2. Мы можем подкрепить наше пари контрактом. Если же будет заключен контракт, обе стороны будут обязаны его соблюдать (заплатить в случае проигрыша). Кто-либо из них все же можеть решить не платить, победителю тогда придется нести дополнительные расходы, чтобы покрыть судебные издержки. Вынесение приговора может занять много времени. Если сумма небольшая, то этот способ не является оптимальным.

3. Мы можем привлечь нейтральную третью сторону. Каждый из нас дает $50 гаранту, затем он отдаст общую сумму победителю. Но нейтральная сторона может скрыться со всеми нашими деньгами и потребует комиссию. Таким образом, мы получаем один из первых двух вариантов: доверие или контракт.

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

Блокчейн позволяет нам отправить по $50, написав лишь пару строчек кода. Программа будет обеспечивать сохранность $100 и автоматически проверять завтрашнюю погоду в нескольких источниках.

Получив информацию от оракулов (Что такое блокчейн-оракулы?), программа автоматически передаст всю сумму победителю. Каждая сторона может проверить логику (после того, как она запущена на блокчейне, ее нельзя изменить или остановить). Возможно, эти усилия могут быть неоправданны для ставки в $50, но представьте, если вы продаете дом или компанию.

Биткоин – наиболее известное и обсуждаемое применение технологии блокчейн. Цифровая валюта, которая может использоваться для обмена продуктами и услугами, как доллар США (USD), евро (EUR), китайский юань (CNY) и другие национальные валюты. Давайте рассмотрим этот вариант применения технологии блокчейн, чтобы понять, как это работает.

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

Итак, что же такое Биткоин?

Один биткоин — это единица цифровой валюты сети Биткоин (BTC). Так же, как и доллар, она не имеет ценности сама по себе, она принимается только потому, что мы соглашаемся торговать товарами и услугами в обмен на более высокую сумму валюты под нашим контролем и мы считаем, что другие будут делать то же самое. Чтобы отслеживать количество Биткоинов, каждый из нас владеет блокчейном, использует реестр, который отслеживает все транзакции биткоинов.

Рис. 1

Файл реестра не хранится на центральных серверах, таких как банк или центр обработки и хранения данных.

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

Если Дэвид хочет отправить биткоины Сандре, он транслирует сообщение в сеть, в котором говорит, что количество биткоинов в его учетной записи должно снизиться на 5 BTC, а баланс счета Сандры должна увеличиться на то же количество. Каждый узел в сети получит сообщение и применит запрошенную транзакцию в свою копию книги (реестра), тем самым обновив балансы.

Рис. 2

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

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

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

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

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

Чтобы иметь возможность выполнять транзакции в блокчейне, вам нужен кошелек − программа, которая позволяет хранить и обменивать ваши биткоины. Поскольку только вы можете тратить свои токены, каждый кошелек защищен специальным криптографическим методом, который использует уникальную пару разных, но связанных ключей: приватный и публичный ключ. Если сообщение зашифровано с помощью специального публичного ключа, то только владелец парного приватного ключа сможет расшифровать и прочитать его. С другой стороны, если вы шифруете сообщение своим приватным ключом, то для его расшифровки можно использоваться только парный публичный ключ. Подробнее о ключах читайте в статье «В чем разница между публичным и приватным ключом».

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

Рис. 3

Чтобы отправить биткоин, вам нужно доказать, что у вас есть приватный ключ от определенного кошелька, поскольку вам нужно его использовать для шифрования сообщения о запросе транзакции. Обратите внимание, что вы передаете сообщение только после того, как оно было зашифровано, то есть вам никогда не придется раскрывать свой приватный ключ. Каждый узел блокчейна хранит копию реестра. Итак, как же узел узнает баланс вашего аккаунта? Биткоин вообще не отслеживает остатки на счетах (как показано на рисунке 1), она регистрирует только каждую запрошенную транзакцию. В действительности книга не отслеживает баланс, она отслеживает только каждую транзакцию, транслируемую в сети биткоина (рисунок 4). Чтобы узнать баланс своего кошелька, вам необходимо проанализировать и проверить все транзакции, которые когда-либо происходили во всей сети, относящиеся к вашему кошельку.

Рис. 4

Эта проверка «баланса» выполняется благодаря ссылкам на предыдущие транзакции. Чтобы отправить 10 Биткоинов Джону, Мэри должна сгенерировать запрос транзакции, который включает ссылки на предыдущие входящие транзакции, общий баланс которых равен или превышает 10 Биткоинов. Эти ссылки называются входами, узлы в сети будут проверять, что общая сумма этих транзакций равна или превышает 10 биткоинов и что эти токены еще не были потрачены. Фактически каждый раз, когда вы ссылаетесь на входы в транзакции, они будут считаться недействительными в будущей транзакции. Все это выполняется автоматически в кошельке Мэри и дважды проверяется сетевыми узлами Биткоина. После этого происходит отправка 10 BTC на адрес Джона, используя публичный ключ.

Рис. 5

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

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

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

Действительно ли блокчейн безопасен? И почему он называется именно blockchain?

Любой пользователь может получить доступ к сети Биткоин через анонимное соединение (т. е. Сеть TOR или сеть VPN), а также отправлять или получать транзакции, не раскрывая ничего, кроме своего публичного ключа. Однако, если кто-то использует один и тот же публичный ключ снова и снова, можно связать все транзакции с одним и тем же владельцем. Сеть Биткоин позволяет создавать столько кошельков, сколько вам хочется, каждый из которых имеет свой приватный и общественный ключи. Это позволяет получать платежи на разные кошельки, которые нельзя связать воедино. Невозможно узнать, что вы владеете всеми этими кошельками и приватными ключами, если вы не отправляете все полученные биткоины в один кошелек.

Общее количество возможных адресов Биткоинов — 2¹⁶⁰ или 1461501637330902918203684832716283019655932542976. Это большое количество защищает сеть от возможных атак.

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

Рис. 6

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

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

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

Рис. 7

Вероятность одновременного решения блоков низкая. Очень маловероятно, что несколько блоков одновременно создадут разные «концы» цепи, поэтому вся цепочка блокчейн быстро приходит к одной цепочке блоков, на которую соглашается каждый узел. Разногласия в отношении того, какой блок представляет собой конец цепи, снова создает возможности для мошенничества. Если транзакция происходит в блоке, который принадлежит более короткому хвосту (например, блок B на рис.7), такая транзакция вернется к неподтвержденным транзакциям, сразу поле того как будет присоединен следующий блок, как и все остальные, включенные в блок B.

Рис. 8

Итак, как система предотвращает мошенничество? Каждый блок содержит ссылку на предыдущий блок (см. рис. 6), и эта ссылка является частью математической загадки, которая должна быть решена, чтобы распространить следующий блок в сети. Мэри участвует в гонке против остальной сети в решении математической загадки, успех в нахождении ответа на которую позволит ей разместить следующий блок в цепочке. И даже если она угадает код быстрее остальных, вряд ли она сможет проделывать это 2, 3 или более раз подряд, так как она конкурирует со всей сетью. Итак, стоит ли Мэри использовать компьютер, чтобы конкурировать со всей сетью при присоединении блоков? Да, но даже с очень быстрым компьютером, из-за большого количества членов в сети, очень маловероятно, что Мэри могла бы решить несколько загадок подряд самой первой.

Ей нужно было бы контролировать 50% вычислительной мощности всей сети, чтобы иметь 50-процентный шанс решить блок до того, как какой-либо другой узел выполнит это задание. И даже в этом случае у нее был бы только 25-процентный шанс решить два блока подряд. Чем больше блоков подряд будет присоединено, тем меньше вероятность успеха Мэри.

Транзакции в блокчейн системе Биткоина защищены математической голомовломкой: любой злоумышленник конкурирует со всей сетью.

Транзакции становятся все более и более безопасными с течением времени. Те, что были включены в блоки раньше, более безопасны, чем те, которые включены в последний блок. Рис. 9

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

Итак, откуда взялись биткоины?

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

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

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

Некоторые из этих майнинговых пулов довольно большие и составляют более 20% от общей вычислительной мощности сети. Это имеет последствия для сетевой безопасности, как показано выше в примере с двойной тратой Мэри.

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

Чтобы не допустить остановки узлов, взимается небольшая сетевая комиссия, которая привязана к каждой транзакции. Вознаграждения собираются узлом, который успешно включает такие транзакции в блок и решает свою математическую загадку.
Благодаря этому механизму транзакции, связанные с более высокой наградой, обычно обрабатываются быстрее, чем транзакции, связанные с низкой наградой. Это означает, что при отправке транзакции вы можете решить, хотите ли вы быстрее ее обрабатывать (= дороже) или дешевле (что занимает больше времени).
Сборы за транзакции в сети биткоинов в настоящее время очень малы по сравнению с суммами, которые взимают банки.

 

Теперь, когда у вас есть общее представление о том, как работает блокчейн, давайте быстро оговорим, почему это так интересно.

Преимущества использования технологии блокчейн

— У вас полный контроль над стоимостью, нет третьей стороны, которая придерживала бы часть вашего счета или могла бы ограничить доступ к нему.

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

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

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

Недостатки технологии

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

— Несмотря на большое количество обменных платформ, по-прежнему не так просто обменять биткоины на товары и услуги.

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

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

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

Интернет – это информация, которую оценивает блокчейн.

Полезные ссылки:

Источник 

chainmedia.ru

Что нужно знать о блокчейне

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

Почему блокчейн так важен

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

Какие у блокчейна особенности

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

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

Децентрализованность. История транзакций хранится у каждого участника на жестком диске, а не на каком-то главном сервере.

Анонимность. Для работы в блокчейне не нужно раскрывать свою личность.

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

Безопасность. Никто не подделает и не подменит зафиксированную в блокчейне информацию. Можно быть уверенным, что она достоверна.

Посмотрите видео с наглядным объяснением блокчейна на примере биткоинов.

Как блокчейн связан с биткоинами

Криптовалюты — это частный случай применения блокчейна, продукт на его основе. Впервые блокчейн использовали в платежной системе Bitcoin, благодаря которой о технологии узнал весь мир. Bitcoin создал неизвестный программист (или группа программистов) Сатоси Накамото в 2008 году. Вместе с запуском платформы Накамото опубликовал документ, который описывал математические и идейные принципы системы. Он хотел, чтобы люди переводили деньги друг другу напрямую, без банков и других посредников.

Первое время криптовалюта и майнинг были увлечением небольшого сообщества программистов, пароли к кошелькам с тысячами биткоинов беззаботно выбрасывали вместе со старыми ноутбуками, майнили на обычных компьютерах, а ценность биткоина была практически нулевой. Первая покупка за криптовалюту произошла в 2010 году: программист Ласло Ханьеш купил две пиццы за 10 тысяч биткоинов. За семь лет курс биткоина вырос в 650 тысяч раз — на момент написания материала он колебался в районе 2,6 тысячи долларов за одну монету.

Как и за счет чего работает блокчейн

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

Майнеры

Обеспечивают работу блокчейна. Они собирают последние транзакции, проверяют их, организуют в блок и соединяют с предыдущей цепочкой блоков. Для этого они решают криптографические задачи — создают уникальные коды (хэш), которые шифруют транзакции в одном блоке и связывают его с предыдущими. На майнерах держится безопасность блокчейна. Взломать блокчейн и изменить записанную информацию возможно: для этого нужно объединить мощности не менее 51% майнеров системы (так называемая «атака 51%»). Но это маловероятно, потому что потребуются гигантские вычислительные ресурсы, и ни одна цель такой атаки себя не окупит. Кроме того, чем старше блок, тем сложнее его подделать, поскольку придется перешифровать все блоки после него.

Аудиторы

Люди, которые хранят у себя всю историю транзакций (вся цепочка блоков сети Bitcoin занимает 122 гигабайта), проверяют работу майнеров и распределяют нагрузку по сети.

«Легкие» клиенты

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

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

© ybrikman.com

Можно ли узнать, кто и кому перевел биткоины

Чтобы переводить криптовалюту, нужно создать специальный кошелек. Человек получит два ключа: публичный и приватный. Первый используется для перевода денег, как номер банковской карты. Таких ключей можно сгенерировать сколько угодно и открыто их передавать. Приватный ключ — что-то вроде ПИН-кода, его никому нельзя сообщать. Эти два ключа и есть весь биткоин-кошелек. Для получения или передачи биткоинов не нужно открывать личные данные, поэтому отследить человека, который заработал на продаже биткоинов, невозможно. Если государство соберется обложить налогом прибыль от криптовалютных доходов, ему нужно узнать, кто переводил и получал биткоины. Как это сделать — неизвестно.

Сколько зарабатывают майнеры

Майнер получает вознаграждение за собранный блок — криптовалюту системы, в которой работал: биткоины (BTC), лайткоины (LTC), эфир (ETH) и прочие. Например, в системе Bitcoin плата за созданный блок составляет 12,5 биткоина (около 31 тысячи долларов). Но майнеров больше, чем новых блоков, поэтому награду получает тот майнер, который сформировал блок первым. Из-за этого между майнерами постоянно идет соревнование на скорость вычислительных процессов. Майнеры используют компьютерное оборудование огромной вычислительной мощности, которое может занимать целые ангары, и конкуренция среди них очень высокая.

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

Подробности по теме

Как устроен первый биткоин-обменник и зачем он нужен москвичам

Как устроен первый биткоин-обменник и зачем он нужен москвичам

Что еще можно делать на основе блокчейна

На основе технологии можно создать любую систему, где передается информация, требуется свобода доступа и гарантируется достоверность. В 2014 году канадский программист российского происхождения Виталик Бутерин создал блокчейн-систему Ethereum. В ней применяются умные контракты, которые выполняют договоренности после того, как выполнены заданные условия. Поэтому можно договариваться и не бояться, что партнер обманет. Соблюдение договоренностей в умных контрактах обеспечивает математика, поэтому для договора не нужно участие третьей стороны, которая возьмет значительную комиссию: юриста, банка, корпорации, государства занимает алгоритм. Защиту договора обеспечит шифрование и прозрачность системы. Если блокчейн называют вторым поколением интернета, то умные контракты — вторым поколением блокчейна.

С умным контрактами можно создавать более сложные системы, чем просто надежные хранилища информации. Например, платформу, которая без единой бумажки подтвердит информацию о человеке при оформлении ипотеки, или платформу для голосования, на которой никто не сможет подтасовать результаты и голосовать дважды, или систему, в которой музыканты продают альбом напрямую слушателю — без дистрибьюторов, лейблов и сервисов, — а полученные деньги автоматически распределяются, как договорились все участники: 50% музыкантам, 10% маркетологам, 10% продюсеру, 5% дизайнеру и так далее. Умные контракты пригодятся для общения устройств интернета вещей. Например, с ними подключенный к интернету холодильник составит список покупок и отправит его в магазин. Армия интернета вещей, которая, как обещает агентство Gartner, к 2020 году вырастет в два раза, до 20,4 миллиарда устройств, будет общаться аналогичным образом.

Подробности по теме

Как русский программист Виталик Бутерин собирается изменить мировую экономику

Как русский программист Виталик Бутерин собирается изменить мировую экономику

Как к блокчейну и криптовалютам относятся в России

Элина Сидоренко

Руководитель рабочей группы в Государственной думе по оценкам рисков оборота криптовалюты

«Сейчас криптовалюта находится вне правового поля, то есть она не запрещена и не разрешена, если только связанная с ней деятельность не относится к отмыванию преступных доходов или финансированию терроризма. Майнинг и транзакции пока никак не регулируются. Совместно с Центробанком, Росфинмониторингом и Госдумой мы готовим законопроект, который даст юридическое определение криптовалюте и создаст какие-то рамки ее обращения. Речь пока идет не о частностях — биткоине, эфире или национальной криптовалюте, — а об общей легализации. А детальная регламентация, скорее всего, произойдет через четыре-пять лет, когда станет окончательно ясно, что такое криптовалюта и как она может применяться.

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

Добавлю, что после изменения регулирования криптовалют сложившийся рынок обменников должен будет измениться в соответствии с новыми правилами. Кто первый под них подстроится, займет неплохое место под солнцем, потому что условия будут очень лояльными. Например, возможно, что налогообложение по этому виду деятельности на начальных этапах будет нулевым. Это обусловлено тем, что многие в нашей группе считают, что с помощью криптовалют можно привлечь в Россию большие активы».

Что изменится благодаря блокчейну в первую очередь

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

Ринат Билялов

Начальник отдела разработки Центра технологических инноваций в «Сбербанк-Технологиях»

«Мы исследуем и пилотируем технологию блокчейна в разных сценариях и сферах применения. К примеру, на стадии пилотов находятся проекты «Сбербанк-Доверенности» и «Онкострахование». Первый проект позволяет заверять документы без посредничества третьей стороны, например сделки или изменения прав собственности. В обычных условиях потребовалось бы участие доверительной стороны — нотариуса, в блокчейне соблюдение и неизменность договоренностей гарантируется самой технологией. Второй, «Онкострахование», будет помогать осуществлять обмен данными между страховыми компаниями и клиниками, то есть информация, которая будет добавляться в медицинские карточки застрахованных людей, будет автоматически поступать и в страховую (если, конечно, клиент даст на это согласие). Это позволит мгновенно рассчитывать тарифы при оформлении страховки или сообщить о необходимости выплаты, если произошел страховой случай. Отпадет необходимость беготни с бумажками для подтверждения состояния здоровья или его изменения, а выплаты будут осуществляться автоматически».

Что блокчейн даст простому человеку

Дон Тапскотт говорил, что блокчейн создаст настоящую экономику совместного потребления. По его мнению, Uber и Airbnb только делают вид, что работают на принципах совместного потребления, а на самом деле перепродают услуги частников. Блокчейн даст продавцам и покупателям работать напрямую и не платить посредническую комиссию, поскольку соблюдение договоренностей гарантируют умные контракты, а не корпорации. Например, из-за блокчейна исчезнут компании-посредники, которые переводят деньги за границу. Также блокчейн сохранит анонимность человека в интернете и не даст компаниям вроде «Яндекса» и Google зарабатывать на его данных.

Каждый день заботимся о вашем досуге: плейлисты, мемы, громкие темы и их обсуждения. Будьте с нами во «ВКонтакте».

daily.afisha.ru

Blockchain (блокчейн) что это такое простыми словами технология транзакций

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

Блокчейн что это такое простыми словами

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

технология блокчейн

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

Основы технологии Blockchain

Блокчейн – как мы уже сказали, построен из цепочки блоков, где каждый блок непосредственно связан с предыдущим блоком. Каждый блок имеет в себе запись. Новые блоки всегда создаются строго в конце цепочки.

пример технологии блокчейн

В такой вот простой цепочки блоков заключены три главных принципа работы всей технологии блокчейн:

  • Открытость технологии
  • Распределенность
  • Защищенность

У каждого пользователя Blockchain хранится копия всей цепочки блоков, тем самым все пользователи образуют между собой общую сеть. Именно из за этого практически невозможно взломать или даже выключить блокчейн. Почему практически? Потому что пока работает хотя бы один компьютер в сети блокчейн, то эту сеть невозможно выключить.

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

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

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

Почему именно блокчейн технология, а не что-то другое

А что вы можете предложить на замену? На наш взгляд, Сатоши Накамото внедрил технологию Blockchain в криптовалюту Bitcoin не зря, ведь защита оказалась на столько прозрачной и в то же время крепкой, что просто уже и вариаций выбора более другой технологии нету.

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

Как устроена сеть Blockchain

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

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

сеть блокчейн

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

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

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

Подведем итоги

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

Технология блокчейн подробно простыми словами

5 (100%) 2 оценок

u2btc.ru

Блокчейн схема: простыми словами о сложном

Сейчас очень часто можно услышать, что блокчейн схема в самое ближайшее время изменит наш мир, сделает его гораздо более эффективным и совершенным. Из этого теоретически следует, что всё, что мы имеем сейчас, является допотопным и архаичным, как паровая машина. Впору разобраться, что же, по сути, представляет из себя блокчейн.

Во все времена ничто не ценилось так дорого (и не продавалось столь дешево), как честность. Залогом принятия корректных решений является пользование исключительно достоверными данными. Но как быть уверенным в информации, которая становится всё противоречивее, и в её массиве становится всё больше фейковых данных? С этой проблемой человечеству помогает справляться технология блокчейн, схема работы которого позволяет устранять ложные сведения на этапе самого начала и обмена этими самыми данными.

Биткоин и блокчейн

Обычно о blockchain говорят с привязкой к криптовалюте. На этой привязке и мы остановитмся поподробнее.

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

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

Но как же пользоваться этими числами? Как сделать так, чтобы у одного биткоина не появилось множества дубликатов? Как сохранить их уникальность/идентичность? Здесь-то как раз и нужен блокчейн, схема которого и разбирается далее.

Централизованная система подтверждений

Сейчас проблема электронных расчётов традиционными деньгами решается посредством банковских подтверждений. Если клиент банка «А» желает перевести средства со своего счёта на счёт другого клиента в банке «Б», то дорожная карта процесса будет выглядеть так:

  • После получения ордера от своего клиента банк сверяет наличие заявленных в ордере средств с состоянием его счёта.
  • Далее состояние счёта клиента уменьшается на величину транзакции, одновременно с этим, на ту же сумму увеличивается корсчет банка А в системе межбанковских расчётов.
  • Следом корсчёт банка А на сумму транзакции уменьшается, а банка Б увеличивается на ту же самую цифру.
  • Наконец корсчёт банка Б худеет, а расчетный счёт клиента банка Б подрастает на величину перечисления.

Всё просто. Однако во всех этих движениях присутствует одна важная операция – проверка. На каждом этапе движения средств либо служащие банковской системы, либо специальные компьютерные программы (сейчас программы практически повсеместны, а перечисленные операции происходят почти синхронно) сверяют наличие необходимой суммы на соответствующем счёте. Если где-то перечисление меньше остатка, то цепочка переводов останавливается и «разматывается» назад. Роль проверяющих в безналичном обороте классических денег выполняют все участники банковской системы, которых к этому обязывает государство посредством законов.

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

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

Но как же быть с биткоином и другими криптовалютами? Никто централизованно не осуществляет его эмиссии. А кто же может взяться за проверку его подлинности и корректного учёта? Блокчейн в случае с биткоином нужен именно для отслеживания корректности транзакций с ним.

Как работает блокчейн

Представьте, если бы на каждой купюре (скажем, 100 рублёвой) записывались бы все транзакции, совершенные с ней, очень скоро, наверное, каждая такая купюра состояла бы из нескольких томов, по сравнению с которыми собрание сочинений В.И.Ленина было бы детской книжкой-малышкой.

Однако если валюта представляет собой электронную запись, то есть программный код, то и цепочку сведений о транзакциях также можно «прицепить» к записи самого биткоина. Если далее всё это зашифровать, затем пару раз заархивировать, а напоследок закриптовать с помощью мощных кодирующих программ, то финальный результат уложится, например,… в 35 символов. Как раз именно такую длину имеет максимальный крипто-код биткоина.

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

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

Традиционная банковская система корректность перечисления удостоверяет институтами, которые, к тому же, могут ошибаться или же их можно обмануть. Блокчейн подтверждается другими блокчейнами, которые участвовали в его истории (т.е. формировали его цепочку – «чейн»). Таким образом:

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

Схема работы блокчейн (последовательность событий)

Разумным представляется компактно обозначить этапы работы блокчейн, что называется, в действии:

  • Всё начинается с верификации (со стороны пользователя) подтверждения на транзакцию. Этим пользователь активирует работу всей системы.
  • Далее транзакция собирается в блок, который имеет свое изначальное состояние (т.е. адресацию и время) и предполагаемое конечное (в случае, если транзакция будет одобрена).
  • Производится рассылка указанного блока всем участникам для верификации данных изначального состояния блока.
  • Все упомянутые участники, получая данные о предполагаемой транзакции, не только подтверждают корректность начального состояния блока, но и записывают данные о блоке в свою цепочку. Таким образом, нет единого места, где хранится база данных об операциях. Она содержится везде.
  • После подтверждения блока, участниками подтверждается вся цепочка. Транзакция получает путёвку в жизнь и совершается.

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

Сферы применения

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

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

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

Примеры работы блокчейна

Медицина

Ведение единой истории болезни пациента с автоматическим подтверждением квалификации различных лечащих врачей.

Формирование технологических процессов и научные исследования

Многократные изменения результатов в зависимости от вводных условий – серьёзнейшая проблема исследований. Блокчейн позволит значительно оптимизировать этот процесс (в качестве блока выступают ранее достигнутые результаты).

Управление централизованными системами

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

Электронный документооборот

Что может быть насущнее для любого общества (даже самого примитивного), чем сохранность прав собственности. Криптомонеты – далеко не единственные объекты, которые нуждаются в гарантиях уникальности. Обычное свидетельство о собственности, порой, бывает дороже целого миллиона таких виртуальных монет. Гарантия невнесения ложных данных – наиболее насущная задача при формировании таких документов. Применение блокчейн при обороте правоустанавливающих документов – залог их бесспорной достоверности (применение этой технологии способно полностью вытеснить из жизни такое понятие, как «чёрный рейдерский захват»).

Более того, эксперты рассматривают блокчейн, как основу для развития искусственного интеллекта – разветвлённого и децентрализованного

Резюме

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

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

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

Правда, не все на это согласны. Многие правительства видят в сочетании независимой от их действий валюты и блокчейна угрозу собственному суверенитету (когда благосостояние граждан невозможно будет никак перераспределить искусственно). Как бы то ни было, процесс работы блокчейн запущен, и остановить его представляется возможным, если будет создано нечто, превосходящее эту технологию!

cripto24.ru

Отправить ответ

avatar
  Подписаться  
Уведомление о