Кардано - один из самых интересных недавно вышедших проектов. Как и Эфириум, Кардано - это платформа смарт контрактов, однако в отличии от Эфириум, Кардано предлагает масштабируемость и безопасность с помощью многоуровневой архитектуры.
Подход Кардано сам по себе уникален, поскольку он построен на научной философии и проверенном научном исследовании. В этом гиде мы детально изучим Кардано и посмотрим на некоторые из наиболее интересных инноваций, предлагаемых им.
Концепция Кардано принадлежит Чарльзу Хоскинсону, одному из сооснователей Эфириум.
Чарльз Хоскинсон. Изображение предоставлено IOHK
Хотя Эфириум и делает успехи в качестве платформы смарт контрактов, согласно Хоскинсону, это блокчейн второго поколения (подробнее об это позже), и он нуждается в улучшении. Что делает Кардано особенным, так это огромное внимание, которое уделяется его обслуживанию. Три организации работают на постоянной основе с целью развития Кардано:
Cardano Foundation - некоммерческая регулируемая организация, которая стоит за Кардано. Их главная задача - “стандартизировать, защищать и продвигать протокол Кардано”.
В 2015 году Хоскинсон совместно с Джереми Вудом основал IOHK (от англ. Input Output Hong Kong - Ввод-Вывод Гонконг). IOHK - “исследовательская и разработческая компания, предназначенная для использования п2п инноваций блокчейна с целью предоставления общедоступных финансовых услуг.” Они заключили договор на совместную разработку и обеспечение Кардано до 2020 года.
Emurgo - японская компания, которая “развивает и поддерживает коммерческие предприятия, желающие перевернуть индустрию с помощью блокчейна.” Большая часть финансирования IOHK поступает от 5-летнего контракта с Emurgo.
Эти 3 организации тесно взаимодействуют, обеспечивая хороший темп развития Кардано. А сейчас вы, возможно, подумаете, а почему вообще возникла необходимость в Кардано. Кардано называют себя блокчейном третьего поколения. Давайте посмотрим, что это значит.
Согласно Чарльзу Хоскинсону, существует три поколения блокчейна.
Биткоин был создан, потому что все задавались одними и теми же вопросами:
Возможно ли создать такую форму денег, которую можно будет переводить между двумя людьми без посредников?
Возможно ли будет создать децентрализованные деньги, которые смогут функционировать на чем-то вроде блокчейна?
Сатоши Накамото ответил на эти вопросы, когда создал Биткойн. И у нас наконец-то появилась децентрализованная денежная система, позволяющая переводить деньги.
Однако, с Биткойном была проблема, присущая всем блокчейнам первого поколения. Они позволяли только проводить денежные операции, но добавить условия к ним было невозможно.
Элис может отправить Бобу 5 BTC, но не может добавить условия к этим транзакциям. Например, она не может сказать Бобу, что он получит деньги только при условии выполнения определенных действий.
Чтобы добавить эти условия, пришлось бы писать очень сложные скрипты. Необходимо было что-то, что сделало бы процесс более удобным.
И этим “что-то” стал смарт контракт.
Что такое смарт контракт?
Смарт контракты помогают обменивать деньги, собственность, активы, что угодно, имеющее ценность, прозрачным бесконфликтным способом, избегая посредничества.
Эфириум Виталика Бутерина, безусловно, основной представитель этого поколения. Они показали, как блокчейн может развиться из простого платежного механизма во что-то гораздо более значительное и мощное.
Однако, это поколение тоже имеет свои проблемы.
Чем больше интересных примеров использования блокчейна появлялось, тем более положительным отношение к нему становилось.
Проблема была в том, что у этих поколений блокчейна не было по-настоящему хороших средств для масштабируемости. Кроме того, их система управления не была толком продумана. Разделение Эфириум и Ethereum Classic, по мнению Хоскинсона, классический пример (никакого подтекста) плохого управления.
И вот тут появляется третье поколение.
Хоскинсон знал, что нужно развивать блокчейн еще больше. Он взял все хорошее от первых двух поколений и добавил собственные элементы - из этого и получился Кардано.
Кардано взялись решить три проблемы:
Как было упомянуто ранее, Кардано уникален в том смысле, что он построен на научной философии и проверенном научном исследовании. Все инженерные усилия здесь направлены на то, чтобы стать "Кодом Высокой Надежности". Это сделано для того, чтобы сформировать больше доверия к качеству кода (подробнее об этом позже, в разделе “Хаскелл и Плутос”). Согласно Хоскинсону, в будущем это предотвратит случаи вроде распада ETH-ETC.
Итак, прежде чем двинуться дальше, давайте рассмотрим философию Кардано.
Команда Кардано хочет придерживаться набора принципов и философий. Они не представили полноценную дорожную карту или официальный документ. Вместо этого они сфокусировались на освоении “собрания принципов проектирования, передовых технологий и способов исследования.”
Далее вы можете увидеть эти принципы, взятые непосредственно с сайта Кардано.
Сейчас, когда мы рассмотрели философию Кардано, давайте подробно разберем 3 задачи, на решение которых они нацелены.
Когда люди говорят о масштабируемости, они всегда подразумевают количество транзакций, проходящих в секунду/скорость обработки транзакций. Однако, согласно Хоскинсону, это лишь одна сторона проблемы. А масштабируемость это, скажем так, трехголовая гидра. Поэтому нужно следить за тремя составляющими сразу:
Было написано множество статей на тему недостаточности скорости обработки транзакций в Биткойне и Эфириуме. Биткойн обрабатывает 7 транзакций в секунду, Эфириум - 15-20. Это абсолютно недопустимо для финансовой системы.
Кардано надеются решить эту проблему с помощью своего механизма консенсуса, Уроборос. Это доказуемо безопасный POS-алгоритм (proof-of-stake). Уроборос был проверен и одобрен сообществом в течение конференции Крипто 2017.
Так как Уроборос - алгоритм доказательства долей, давайте узнаем, что такое доказательство долей, прежде чем глубже погружаться в сам механизм.
Биткойн и Эфириум (по крайней мере на данный момент) используют протокол доказательства работой.
Доказательство работой, как процесс, состоит из следующих шагов:
Вот что по существу представляет из себя система доказательства работой. Решить задачу сложно, а проверка решения легка. Это та система, которую используют Биткойн и Эфириум (до сих пор). Однако, в этой системе есть несколько важных упущений.
Как оказалось, существует немало проблем с доказательством работой.
Изображение предоставлено Blockchain.info
Как видите, около 75% хэшрейта распределено только между 5 пулами!
Эфириум рассчитывал решить эти проблемы с помощью доказательства долей.
Доказательство долей сделает весь процесс майнинга ненужным и заменит майнеров заверителями.
Вот как процесс работает:
Сейчас, когда мы знаем, что представляет из себя доказательство долей, давайте посмотрим на механизм, стоящий за Уроборосом.
Данные делятся на периоды. Каждый период делится на интервалы (далее слоты). Каждый период длится очень мало - в районе 20 секунд.
Изображение предоставлено Cardano Docs
Затем в каждом слоте появляется свой слот лидер, выбранный наугад.
Слот лидер действует наподобие майнеров в протоколе доказательства работой, в том смысле что именно он выбирает, какие блоки будут добавлены к блокчейну. Однако он может добавить лишь один блок.
Если слот лидер каким-либо образом упускает возможность выбрать блок, ему придется ждать, пока он не станет слот лидером снова. Это нормально, если один и более интервалов остаются пустыми (без генерируемых блоков), но большинство блоков (по меньшей мере 50% + 1) должны быть сгенерированы в течение одного периода.
Как видите, слот лидеры играют очень важную роль в экосистеме. Для того чтобы быть рассмотренным на право стать слот лидером, нужно иметь 2% доли в Кардано. Такие участники называются избирателями, и именно они выбирают слот лидеров для следующего периода в течение текущего. Чем больше доли участник имеет, тем больше у него шансов быть выбранным в качестве слот лидера.
В силу того, что слот лидеры имеют много власти, должны быть предприняты специальные меры, чтобы сделать выборы настолько непредвзятыми, насколько это возможно. Должен быть какой-то элемент случайности. Именно для этого используется протокол конфиденциального вычисления.
В этом подходе каждый избиратель выполняет случайное действие, которое называется “подбрасывание коинов”, после чего делится своими результатами с другими избирателями. Несмотря на то, что результаты случайно генерируются каждым избирателем, они в конечном счете приходят к согласию по поводу окончательной величины.
Выборы состоят из трех фаз:
Давайте посмотрим, что происходит в каждой фазе.
Во-первых, избиратель генерирует случайную секретную ценность и затем формирует “заявление” - сообщение, которое содержит зашифрованные активы (держите эту информацию в уме для разбора последней фазы) и доказательство секрета.
Затем избиратель подписывает его приватным ключом, устанавливает номер периода и прикрепляет ключ общего доступа. Служит это двум целям - все могут проверить, кто создал это заявление (поскольку оно имеет ключ общего доступа), и к какому периоду оно принадлежит.
После того как это сделано, избиратель отправляет свое заявление другим избирателям. В конечном итоге, каждый избиратель собирает заявления других избирателей, они помещаются в блок и становятся частью блокчейна.
Вторая фаза - фаза обмена ключами.
Представьте себе, что заявление - это закрытая шкатулка с секретом, и что есть специальная ценность, способная открыть эту шкатулку. Эта специальная ценность называется ключ. Вот в чем суть этой фазы - избиратели отправляют свои ключи. Они также помещаются в блок и становятся частью блокчейна.
К этому времени у избирателя есть уже и заявления и ключи. Однако некоторые избиратели могут действовать со злым умыслом и публиковать свои заявления без ключа. Фактически, они дают закрытую шкатулку без ключа - кодовой фразы.
Чтобы обойти это, честные избиратели могут постить все свои зашифрованные активы (что было упомянуто в первой фазе) и просто перестроить секреты. Таким образом система будет работать, даже если определенные избиратели недобросовестны. Вот как Уроборос получает свою Византийскую отказоустойчивость.
В конечном итоге избиратель подтверждает соответствие заявлений и ключей. При этом секреты отделяются от заявлений, и формируется зерно. Зерно - случайно сгенерированная строка байтов.
Все избиратели теперь владеют этим зерном.
Давайте прервемся ненадолго и посмотрим, где мы.
Мы выбираем слот лидеров для следующего периода. Чтобы убедиться в том, что выборы непредвзяты настолько, насколько это возможно, нам нужен элемент случайности. “Зерно” дает нам его. Пришло время выбирать слот лидеров.
Чтобы сделать это, мы будем использовать алгоритм FTS (от англ. Follow the Satoshi - следуй за Сатоши).
Имя алгоритму дано в честь Сатоши Накамото - таинственного создателя Биткоина.
Изображение предоставлено Cardano Docs
FTS фактически выбирает случайную монету из доли. Кто бы ни владел этой монетой становится слот лидером. Все настолько просто!
Вот почему, чем больше доля в системе, тем больше шансов выиграть в этой лотерее.
У слот лидеров будет право выбирать блоки не только в главный блокчейн, но и в другие блокчейны внутри экосистемы Кардано.
Итак, как сеть влияет на масштабируемость?
Очень просто - за счет пропускной способности.
Транзакции содержат данные. Так как количество транзакций растет, растет и запрос на ресурсы сети.
Посыл довольно-таки прост - если система вырастет до миллионов пользователей, сети понадобятся сотни террабайтов или эгзабайтов ресурсов на поддержание своей работы.
Поэтому невозможно поддерживать однородную топологию сети. Что это значит?
В однородной топологии сети каждая нода сети ретранслирует каждое сообщение. Скайп - пример такой сети, где большинство ценности берется от одного класса пользователей, заинтересованных в совершении телефонного звонка.
Однако в децентрализованной сети такое может не сгодится для масштабирования. Не у всех нод могут быть ресурсы, необходимые для эффективной передачи информации.
Чтобы решить этот вопрос, Кардано рассматривают новый тип технологии под названием RINA (от англ. Recursive Inter-Network Architecture - Рекурсивная Внутрисетевая Архитектура), созданный Джоном Дэем. Это новый тип структурирования сетей с использованием оригинальных инженерных принципов.
Цель RINA - создание однородной сети, которая обещает предоставить:
Rina делает это так, что вы можете понять, как сеть самоорганизуется в формальных пределах. Есть надежды на ее беспрепятственное взаимодействие с TCP/IP протоколами. Кардано надеются на частичное внедрение RINA к 2018 году и полное - к 2019.
Согласно Википедии, “RINA естественным образом поддерживает мобильность, множественную адресацию и качество сервиса без нужды в дополнительных механизмах, предоставляет безопасную и программируемую окружающую среду, мотивирует на более конкурентный рынок и создает возможности для беспрепятственного принятия.”
Наконец, у нас есть масштабирование данных.
Представьте себе следующее. Блокчейны хранят информацию целую вечность. Каждая крупица данных, важная или не очень, сохраняется в блокчейне навсегда. Так как система растет, и все больше и больше людей присоединяется к ней, с огромным притоком данных блокчейн становится все более и более громоздким.
Теперь вспомним, что блокчейн работает, потому что состоит из нод. Каждая нода - это пользователь, который хранит копию блокчейна в своей системе.
Вы видите, в чем проблема, не так ли?
Так как блокчейн становится более громоздким, он запрашивает все больше пространства, что нецелесообразно для обычного пользователя с обычным компьютером.
Кардано хотят решить эту проблему путем внедрения простой философии - “Не всем нужны все данные.”
Например, Элис и Боб участвуют в транзакции, не относящейся к кому-либо еще в сети. Единственная вещь, которую им нужно знать, это то, что транзакция прошла и прошла законно.
Кардано изучают следующие техники:
Их единовременное применение может существенно уменьшить количество данных, которые пользователю нужно иметь.
Вместе с тем существует также концепция разделения - вместо того, чтобы хранить весь блокчейн, пользователь может просто хранить его часть и значительно снизить количество данных, нужных для хранения. Что они и надеются сделать с помощью сайдчейнов (более подробно об этом позже).
В данном случае цель Кардано - использовать всю эту информацию для сжатия данных, которые нужны пользователям, не поступаясь безопасностью и не заморачиваясь на гарантиях, что транзакции прошли должным образом. Исследование на данную тему началось в Эдинбургском университете.
Посмотрев на то, что из себя представляет масштабируемость Кардано, мы подошли ко второму столпу - интероперабельности. Вкратце, по словам Хоскинсона, интероперабельность означает, что не будет единого токена, что всеми ими правит.
Давайте взглянем на текущую экосистему. В криптосфере есть разные криптокоины, такие как Биткоин, Эфириум, Litecoin и т.д. Аналогично в финансовом мире предыдущего поколения есть такие системы как традиционные банки, использующие SWIFT, ACH и т.д.
Проблема заключается в том, что этим отдельным организациям чрезвычайно сложно контактировать друг с другом. Биткоину тяжело узнать, что происходит в Эфириуме и наоборот. Задача становится вдвойне сложней, когда банки пытаются контактировать с криптой.
Вот почему криптобиржи, которые являются порталом между криптой и банками, становятся столь могущественными и важными. Однако они представляют проблему сами по себе, т.к. они не децентрализованы и крайне уязвимы.
Кроме того, есть другая область, где несогласованность между миром пережитков и криптомиром может привести к чудовищному результату - ICO (от англ. Initial Coin Offering - первичное размещение монет).
В случае с ICO организация получает миллионы долларов в обмен на свои токены, однако сохранение этих денег на их банковском счету может стать проблематичным. Совершенно очевидно, что банки захотят знать, откуда все эти деньги пришли, и кто эти люди, которые предоставили их, что практически невозможно.
Требовалось более простое и надежное решение предоставления интероперабельности.
Криптокоин третьего поколения должен предоставить экосистему, где каждый отдельный блокчейн сможет контактировать с другим блокчейном и с внешними финансовыми системами предыдущих поколений.
Итак, давайте посмотрим, как Кардано планирует повысить интероперабельность как в криптомире, так и в мире прежних систем.
Видение Кардано заключается в том, чтобы создать “интернет блокчейнов”. Представьте себе экосистему, где Биткойн может беспрепятственно переходить в Эфириум, Ripple в Litecoin без нужды обращаться к централизованным биржам. Вот почему Кардано хотят внедрить переводы через цепи без посредников.
Один из способов сделать это - внедрение сайдчейнов.
Сайдчейн как концепция вращалась в криптосообществах довольно-таки долгое время. Идея очень простая - параллельно с основной цепью работает еще одна. Сайдчейн будет прикреплен к основной цепи с помощью двустороннего крючка.
Кардано поддержит сайдчейны, основываясь на исследовании, проведенном Kiayias, Miller и Zindros (KMZ), включая “неинтерактивные доказательства доказательства работой”.
Согласно Хоскинсону, идея сайдчейнов вытекает из следующих моментов:
Когда речь идет об увеличении интероперабельности в мире прежних систем, Кардано хотят сконцентрироваться на 3 препятствиях, которые делают несовместимым криптомир и мир прежних систем:
Метаданные - то, что стоит за транзакциями.
Если Элис потратила 50 USD, метаданные будут следующие:
Хотя использование метаданных не столь хорошо продумано в области криптовалюты, это крайне важно в банковском мире прежних систем. На самом деле, это одна из главных причин, почему большинство организаций выступают против ICO. У них просто нет метаданных, необходимых для предоставления банкам.
В мире пережитков прошлого метаданные исключительно важны. Они служат следующим целям:
Однако проблема с метаданными заключается в том, что это чрезвычайно личная информация, и поскольку данные хранятся в блокчейне на постоянной и прозрачной основе, мы получаем ситуацию, когда очень личная информация может быть постоянно привязана к блокчейну.
Один из главных предметов исследования Кардано - как выборочно прикреплять метаданные к цепи.
Также как и в случае с метаданными с помощью идентификации имена участвующих в транзакции становятся известными. Кому фактически приписывается определенная транзакция?
Если блокчейн постоянно прикрепляет идентификацию к себе, это сильно скажется на приватности участников.
Поэтому, Кардано планирует наделить своих пользователей полномочиями выдавать идентификацию таким образом и тогда, когда она нужна.
Третье препятствие - “Соответствие требованиям”.
Оно включает в себя такие факторы как: KYC (от англ. Know Your Customer - знай своего клиента), AML (от англ. Anti Money Laundering - противодействие отмыванию денег), ATF (от англ. Anti Terrorist Financing - противодействие финансированию террористов) и т.д.
Соответствие требованиям используется, чтобы проверить законность транзакции. Фактически, если Элис платит Бобу 50$, оно используется, чтобы убедиться в том, что транзакция совершена без злодейского умысла.Тогда как криптомир не особо преуспел в этой области, это крайне важно в банковской сфере, где история и законность каждой транзакции должны быть известны.
Кардано исследуют вопрос одновременного использования Метаданных, Идентификации и Соответствия, чтобы помогать своим пользователям при любом взаимодействии с банками.
И наконец третий столп - целостность.
Согласно Хоскинсону, это несомненно самая тяжелая задача. Фактически это ответ на вопрос, как Кардано планируют расплачиваться за свои будущие рост и развитие.
Обычно, когда для развития системы нужны гранты, есть два варианта развития ситуации:
Однако в обоих случаях может произойти сбой.
В случае с патронажем есть проблема возникновения централизации. Если большая компания дает огромный грант компании-блокчейну, она может указывать, каким образом в системе будут происходить изменения.
В случае с ICO может происходить внезапный выпуск большого количества монет без адекватной модели поддержки, которые совершенно не нужны экосистеме.
Нужны другие, более рациональные действия.
В этом смысле Кардано планируют почерпнуть вдохновение у Dash и создать казну.
Каждый раз когда блок добавляется к цепи, часть вознаграждения за этот блок будет добавляться в казну.
Поэтому если кто-то хочет внести изменения в экосистему и развить ее, они подписывают бюллетень, чтобы запросить грант.
Пользователи экосистемы Кардано затем голосуют и решают давать грант или нет.
Если да, то подписчик бюллетеня получает грант на разработку.
У этой системы есть пара основных преимуществ:
Однако, есть несколько основных препятствий на пути к ее реализации.
На данный момент Кардано определили и могут использовать такую систему, которая сочетает в себе делегативную демократию и стимулирующую казначейскую модель.
Это система, которая плавно переходит от прямой к представительной демократии.
Процесс имеет следующие черты:
Итак, в чем преимущества делегативной демократии?
Кардано написан на Хаскелле, а их смартконтракты будут созданы на Плутосе. Чтобы понять этот уникальный подход, нужно понять некоторые основы языков программирования.
Есть 2 языковые семьи:
В императивном подходе программисту нужно выполнить все шаги, которые делает компьютер, чтобы достичь цели. Все традиционные компьютерные языки, такие как C++, Java и даже Solidity, являются таковыми. Это вид подхода к программированию также называется алгоритмическим программированием.
Давайте рассмотрим пример. Взглянем на C++. Допустим, мы хотим сложить 5 и 3.
Итак, как видите, процесс сложения включает в себя множество шагов, и каждый шаг постоянно меняет состояние программы, т.к. все они выполняются индивидуально по очереди.
Процесс сложения занимает 4 шага:
Вторая семья языков программирования - это функциональные языки. Этот стиль программирования был создан с целью создания функционального подхода к решению задач. Этот тип подхода называется декларативным программированием.
Так как работает функциональное программирование?
Допустим, есть функция f(x), которую мы хотим использовать, чтобы посчитать функцию g(x), и затем мы хотим использовать ее для работы с функцией h(x)g(x). Вместо решения их всех друг за другом, мы можем просто собрать их всех вместе в одну функцию как эта:
h(g(f(x)))
Таким образом функциональный подход легче обосновать математически. Вот почему считается, что функциональные программы более безопасны, нежели создание смарт контрактов. Они также способствуют более простой формальной верификации. Это упрощает математическое доказательство того, что программа может, и придает Кардано свойство “Высоконадежного Кода”.
Давайте возьмем пример из жизни и посмотрим, почему это может стать крайне критичным и даже жизненно важным в определенных условиях.
Предположим, мы пишем программу, которая контролирует воздушные перевозки.
Как вы можете себе представить, написание кода для такой системы требует высокого уровня точности. Мы не можем просто слепо копировать что-то и надеяться на лучшее, когда на кону жизни людей. В подобных ситуациях нам нужен код с высокой степенью математической точности.
Вот именно поэтому функциональный подход столь желателен.
Именно по этой причине Кардано использует Хаскелл для экосистемы, а Плутос - для смарт контрактов. И тот и другой - функциональные языки.
Следующая таблица сравнивает императивный подход с функциональным.
Изображение предоставлено Docs.Microsoft.com
Давайте взглянем на преимущества функционального подхода:
Однако, как и во всем, у этого подхода есть недостаток:
Он новый.
А это значит, что найти разработчика Хаскелла сложнее, чем разработчика C++ или Java, и этот подход надо активно тестировать в жизненных ситуациях.
ICO Кардано собрало почти 62 миллиона долларов.
Токен Кардано называется Ада, в честь Ады Лавлейс, дочери поэта лорда Байрона, математика 19 века, которая признана первым компьютерным программистом.
Главный релиз Кардано, Байрон, прошел вживую 29 сентября 2017 года. Он сопроводил запуск главной сети Кардано.
Комиссии за переводы Ada определены следующей формулой:
Где:
Это означает, что на практике для минимальной транзакции вы заплатите 0,155381 Ada и эта сумма будет возрастать до 0,000043946 Ada, поскольку каждый байт увеличивает размер вашей транзакции.
В каждом периоде, комиссии за транзакции копятся в пуле и выдаются слот лидерам.
Согласно дорожной карте Кардано будет выпущен в 5 этапов:
Кардано базируется не только на убедительной философии, но и на научных данных. Этот факт сам по себе дает значительное преимущество перед конкурентами. Плюс тот факт, что кто-то, вроде Чарльза Хоскинсона, руководит этим предприятием, только добавляет доверия. Нам придется подождать до 2019, чтобы увидеть, смогут ли Кардано выполнить свои многообещающие планы.
Оригинал статьи: https://blockgeeks.com/guides/what-is-cardano