раткое руководство по технологии блокчейн | ЂVostokCapitalї

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

—просите у 10 человек: Учто такое технологи€ блокчейнФ, и вы получаете 10 разных ответов Ч даже среди специалистов в области криптовалют. Ќаилучшим подходом к формированию истинного понимани€ блокчейна €вл€етс€ поэтапное понимание лежащих в его основе технологий.

ѕонимание 3 основных технологий, лежащих в основе Ѕиткойна

ѕоэтому в этой статье € рассмотрю три основных составл€ющих технологии блокчейн: собственно блокчейн, одноранговые сети и механизмы достижени€ консенсуса. Ѕиткойн не смог бы существовать, если бы не существовало хот€ бы одной из этих составл€ющих. ЌачнЄм с собственно блокчейна.

≈сли вы не можете объ€снить что-то просто и доходчиво, значит, вы сами недостаточно хорошо это понимаете Ч јльберт Ёйнштейн

Ёйнштейн объ€сн€ет технологию блокчейн, 1422 год до нашей эры.

Ёйнштейн объ€сн€ет технологию блокчейн, 1422 год до нашей эры.

1. „то такое, собственно, блокчейн

¬кратце, блокчейн Ч это всего лишь способ структурировани€ данных. ¬от и всЄ. Ёто реестр Ч файл, который хранит учЄтные записи.

Ётот файл можно сравнить с книгой, котора€ никогда не заканчиваетс€.

Ќа каждой странице книги имеетс€ информаци€ и номер страницы внизу. Ѕлагодар€ этому номеру страницы, вы сразу же узнаете какому месту в книге относитс€ данна€ страница. —траница 49 вполне очевидно находитс€ между страницами 48 и 50.

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

¬ажной особенностью блокчейнов €вл€етс€ то, что они используют криптографию, благодар€ которой мы можем заметить была ли изменена кака€-либо информаци€ на любой странице в книге. Ёто свойство делает блокчейн идеальной структурой данных, позвол€ющей эффективно отслеживать записи о любых активах.

¬озможности применени€ блокчейна

¬озможности применени€ блокчейна

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

ѕоскольку блокчейн примен€етс€ дл€ отслеживани€ движени€ всех биткойнов с момента их создани€, этот реестр можно всегда проверить на предмет кому и сколько принадлежит биткойнов в любой момент времени. Ђ товладеет чемї в любой момент времени называетс€ текущим Ђсосто€ниемї блокчейна.

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

Ёто означает, что, если € хочу проверить, провЄл ли кто-либо транзакцию в мой адрес или нет, € должен иметь возможность проверить состо€ние блокчейна. „тобы это сделать, этот реестр должен быть общедоступным. «десь вступают в игру одноранговые (peer-to-peer) сети.

2. ѕонимание роли одноранговых сетей

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

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

Ёти компьютеры называютс€ Ђузламиї, и они работают каждый в одноранговой сети, чтобы гарантировать безопасность и актуальность данных блокчейна.  аждый из этих узлов хранит полную, обновлЄнную версию блокчейна.  аждый раз, когда добавл€етс€ новый блок, каждый узел в сети обновл€ет свою копию блокчейна. ѕрименение одноранговой сети имеет р€д преимуществ:

  • ¬сегда можно проверить состо€ние блокчейна самосто€тельно с помощью блокчейн обозревател€;
  • Ќе нужно полагатьс€ на какую-либо одну сторону, чтобы узнать истинное состо€ние блокчейна;
  • Ќе требуетс€ полагатьс€ на один сервер, чтобы удостоверитьс€ в безопасности данных блокчейна;
  • ƒл€ взлома блокчейна злоумышленнику придЄтс€ взломать тыс€чи компьютеров одновременно вместо одного сервера;
  • ћожно быть уверенным, что данные блокчейна никогда не будут удалены, потому что их придЄтс€ удалить со всех узлов.
ћодель клиент-сервер против одноранговой сети

ћодель клиент-сервер против одноранговой сети

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

Ќапример, как мы можем знать, что данные (транзакции) в блокчейне верны?  ак можно знать, что в блоках отсутствуют недействительные транзакции? » если имеютс€ разные версии блокчейна, как узнать, котора€ из них представл€ет истинное состо€ние блокчейна?

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

3. ѕонимание механизма достижени€ консенсуса

ѕиринговый механизм уже примен€лс€ в 1999 году музыкальным онлайн-сервисом Napster.

Ѕлокчейн также существовал ещЄ до Ѕиткойна.

