- Краткое пошаговое руководство по технологии Blockchain
- Понимание трех основных технологий, лежащих в основе Bitcoin.
- 1. Понимание собственно блокчейна
- 2. Понимание роли одноранговых сетей
- 3. Понимание механизма консенсуса
- Добавление блоков в блокчейн
- Проверка блоков
- Как разрешаются конфликты
- Вывод
- Блокчейн Биткоина — что это такое, принцип работы
- Что такое блокчейн Биткоина?
- Принцип работы блокчейна на примере
- Виды блокчейна
- Алгоритм работы блокчейна Биткоина
- Суть технологии блокчейна Биткоина
- Плюсы и минусы блокчейна Биткоина
- Сферы применения блокчейна
Краткое пошаговое руководство по технологии Blockchain
Понимание трех основных технологий, лежащих в основе Bitcoin.
Спросите 10 человек, «что такое технология blockchain?», и вы получите 10 разных ответов, — даже в самой крипто-тусовке. Лучший подход к формированию истинного понимания blockchain заключается в понимании базовых его технологий шаг за шагом.
Поэтому в этой статье мы рассмотрим три основных компонента технологии blockchain: собственно блокчейн, одноранговые (пиринговые) сети и механизм консенсуса. Bitcoin не сможет существовать, если какой-либо из этих компонентов отсутствует. Начнем с блокчейна.
«Если вы не можете объяснить это просто, вы не понимаете это достаточно хорошо». — Альберт Эйнштейн
1. Понимание собственно блокчейна
Попросту говоря, блокчейн — это всего лишь способ структурирования данных. Вот и всё! Это регистр: файл, который отслеживает записи бухгалтерского учета.
Этот файл сравним с книгой, которая никогда не заканчивается.
На каждой странице книги записана информация и номер страницы внизу. По номеру страницы вы сразу же знаете, где эта страница находится в книге. Очевидно, что страница 49 располагается между страницами 48 и 50.
Как и страницы книги, блоки блокчейна заполняются информацией. Хотя блоки не имеют точных номеров, они имеют метку времени, которая выполняет ту же самую функцию. Новый блок всегда добавляется после блока с самой последней меткой времени. Таким образом формируется цепочка.
Замечательная вещь в блокчейнах заключается в том, что они используют криптографию, чтобы отследить когда какая-либо информация на любой странице в книге изменилась. Это свойство делает блокчейн хорошей структурой данных, чтобы отслеживать сохранность записи чего-либо ценного и важного.
В блокчейне Биткоина блоки содержат информацию о транзакциях. В каждом блоке указано, кто и кому передает сколько-то биткоинов.
Поскольку блокчейн Биткоина использовался для отслеживания движения всех биткоинов с момента их создания, всегда можно проверить и точно знать, кому и сколько принадлежит биткоинов. «Кто владеет чем» в любое время, — это то, что мы называем текущим «состоянием» блокчейна.
Транзакция происходит только после ее включения в блок и добавления блока в цепочку. Следовательно, когда блок добавляется в цепочку, состояние блокчейна обновляется. В конце концов, биткоины перемещены.
Это означает, что если я хочу проверить, действительно ли кто-то совершил транзакцию на мой адрес или нет, я должен проверить состояние блокчейна. Чтобы это сделать, книга должна быть общедоступной. Здесь на помощь приходят одноранговые сети.
2. Понимание роли одноранговых сетей
Чтобы использовать блокчейн в качестве бухгалтерской книги для записи транзакций, необходимо иметь возможность проверить блокчейн на предмет, совершена ли транзакция на ваш адрес или кошелек.
Если бы блокчейн хранился только на одном компьютере и вдруг оказалось бы, что он отключенный, то это было бы очень неприятно, если не сказать больше. На самом деле, текущее состояние блокчейна загружается, синхронизируется и предоставляется многими компьютерами во всем мире.
Эти компьютеры называются «узлами» или «нодами» ( nodes), и они работают совместно в одноранговой ( peer-to-peer) сети, чтобы гарантировать, что блокчейн является безопасным и актуальным. Каждый из этих узлов хранит полную, обновленную (актуальную) версию blockchain. Каждый раз, когда добавляется новый блок, все узлы обновляют свой блокчейн. Использование одноранговой сети имеет определенные преимущества:
- Всегда можно проверить состояние блокчейна, используя программу-проводник ( blockchain explorer).
- Не надо полагаться только на одну сторону, чтобы знать истинное состояние блокчейна.
- Не надо полагаться на безопасность одного сервера, чтобы знать, что блокчейн защищен.
- Злоумышленнику придется одновременно взломать тысячи компьютеров, а не один сервер.
- Всегда есть уверенность, что блокчейн никогда не исчезнет, потому что для этого его надо будет уничтожить всем узлам.
Это все очень важно, но вышеизложенное не означает, что блокчейн теперь вдруг оказывается достаточно надежным, чтобы использоваться для хранения транзакций.
Например, как узнать, что все транзакции в блокчейне верны? Как узнать, что в блоках нет недействительных транзакций? И если есть разные версии blockchain, откуда мы узнаем, которые из них являются истинными?
Все эти опасения весьма изобретательно решаются консенсусным механизмом, использование которого стало возможным, в первую очередь, благодаря одноранговой сети.
3. Понимание механизма консенсуса
Механизм одноранговой сети использовал еще в 1999 году Napster ( файлообменная пиринговая сеть).
Гениальный Сатоши Накамото, загадочный и анонимный основатель Биткоина, объединил блокчейн с консенсусным механизмом, основанным на криптографии. Консенсусный механизм — это то место, где происходит настоящая магия: он позволяет узлам в одноранговой сети работать вместе, не зная и не доверяя друг другу.
«Целью консенсусного алгоритма является обеспечение безопасного обновления состояния в соответствии с некоторыми конкретными правилами изменения состояния, когда право на выполнение изменения состояния распределяется среди (…) пользователей, которым предоставляется право коллективно выполнять изменение через алгоритм» — Виталик Бутерин
Теперь, если вы не совсем это поняли, механизм консенсуса — это просто набор правил, который согласовывается узлами в сети, запуская программное обеспечение сети. Эти правила обеспечивают, чтобы сеть работала по назначению и оставалась синхронизированной.
Консенсусный протокол устанавливает правила:
- Каким образом блоки должны быть добавлены в блокчейн,
- когда блоки считаются действительными, и
- как разрешаются конфликты.
Добавление блоков в блокчейн
Различные блокчейны добавляют блоки в свои цепи по-разному. Наиболее известным механизмом консенсуса является Доказательство выполненной работы (PoW) Биткоина.
Первое правило PoW состоит в том, что один блок должен быть добавлен в блокчейн, в среднем, каждые десять минут.
Процесс, способствующий этому, называется «майнинг». Узлы, которые пытаются добавить блок в цепочку (называемые «майнерами»), используют вычислительную мощь своих компьютеров, чтобы попытаться решить криптографическую «головоломку». Правила утверждают, что только когда эта головоломка решена, блок может быть добавлен в блокчейн.
Майнер, который решает задачу, и «майнит» (добывает) новый блок, чтобы добавить его в блокчейн, вознаграждается сетью. Ему предоставляется некое предопределенное количество новых монет вместе со всеми транзакционными издержками всех транзакций, содержащихся в этом новом блоке.
Впоследствии все остальные майнеры начинают добывать следующий блок.
Доказательство работы (PoW) Биткоина — не единственный механизм консенсуса. Доказательство ставки (PoS) также широко используется в распределенных книгах. В механизме «Доказательство ставки» можно «сделать ставку» на свои монеты, чтобы получить возможность добавить следующий блок в блокчейн. В некотором смысле, делающий ставку говорит: «Я ставлю свои монеты, что я правильно добавляю этот блок». Если он солжет, то потеряет свои монеты.
Существует широкая дискуссия о том, какие консенсусные механизмы являются лучшими. Тем не менее, независимо от того, как создается блок, другие узлы в сети по-прежнему должны иметь возможность определить, действителен ли этот блок или нет.
Проверка блоков
Когда майнер решает головоломку и формирует новый блок, все узлы в сети проверят, действителен ли блок, и добавят его в свою копию блокчейна. Сначала узлам необходимо достичь консенсуса относительно действительности. Только тогда сеть синхронизируется и состояние обновлений блокчейна.
Узлы будут добавлять новый созданный блок в цепочку, только если он будет следовать правилам, изложенным в протоколе консенсусного механизма. Программное обеспечение протокола проверяет, действителен ли блок или нет. Недействительный блок будет просто отклонен.
Естественно, что блок будет являеться действительным, если действительными будут все транзакции, содержащиеся в нем. Например, в протоколе Биткоина говорится, что никто не может отправлять биткоины, которые он не получил первоначально от кого-то другого или в качестве вознаграждения за майнинг блока.
Другими словами, программное обеспечение узлов проверяет все транзакции в новом блоке, имеются ли у отправителей достаточное количество биткоинов для совершения своих транзакций. Для этого узлы проверяют состояние сети Биткоина.
Теперь, допустим, я получил 1 биткоин, который затем послал Алисе. Потом я пытаюсь отправить тот же 1 биткоин Бобу. Как только блок с моей первой транзакцией в нем будет добавлен в цепочку, все узлы обновят блокчейн, чтобы отразить, что у меня больше нет этого одного биткоина. Любой новый сформированный блок, который будет содержать мою транзакцию для Боба, просто будет отклонен узлами. Программное обеспечение узлов видит, что транзакция в блоке не соответствует правилам, поэтому они не обновляют блокчейн с этим блоком.
Правила также определяют, что транзакция действительна только в том случае, если она подписана с цифровой подписью владельца биткоина. Только лицо, которое контролирует кошелек или адрес, с которого отправляется биткоин, может подписать транзакцию. Поэтому только вы можете потратить свой биткоин.
Как разрешаются конфликты
Может случиться так, что два майнера одновременно добавляют действительные блоки в блокчейн. Представьте, что часть узлов приняла один действительный блок, а другая часть приняла другой действительный блок. Первая группа включала блок с моей транзакцией Алисе, а другая включала мою транзакцию Бобу. Теперь у нас внезапно возникли два разных состояния блокчейна в одно и то же время!
Мы называем это непреднамеренным «форком» ( ‘fork’ — «вилка»): блокчейн разветвляется на две разные цепи. У кого же оказался мой 1 биткоин? У Алисы или Боба? Какая из двух ответвленных цепей блокчейна является «истинной»?
Как правило, все консенсусные протоколы решают эту проблему с помощью простого правила: выигрывают самые длинные цепочки.
Когда у нас случается непреднамеренный форк (разветвление), некоторые майнеры начнут добывать новые блоки в одной цепочке, а другие начнут добычу в другой цепочке. Неизбежно, одна из цепочек будет иметь больше майнеров, чем другая, и соответственно будет быстрее добавлять новые блоки в свою цепочку. Остальные майнеры перейдут к более длинной цепи, и другая ответвленная цепь отомрет, ее рост прекратится. При этом основной цепочке не будет нанесен ущерб.
Почему мы знаем, что это всегда произойдет?
Потому что майнеры — это экономические субъекты, которые действуют в личных интересах. Майнер не заинтересован в добыче на разветвленной цепи, зная, что она отомрет. Все транзакции (истинные транзакции) в разветвленной цепи никогда не происходили в основной цепочке, а это означает, что майнеры, которые добывали блоки на разветвленной цепи, не были вознаграждены за свою работу. Издержки майнинга блоков, которые не будут включены в основную цепочку, просто слишком высоки. И майнерам невыгодно продолжать майнинг на альтернативной ветке.
В редких случаях может произойти, что разветвленная цепь обладает значительным количеством ресурсов для добычи. В этом случае может потребоваться некоторое время, прежде чем станет ясно, какая из ответвленных цепей является основной цепью. Житейская мудрость подсказывает, что разумно ждать 6 новых блоков, чтобы действительно подтвердить транзакцию.
Правило, согласно которому побеждает самая длинная цепь, в сочетании с тем фактом, что требуется огромная вычислительная мощность для добавления блоков в цепочку, делает блокчейн невероятно безопасным. Практически единственный способ атаковать сеть Биткоина — это вернуться к какому-либо блоку в блокчейне, и начать формировать с него новую цепочку блоков. Однако, для этого злоумышленнику придется переделать всю работу, проделанную майнерами с этого блока, и догнать основную цепь. Без большей вычислительной мощности, чем вся объединенная сеть майнеров, это просто невозможно. Проще говоря, электричество и процессоры, необходимые для такой операции, будут очень дорогостоящими.
Вывод
Вышеприведенное следует рассматривать как очень краткое введение в работу распределенных регистров ( distributed ledgers).
Однако, в следующий раз, когда кто-то упоминает о блокчейнах на вечеринке, пожалуйста, не делайте того, что я только что сделал, а просто скажите: «Эй, дружище, блокчейн — это всего лишь способ структурирования данных. Я думаю, вы имеете в виду распределенный регистр, используемый для ведения записей, который размещен в одноранговой сети, состоящей из узлов и майнеров, сотрудничество которых регулируется консенсусным протоколом, который устанавливает правила сети».
Вместе с тем, возможно, настало время согласиться, что этот термин превратился во всеобъемлющую концепцию, указывающую на синтез технологий, которые делают распределенные регистры возможными.
В моей следующей статье я углублюсь в роль, которую играет современная криптография в блокчейне и механизме консенсуса.
Если это не захватывающая перспектива, тогда я не знаю, что это…
Источник
Блокчейн Биткоина — что это такое, принцип работы
- Что такое блокчейн Биткоина
- Принцип работы блокчейна на примере
- Виды блокчейна
- Алгоритм работы блокчейна Биткоина
- Суть технологии
- Плюсы и минусы блокчейна Биткоина
- Сферы применения
Блокчейн Биткоина — это непрерывная цепочка блоков, которая построена с учётом конкретных правилам и содержит информацию о проведённых транзакциях в сети. Чаще всего копии цепей блоков, которые не зависят друг от друга находятся параллельно, а их обработка производится с различных ПК.
Блокчейн — технология, на которой построен Bitcoin и другие криптовалюты. Это учётная книга, которая находится на ПК каждого пользователя сети и регулярно обновляется. В неё могут вписываться различные сведения — начиная от финансовых сделок с криптовалютами и заканчивая персональными сведениями пользователей.
Что такое блокчейн Биткоина?
Мир узнал о технологии blockchain с созданием криптовалюты Биткоин в 2009 году. Разработчиком считается некий Сатоши Накамото, личность которого не удалось установить до сегодняшнего дня.
Определение blockchain состоит из двух элементов:
- «Block» переводится, как блоки.
- «chain» — цепочка.
Блок — специальная структура, в которой отражаются сведения о проведённых транзакциях в криптовалютной сети Bitcoin. Операция относится к завершённой и подтверждённой сетью после проверки подписи и формата, а сама сделка объединяется в единое образование блочного типа. Сведения в таком блоке легко проверить, ведь в каждом последующем элементе содержится информация о прошлых блоках цепи. Все элементы объединяются в одну цепочку, имеющую сведения обо всех транзакциях, которые были совершены с момента появления Bitcoin. В начале цепи содержится первичный блок.
Блок состоит из следующих элементов:
- Заголовка. В его состав ходит личный хеш и хеш предыдущего элемента цепи. Здесь же включается хеш операций и служебные сведения.
Цепочка — группа блоков, которые расположены друг за другом и создаются тысячами майнеров, участвующими в добыче криптовалюты. Если блок удовлетворяет требованиям сети, он становится её частью и добавляется во все предыдущее блоки цепи. В процессе добавления новых блоков возможно ветвление, когда два или более элементов называют «родительским» один и тот же блок.
Во вновь появившихся блоках операции могут повторяться или различаться. Если сложность и длина цепи идентичны, выбирается блок, который появился ранее. Операции в сети, оставшиеся в «отвергнутой» ветке, переходят в статус неподтверждённых. Транзакция по переводу Bitcoin становится в очередь, а после — частью нового блока.
Принцип работы блокчейна на примере
С проведением новых транзакций блоки выстраиваются в цепочку. При создании нового блока требуется считывание сведений с прежних элементов цепи. Информация в blockchain постоянно накапливается и создаёт единую систему данных, содержащую огромную базу сведений об уже проведенных транзакциях.
Работа блокчейна похожа на торрент-сети, которые функционируют по принципу равноправия (P2P). При скачивании файла из Интернета пользователь не использует центральный ПК или общую базу данных. Сведения качаются по частям от различных участников торрент-сети.
На таком же принципе построена и технология блокчейн, где операции между участниками проводятся без посредника. Это обеспечивается тем, что пользователи объединены одной цепочкой блоков.
Принцип действия рассмотрим на примере груши. Один человек передаёт фрукт другому. Они являются участниками перемещения груши. Если получатель не видел факта передачи, он всё равно найдёт грушу в кармане. Для проведения такой операции не нужен посредник — в ней участвует только два человека. Получатель фрукта вправе передать его другому человеку и так далее. Вещь может быть любой, но суть от этого не меняется.
Если груша изображена на картинке, ситуация усложняется. Получатель не знает, передавалась ли картинка другому человеку или она сохранена в памяти телефона, загружена в Интернет и скачана миллионами людей. При проведении цифровой транзакции возникают те же вопросы.
Чтобы избежать путаницы, создаётся журнал транзакций — сделок, которые касаются «цифровой» груши. Но такой документ должен кто-то заполнять и вести. Если это будет какой-то один человек или компания, она может вносить изменения в структуру, что является недопустимым. В такой ситуации требуется другое решение.
Выход из сложной ситуации — создание копии учётного журнала для хранения на каждом из ПК пользователей. Теперь все перемещения «груши» фиксируются в каждом из вариантов журнала. При таком подходе риск обмана минимален. Никто не сможет передать другому участнику эту же грушу, ведь транзакция будет разоблачена другими участниками. Чем больше людей участвует в сети, тем точнее проверки и тем надёжнее система.
Виды блокчейна
Блокчейн бывает трёх типов:
- Публичный — цепочка блоков, которая доступна другим пользователям. Этот тип цепи применяется в Биткоине. Любой из участников допускается к записи или прочтению информации.
Сервисный — цепочка блоков доступна всем пользователям, но их количество ограничено.
Алгоритм работы блокчейна Биткоина
Блокчейн Bitcoin работает по такому алгоритму:
- Пользователь X переводит деньги пользователю Y.
Сведения об операции передаются в сеть, объединяются в блоки. Каждый элемент имеет номер и хеш прошлого блока.
Происходит рассылка блоков участникам криптовалютной сети, которые выполняют проверку.
При отсутствии ошибок осуществляется запись блока каждым участником в свой блокчейн (базу данных).
Блок добавляется к общей цепи, содержащей сведения о прошлых операциях.
Суть технологии блокчейна Биткоина
При формировании цепи важным моментом считается создание и закрытии блока. Каждый элемент цепи содержит ключ, который требует расшифровки. До этого закрытие блока не происходит. Майнеры, которые добывают виртуальные деньги, используют для этих целей процессоры, видеокарты, ASIC-чипы и другое оборудование. Последнее берёт на себя опцию вычислений для поиска хеша (подписи). После её подбора происходит закрытие блока.
Цепочка блокчейн распределена и поддерживается миллионами компьютеров по всей планете. Работу цепи обеспечивают майнеры и другие участники — узлы сети. В состав входят и полные узлы — участники, имеющие на своих ПК кошельки Биткоин с информацией обо всех транзакциях. Из-за повышения объёма занимаемой памяти количество полных узлов Биткоин снижается, что замедляет процесс обработки данных об операциях.
Надёжность работы цепочки блокчейн обеспечивают специальные алгоритмы:
- Proof-of-Work.
- Proof-of-Stake.
В блокчейне Биткоина применяется первый вариант. Принцип его действия схож с процессами, которые происходят в офисе. Если сотрудник организации не выполнил поставленную работу, ему не выдадут заработную плату. Алгоритм PoW выполняет проверку расчётов, которые делаются при создании элементов цепи. Система признаёт блок в случае, если параметр его хеша ниже подписи, поиском которой занимались майнеры. Иными словами, правильность блока вычисляется по специальному шифру, а контроль работы возлагается на полные узлы.
На формирование блока в цепи блокчейн уходит 10 минут. За это время майнеры, участвующие в добыче криптовалюты, находят подпись, а проверка выполняется без задержек по времени. Недостаток алгоритма в том, что для обеспечения его функционирования требуются огромные мощности. Как результат, за проведение транзакций взимаются комиссии. Что касается Proof-of-Stake — это обновлённый алгоритм, но применяется он в блокчейне Эфириума.
Плюсы и минусы блокчейна Биткоина
Блокчейн Биткоина имеет ряд плюсов:
- Децентрализация. Участники сети имеют равные права и способны обмениваться сведениями непосредственно друг с другом, без участия посредников.
Надёжность. Вероятность взлома злоумышленниками или замена информации в блоках исключена, что обусловлено применением шифрованных ключей.
Прозрачность. Блоки цепочки блокчейн открыты для пользователей, а транзакции легко проверить.
Универсальность. Блокчейн — уникальная технология, которая может применяться не только в финансовой сфере, но и в других областях.
Высокая скорость. Возможности блокчейн-технологии позволяют снизить время транзакций до одной минуты.
Минусы блокчейна Биткоина:
- Невозвратность. Отменить операцию, если она проведена по ошибке, не получится.
Риск атаки. Если 51 процентом цепи Биткоина будет владеть один пользователь, целостность сети нарушается.
Масштабируемость. При текущем размере блока система обрабатывает до семи операций за 1 секунду. С ростом числа пользователей этого показателя становится мало.
Сферы применения блокчейна
Технология блокчейн может использоваться не только в финансовом мире, но и ряде других сфер жизни:
- Для защиты авторства и идентификации личности.
При голосовании. Сегодня открытый реестр применяется в частных голосованиях, но технология совершенствуется, и со временем будет иметь больший масштаб.
В юриспруденции и управленческой деятельности, например, властью на местах и государственном уровне при накоплении информации о бюджетных средствах.
В секторе недвижимости — для ускорения сделок купли-продажи, хранения прав собственности на жилье.
На бирже и в сфере услуг (для проверки правильности информации).
Описание преимуществ и возможностей блокчейна может занять целую книгу, но смысл технологии и принцип работы ясен. Это цепочка с открытым кодом, которая имеет распределённую структуру и высокий уровень безопасности. Передача криптовалюты производится так же легко, как перемещение простых предметов. Сделка проходит без посредников, задержек по времени и больших комиссий. Но технологии не стоят на месте — блокчейн развивается, а его возможности уже давно вышли за пределы криптовалютной сети.
Больше о блокчейне Биткоина в видео ниже:
Источник