Разбор алгоритмов для блокчейн проектов

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

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

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

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

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

  • обеспечение автономности процесса, который ранее зависел от центральных управленческих структур;

  • справедливое распределение ресурсов, приемлемое большинством участников сообщества;

  • более демократичный и прозрачный процесс принятия решений;

  • защита информации;

  • использование ресурсов других людей для создания всеобщего блага;

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

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

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

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

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

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

Ну и наконец рассмотрим проект, который, казалось бы, можно реализовать и без блокчейна. Теоретически можно, но на практике обычно возникают проблемы с доступом к финансированию. Например, у нас есть идея запустить производство ветряной турбины нового поколения с увеличенным КПД. Многие инвесторы уже интересовались нашим проектом, но по неизвестным нам причинам в последний момент меняют свое решение не в нашу пользу. В данном случае первичное предложение монет (ICO) – это последний писк в сфере краудфандинга, и это может помочь за короткое время собрать всю необходимую нам сумму. Автономность процесса здесь уже обеспечивается базовым протоколом платформы, на которой мы собираемся проводить ICO. Допустим, мы выбрали готовый блокчейн Ethereum. Данная платформа предоставляет возможность по собственному усмотрению создать смарт-контракт, который в будущем обеспечит распределение ресурсов согласно заданным правилам. Чтобы коммерческий проект стал успешным и показал результат, ответственность за него должна находиться на как можно меньшем числе лиц, поэтому этот пункт выступает за централизацию. По сути, вся децентрализация, необходимая данному проекту, обеспечивается сторонним блокчейном. Данный гибридный вариант мы еще рассмотрим на примере различных алгоритмов консенсуса.

Теперь остановимся на конкретных алгоритмах, рассмотрев их с технической стороны. По принципу их работы, все они делятся на два блока – доказательство работы (Proof of Work), и доказательство владения долей (Proof of Stake). Все остальные алгоритмы так или иначе сгруппированы вокруг этих типов, и являются их производными. Два базовых алгоритма имеют присущий им набор свойств:

Proof of Work – самый первый алгоритм консенсуса, примененный в блокчейне Биткоина. Его суть заключается в выполнении большого количества хэш-вычислений разными компьютерами, превращаясь в некий конкурс. Основные его свойства:

Лучшая децентрализация. Хотя справедливости ради стоит отметить, что из-за распространения ASIC-устройств хэшрейт многих сетей, в частности Биткоина, находится под контролем небольших групп майнеров.

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

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

Хорошая защищенность. Для взлома алгоритма хэширования SHA-256 недостаточно всех вместе взятых вычислительных мощностей на Земле.

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

Proof of Work был проверен временем, и за 10 лет обнаружились его главные недостатки:

Чрезмерное энергопотребление. На осуществление одной транзакции сеть тратит более 150 кВт/ч электричества. Низкая масштабируемость сети. В настоящее время блокчейн Биткоина обрабатывает не более 7 транзакций в секунду.

Proof of Stake – более поздний вариант достижения консенсуса в сети, базирующийся на залоге своих монет майнерами (в PoS их называют валидаторами). В противовес предыдущему подходу, данный алгоритм имеет преимущества:

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

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

Из недостатков:

Высокий риск централизации из-за стремления к накоплению средств, вместо их траты. Пока что низкая устойчивость к атаке Nothing-at-Stake, когда валидатор, ничего не теряя, делает ставку одновременно на оба форка сети. Над решением проблемы бьются команды разработчиков, с обновлением Casper планируется переход Ethereum на PoS уже без данного изъяна.

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

Delayed Proof of Work (отложенное доказательство работы, DPoW) ­– способ взаимодействия двух блокчейнов, при котором целевая сеть полагается на другую, с более высоким хэшрейтом (например на Биткоин). Из достоинств алгоритма - энергоэффективность и высокая степень защищенности. Из недостатков - зависимость от сонастройки узлов различного уровня в целевой сети.

Delegated proof of Stake (делегированное доказательство доли, DPoS) – модификация оригинального PoS, в которой валидация блоков перекладывается на отдельные узлы, выбираемые "голосованием". При необходимости подтверждающие узлы переизбираются, что обеспечивает сети относительную честность и децентрализацию. Плюсы такого подхода - радикальное увеличение скорости и масштабирования, а также удешевление самих транзакций. Минус – все та же централизация, поскольку для того, чтобы стать избранным, узлу все же необходимо соответствовать некоторым критериям, а это чаще всего баланс на счету.