√ениальность предложени€ —атоши Ќакамото, таинственного анонимного основател€ Ѕиткойна, заключаетс€ в идее объединени€ первых двух компонентов с механизм достижени€ консенсуса на основе криптографии. »менно в механизмах достижени€ консенсуса и сосредоточена насто€ща€ маги€: она позвол€ет узлам одноранговой сети работать вместе без необходимости в знании друг о друге или доверии к друг другу.

Ђ÷ель алгоритма достижени€ консенсуса заключаетс€ в том, чтобы обеспечить безопасное обновление состо€ни€ в соответствии с некоторыми конкретными правилами переходов состо€ний, где право на выполнение переходов состо€ни€ распредел€етс€ между ( Е ) пользовател€ми, которым предоставл€етс€ право на коллективное выполнение переходов состо€ний посредством определЄнного алгоритмаї, Ч ¬италик Ѕутерин

“еперь, если вы ещЄ не совсем пон€ли идею, механизм достижени€ консенсуса Ч это просто набор правил, которые согласовываютс€ узлами сети посредством программного обеспечени€ сети. Ёти правила обеспечивают, чтобы узлы сети работали должным образом и оставались синхронными.

ѕротокол алгоритма достижени€ консенсуса устанавливает следующие правила:

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

ƒобавление блоков в цепочку блоков

–азличные блокчейны по-разному добавл€ют блоки к цепочкам блоков. Ќаиболее известным механизмом достижени€ консенсуса €вл€етс€ ƒоказательство –аботы (Proof of Work, PoW)

ѕервое правило ƒоказательства –аботы заключаетс€ в том, что один блок должен добавл€тьс€ к блокчейну в среднем каждые дес€ть минут.

–еализующий это правило процесс называетс€ майнингом. ”злы, которые пытаютс€ добавить блок в цепочку (называютс€ майнерами) используют вычислительную мощность своих компьютеров, чтобы попытатьс€ решить криптографическую Ђголоволомкуї. ѕравила предполагают, что только тогда, когда эта головоломка будет решена, блок может быть добавлен в цепочку.

ћайнер, который решает головоломку, и, следовательно, Ђдобываетї новый блок дл€ добавлени€ в цепочку, вознаграждаетс€ сетью. ѕри этом создаЄтс€ заранее определЄнное количество новых монет, которые предоставл€ютс€ майнеру вместе с операционными затратами по всем транзакци€м, содержащимс€ в блоке.

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

”становка дл€ биткойн-майнинга

ћайнинг-ферма. ƒл€ того чтобы получить достаточно вычислительной мощности, должно работать много графических процессоров.

ƒоказательство –аботы в сети Ѕиткойн Ч не единственный механизм достижени€ консенсуса. ƒоказательство ƒоли (Proof of Stake, POS) также широко используетс€ в распределенных реестрах. ¬ механизме ƒоказательства ƒоли майнер может Ђделать ставкиї своими монетами дл€ получени€ шанса быть выбранным сетью дл€ добавлени€ следующего блока. ¬ каком-то смысле делающий ставку говорит: Ђ—тавлю мои монеты на то, что € правильно добавлю этот блокї. » если он солжЄт, то потер€ет свои монеты.

ѕродолжаетс€ дискусси€ относительно того, какой механизм достижени€ консенсуса лучше. ¬сЄ-таки несмотр€ на то, как создаЄтс€ блок, другие узлы в сети всЄ же должны иметь возможность решать €вл€етс€ ли блок действительным или нет.

ƒействительность блоков

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

”злы добав€т в цепочку вновь добытый блок только в том случае, если он будет соответствовать правилам, установленным механизмом достижени€ консенсуса. ѕрограммное обеспечение, на котором работают узлы, провер€ет действителен блок или нет. Ќедействительный блок будет отклонЄн.

≈стественно, блок €вл€етс€ таким же действительным, как и содержащиес€ в нЄм транзакции. Ќа примере сети Ѕиткойн можно показать, что правила протокола устанавливают, что ни один узел не может отправить биткойны, которые он не получил от кого-то ещЄ или в результате Ђдобывани€ї блока.

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

“еперь, допустим, € получил 1 биткойн, который € позже отправл€ю јлисе. «атем € пытаюсь отправить тот же биткойн Ѕобу.  ак только блок с моей первой транзакцией будет добавлен в цепочку, все узлы обнов€т блокчейн, чтобы отразить, что у мен€ больше нет этого биткойна. Ћюбой вновь Ђдобытыйї блок, который будет содержать мою транзакцию с Ѕобом, будет просто отклонЄн узлами. ѕрограммное обеспечение узлов определ€ет, что блок не соответствует правилам, таким образом, узлы не добавл€ют этот блок и не обновл€ют блокчейн.

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

 ак разрешаютс€ конфликты при определении истинности

