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