Существуют еще более продвинутые варианты PoS, среди которых Leased Proof of Stake и Proof of Importance. Первый алгоритм хоть и централизован, но выгоден любым рядовым пользователям, так как они могут получать проценты, сдавая в аренду свои средства валидаторам. Второй, в отличие от DPoS, учитывает не только количество денег на счету избираемого валидатора, но и его активность в сети. Данная опция делает сеть гораздо более справедливой и децентрализованной, поскольку поощряет не столько накопление средств, сколько их трату. Применяется в блокчейне NEM.

Есть алгоритмы, которые в качестве ставки оперируют не токенами на счету, а свободным дисковым пространством пользователей. Это Proof of Capacity (также называемый Proof of Space), и Proof of Storage. В первом случае выделенный объем памяти хэшируется, и полученный хэш используется для сопоставления с текущей сетевой задачей (Burstcoin). Во втором – память на устройствах пользователей используется для хранения полезной информации (SIA, Filecoin). Достоинства – энергоэффективность, а также сопутствующая польза: хранение файлов, защита от спама и DoS-атак, обнаружение вредоносных программ. Основной минус - недостаток экономической мотивации для майнеров.

Также консенсус может обеспечиваться централизованно, что резонно для многих частных блокчейнов. Proof of Authority и Proof of Reputation – частные случаи таких алгоритмов, где сеть поддерживается заведомо одобренными участниками. Очевидные преимущества - высокая скорость и энергоэффективность, при фактическом отсутствии децентрализации как таковой.

Одна из последних многообещающих разработок - использование в распределенных сетях направленных ациклических графов (Directed Acyclic Graph). Данная структура позволит увеличить скорость транзакций практически до безграничности, поскольку их подтверждение осуществляется вне блоков. Как следствие, отпадает необходимость в блокчейне и майнерах. Проблемой алгоритмов пока остается уязвимость к атаке Сибиллы, а также высокий уровень сложности в разработке.

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

Мы уже определили, что для системы справедливого учета срезаемого леса нам необходим алгоритм, обеспечивающий высокую степень децентрализации, надежности и прозрачности. Наиболее подходящий вариант – Proof of Work, либо его более экономичные производные, такие как Delayed PoW. В данном случае мы получаем нерушимую базу данных, хранящую все транзакции с участием сырья, и в то же время открытую и доступную для любых заинтересованных лиц, например журналистов, общественных активистов, правоохранительных и судебных органов.

Создание децентрализованной соцсети может подразумевать множество вариантов архитектуры, рассмотрим два пришедших на ум. В первом случае мы хотим, чтобы личные сообщения и/или какие-либо конфиденциальные данные хранились в блокчейне в зашифрованном виде, с доступом только через приватный ключ. Для такой цели подойдет гибридный алгоритм, который обязательно будет содержать хэширующий блокчейн второго уровня, например рассмотренный нами Delayed Proof of Work. Во втором случае, если мы вдруг хотим сохранять в блокчейне весь пользовательский контент, включая общедоступный - можно рассматривать Proof of Storage. Но стоит оговориться, что такой вариант сомнителен с экономической точки зрения.

Чтобы провести свое ICO, и собрать необходимые средства на старт производства ветряных турбин, собственный блокчейн как таковой не нужен. Как мы уже отмечали, для проведения краудсейла можем выбрать платформу вроде Ethereum. В настоящее время блокчейн Ethereum использует алгоритм PoW, но с предстоящим обновлением Casper планируется его переход на PoS. Специфика алгоритмов консенсуса не слишком волнует предпринимателя, решившего собрать деньги инвесторов на развитие собственного бизнеса. Главное, что для него важно – это стабильность платформы, и сохранность токенов, потому как потенциальный инвестор чувствует гораздо большую уверенность, доверяя свои деньги надежной системе. Команда Ethereum уже проделала огромную работу в решении проблемы Nothing-at-Stake. По заверениям разработчиков, протокол Casper станет прорывом в сфере безопасных PoS.

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

30 second exposure

whaler-repostОтветил docsait
2 года назад

Фонд БОД сделал репост.
Ваше творчество в ленте.
Наша лента в telegram.
:)

Ответить
docsaitОтветил docsait
2 года назад

call @tr1n1t1 @vik 100% @servobot go! @upgolosbot up! @urri123456 up!

Ответить
dobryj.kitОтветил docsait
2 года назад

Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит": radmilochka, tinochka, andrey1986, kinoshka, alena4e, olgataul, niiu, krevetkoshou, roman-nikitin, oksana0407, ezavarov Поэтому я тоже проголосовал за него!

Узнать подробности о сообществе можно тут: Разрешите представиться - Кит Добрый Правила Инструкция по внесению Инвестиционного взноса Вы тоже можете стать Инвестором и поддержать проект!!!


Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"


dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!! Поддержите нас:

Ответить
moby.dickОтветил docsait
2 года назад

Сюда приплывал Моби Дик

Ответить