ћожет случитьс€ так, что случайно, два майнера одновременно добав€т в цепочку действительные блоки. ѕредставьте, что часть узлов прин€ла один действительный блок, а друга€ часть прин€ла другой блок. ѕерва€ группа включила блок с моей транзакцией в адрес јлисы, а друга€ включила блок с моей транзакцией в адрес Ѕоба. “еперь у нас вдруг возникает два разных состо€ни€ блокчейна в одно и то же врем€!

ћы называем это (непреднамеренным) Ђветвлениемї: блокчейн разветвл€етс€ на две разных цепочки.  то получил мой биткойн, Ёлис или Ѕоб?  акой из двух цепочек €вл€етс€ Ђистиннымї блокчейном?

 ак правило, все консенсусные протоколы решают эту проблему простым правилом: выигрывает сама€ длинна€ цепочка.

¬изуализаци€ ветвлени€ блокчейна

¬изуализаци€ ветвлени€ блокчейна (нормальное случайное ветвление).

 огда возникает непреднамеренное ветвление блокчейна, одни майнеры начинают добычу на одной цепочке, а другие Ч на другой. Ќеизбежно, на одной цепочке будет больше майнеров, чем на другой, в результате, новые блоки будут добавл€тьс€ в эту цепочку быстрее. ќстальные майнеры затем перейдут на более длинную цепочку, и ответвлЄнна€ цепочка отомрЄт. Ќикакого ущерба основной цепочке не возникнет.

ќткуда мы знаем, что именно так всЄ и произойдЄт?

“ак происходит оттого, что майнеры €вл€ютс€ экономическими субъектами, которые действуют в своих личных интересах. ћайнер не заинтересован в Ђдобыванииї на ответвлЄнной цепочке, зна€, что она отомрЄт. “ранзакции на ответвлЄнной цепи никогда не регистрируютс€ на основной цепочке, что означает, что майнеры, добывающие блоки на ответвлЄнной цепи, не получат вознаграждение за свою работу. ƒл€ майнера альтернативна€ стоимость добывани€ блоков, которые не будут включены в основную цепочку, слишком высока Ч поэтому незачем тратить на выполнение этой работы своЄ врем€ и деньги.

¬ редких случа€х на ответвлЄнной цепочке может оказатьс€ большое количество майнеров или майнеров со значительными вычислительными ресурсами. ¬ этом случае может потребоватьс€ некоторое врем€, прежде чем станет €сно, кака€ же цепочка €вл€етс€ основной. ∆итейска€ мудрость подсказывает, что по этой причине разумно переждать 6 блоков, перед тем как считать транзакцию подтверждЄнной.

¬изуализаци€ редко случающегос€ расширенного ветвлени€ блокчейна

¬изуализаци€ редко случающегос€ расширенного ветвлени€ блокчейна. ¬ ответвлении почти никогда не бывает больше 5 блоков.

ѕравило, по которому выигрывает сама€ длинна€ цепь, в сочетании с тем фактом, что требуетс€ огромна€ вычислительна€ мощность дл€ добавлени€ блоков в цепочку, делает блокчейн неверо€тно безопасным. ѕрактически единственный способ атаковать сеть Ч это вернутьс€ к какому-либо блоку в блокчейне, ответвить цепочку и начать Ђдобыватьї на ней новые блоки. ќднако, дл€ этого злоумышленнику придЄтс€ переделать всю работу, проделанную майнерами с момента ветвлени€, и Ђдогнатьї основную цепочку. Ќе располага€ большей вычислительной мощностью, чем совокупна€ хэш-мощность сети, достичь этого просто невозможно. ѕроще говор€, электроэнерги€ и графические процессоры, необходимые дл€ такой операции, были бы слишком дорогосто€щими.

«аключение

¬сЄ вышесказанное следует рассматривать как весьма краткое введение в работу распределенных реестров. “еперь вы можете пон€ть, почему Ђблокчейнї Ч это не совсем точное название дл€ распределенных реестров, которые мы видим сегодн€.

ќднако, в следующий раз, когда кто-то упом€нет о блокчейнах на вечеринке, пожалуйста, не повтор€йте то, о чЄм € рассказал сегодн€, а просто скажите: ЂЁй, мужик, блокчейн Ч это всего лишь способ структурировани€ данных. я думаю, что вы имеете в виду распределенный реестр, примен€емый дл€ ведени€ учЄта транзакций, размещЄнный на одноранговой сети узлов-майнеров, чьЄ взаимодействие осуществл€етс€ и регулируетс€ консенсусным протоколом, который устанавливает правила дл€ этой сети.ї

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

¬ следующей статье € подробнее расскажу о роли современной криптографии в блокчейне и механизме достижени€ консенсуса.

»сточник

Ќазад к списку