Аналіз проекту Tezos: нова екосистема блокчейну

CryptoExplorer         Немає коментарів         Tezos
127 переглядів
Триваючий краудсейл проекту Tezos, має всі шанси залучити рекордну, навіть за теперішніх часів, суму - за два дні до закінчення кампанії (блок Ефіріума №475622) вже зібрано 323 500 ETH і 58 000 BTC.

Багато в чому це обумовлено відсутністю верхньої межі ICO. Однак, навіть якщо абстрагуватися від цих значних сум, платформа Tezos являє собою цікавий і досить глибоко пророблений проект: розробники збираються застосувати в ньому ряд унікальних (і спірних) рішень. Популярний огляд основних особливостей Tezos представляють в своєму блозі інтерни ConsenSys, Санні Агарвал (Sunny Aggarwal) і Нет Раш (Nate Rush).

Незважаючи на обгрунтований скепсис, який викликає у багатьох використовуваний в Tezos варіант консенсусу PoS, основна пропонована цінність Tezos зосереджена в кілька інших областях:

  • Безпека системи, починаючи з найнижчих рівнів
  • Автоматизована процедура модифікації базового протоколу
  • Автоматизована система управління протоколом

У даній статті проблеми алгоритму PoS будуть описані досить коротко, а основна увага буде приділена вищепереліченим пунктам.

Безпека системи


Незважаючи на те, що багато програмістів погано знайомі з функціональним програмуванням, воно дозволяє ефективно і з мінімальними затратами проводити формальну верифікацію - процес доказу того, що програма відповідає конкретній специфікації.

Для блокчейн-платформи, якій доведеться коли-небудь (якщо все вийде) керувати трильйонами доларів, це звучить привабливо. Tezos написаний на Ocaml, популярній мові функціонального програмування, що дозволяє формально верифікувати окремі частини протоколу. Це важливо, особливо в контексті ПЗ з відкритим вихідним кодом, істотно спрощуючи задачу пошуку вразливостей, які можуть бути додані учасниками спільноти, як випадково, так і навмисно. Варто, однак, відзначити, що формальна верифікація - не панацея; вона просто підтверджує відповідність коду специфікації, яка, в свою чергу, може містити помилки.

Тут доречно провести порівняння з Ефіріумом. Платформа Ефіріума відрізняється від Tezos (і біткойнів) тим, що вона не визначається через референсний клієнт; замість того протокол лише формально визначений в Жовтій Книзі, залишаючи конкретну реалізацію розробникам клієнтів. Недоліки існують у обох підходів. З одного боку, формально певний протокол дає можливість реалізації множинних клієнтів (Geth, Parity), а це посилює еластичність системи до помилок в одному з клієнтів. До того ж, ніхто не заважає написати ще один клієнт Ефіріума на Ocaml. З іншого боку, це може стати причиною порушення консенсусу між клієнтами в деяких випадках.

При єдиному референсному клієнті існує небезпека вразливості, яка поставить під удар всю систему. Ця небезпека знижується вже згадуваною формальною верифікацією. Крім того, як буде показано в розділі «Модифікація протоколу», єдиний клієнт робить процедуру автоматичного апдейту набагато простішою.

Ще один фактор: OСaml відносно складний для освоєння в порівнянні з Rust або Go, мовами двох основних клієнтів Ефіріума. В деякій мірі це є фактором централізації - менше програмістів, здатних внести вклад. Іншими словами, читачеві треба буде визначити для себе, чи варто застосування езотеричної мови, яку мало хто знає, заради можливих переваг в безпеці системи.

Крім клієнта, написаного на функціональній мові, Tezos створив абсолютно нову віртуальну машину (VM), що працює на Michelson - стеково-функціональній мові. Це йде врозріз із загальноприйнятою практикою, в якій нові блокчейнові проекти просто вбудовують добре відпрацьовану EVM - Віртуальну Машину Ефіріума. Прихильники VM стверджують, що функціональна мова дозволяє на ранній стадії локалізувати вразливості, подібні до тієї, яка викликала злом TheDAO (повторний вхід). Навіть зараз спільнота Ефіріума змушена проводити хакатони на написання шкідливих смарт-контрактів, в яких виявляються «приховані вразливості», тобто, при відсутності формальних помилок, результат виконання контракту не відповідає задуманому.

Труднощі освоєння нової VM розробниками дають ще один привід для критики. Звичайно, ці труднощі можна вирішити створенням інтуїтивно зрозумілих мов високого рівню (подібних Solidity в EVM), однак це вимагатиме серйозних зусиль з боку Tezos. Створення Solidity і асоційованого з ним пакету інструментів для розробників Truffle зайняло не один рік. Звичайно, можна заперечити, що у EVM безліч послідовників. На це творці Tezos відповідають, що підприємницькі кола EVM все-таки невеликі, адже галузь знаходиться в початковій стадії, так що оголошувати зараз про своє домінування, це все одно, що якщо б Netscape оголосив про свою перемогу на початку браузерних воєн. Незалежно від заслуг EVM, Michelson, або будь-якої іншої потенційної VM (наприклад, WebAssembly) не можна, щоб розмір її спільноти впливав на вибір. При будівництві інфраструктури майбутнього потрібно вибирати кращу модель.

Потрібно також відзначити, що Michelson не єдина верифікована VM. Можна згадати ще Rholang, яку розробляє Грег Мередіт (Greg Meredith) в своєму проекті Rchain.

Автоматизована процедура модифікації протоколу


Модульність дозволяє розробляти окремо будь-який шар протоколу без необхідності переробляти весь технологічний рівень. Tezos добре реалізує цю філософію. У своїй документації вони поділяють концепцію протоколу блокчейну на три окремі шари:

  • Мережевий шар
  • Шар консенсусу
  • Шар транзакцій

Порівнюючи з іншими модульними платформами, видно, що Tendermint містить мережевий шар і шар консенсусу, залишаючи шар транзакцій на розсуд автора блокчейну. Tezos продовжує розвивати цю ідею, зробивши незалежним ще і шар консенсусу: мережевий шар отримує підтвердження у вигляді хешу файлу OСaml, який містить весь інший протокол, так що кожен вузол може його формально верифікувати і вказати, за допомогою функції apply, на новий файл протоколу (це і є причина, по якій необхідний єдиний референсний клієнт).

Будь-розробник може створити нову мережу, в якій OCaml файл зі специфікацією протоколу буде служити блоком генезису. Теоретично, це дає можливість створювати нові блокчейни з повною свободою вибору механізму консенсусу і процесора транзакцій.

Однак, принаймні зараз, команда Tezos воліє вести проект в напрямку створення єдиного публічного блокчейну з функцією автоматичного «самооновлення». Передбачається можливість поновлення протоколу за допомогою он-чейн механізму управління (про це в наступному розділі).

Відділення мережевого шару від усього іншого означає, що протокол може бути модифікований без необхідності хардфорку, що загрожує розколом системи. Тут можуть бути дві точки зору: (1) це добре; і (2) це погано. Саме так і розділилися думки авторів огляду, так що вирішувати доведеться читачам. Нижче наводяться аргументи «за» і «проти»:

Модульність в поєднанні з функцією автоматичного апдейту і управління - це добре:

Більшість хардфорков не викликають розбіжностей - це прості реорганізації, виправлення помилок, поліпшення алгоритмів; в цьому випадку немає потреби вплутуватися в складні процеси координації, стежити за тим, щоб всі вчасно оновили код, не допустивши помилок, і оперативно реагувати на будь-які проблеми, що виникають через несумісність між старою і новою версією протоколу. Навіть деякі софтфорки здатні викликати проблеми без високого ступеню координації. (Ось чому SegWit вимагав 95% схвалення). Саме ці проблеми і намагається вирішити Tezos.

В кінцевому рахунку, будь-який апгрейд блокчейну зводиться до соціального консенсусу, так що учасники можуть вибрати свою сторону і не використовувати оновлення. Самооновлення на рівні протоколу просто робить цей процес більш ефективним, так що якісь зусилля з координації, пов'язані з хардфорками, необхідні тільки при наявності серйозних розбіжностей.

В даний час в блокчейні знаходиться тільки хеш дійсної специфікації протоколу і кожному користувачеві доводиться самостійно отримувати сам файл різними способами: GitHub, IPFS, торрент, і т. д. Однак команда проекту вважає, що краще буде передавати всім вузлам файл специфікацій зсередини протоколу, позбавивши клієнтів від необхідності завантажувати що-небудь самостійно.

А ось протилежний аргумент: модульність в поєднанні з функцією автоматичного апдейту і управління - це погано:

Доброякісні хардфорки припускають усвідомлену участь і незворотні. Форки, що задовільняють цим визначенням, не є примусовими і дозволяють користувачам слідувати тому ланцюгу форку, в який вони вірять. Якщо Tezos будь-яким способом форсує оновлення, значить, його форк є примусовим.

Якщо жодна з цих умов не виконується, то весь пропонований механізм управління є трохи більше ніж цікавий спосіб голосування користувачів за кращого ланцюга, який мало чим відрізняється від відомої системи Carbonvote в системі Ефіріума.

Автоматизована система управління протоколом


Якщо оновлення проводиться зсередини протоколу, то хто вирішує, коли і як його проводити? Тут в дію вступає розроблений Tezos шар управління. (У 2014 році він був інноваційним. Зараз схожі ідеї втілює проект Dfinity). Згідно з документацією Tezos, рішення про заміну старого протоколу новим, вирішує процес голосування. Передбачається, що процес запускається голосуванням власників монет.

Як і в попередньому випадку, є дві точки зору на цей механізм.

Проти запропонованої системи:

Небезпека розбіжності інтересів. Цитуючи розробника Ефіріума, Влада Замфіра (Vlad Zamfir), протокол «зробить китів королями системи», а це стане проблемою, якщо інтереси власників великих капіталів розійдуться з інтересами користувачів протоколу. Вкрай малоймовірно, що володіючі владою проголосують за зменшення власного впливу, виплат або інших преференцій, навіть якщо за це проголосують користувачі. Протиставлення власників великих капіталів спільноті - небезпечне рішення.

За пропоновану систему:

Аргумент про «розбіжності інтересів» невірний, так як всі користувачі є власниками монет, які зацікавлені в успіху системи.

Управління голосуванням власників монет більш децентралізоване і демократичне, ніж управління за допомогою Фонду. Однак варто зазначити, що на першому етапі розвитку мережі централізоване управління може бути корисним. Ось чому Фонд Tezos протягом першого року (і тільки першого) матиме право вето.

Пропонована система не означає, що спільнота не зможе впоратися з власниками великого капіталу. Як вже говорилося, в кінцевому рахунку все вирішує соціальний консенсус і бажаючі завжди можуть вдатися до хардфорку.

Пропонована модель управління - це перша версія. Як і будь-яка інша частина протоколу, механізм управління може бути модифікований.

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

Proof of Stake


Найслабша частина системи в її нинішньому вигляді. Алгоритм PoS, пропонований Tezos, був досить просунутим в 2014 році, але з тих пір пройшло багато часу. Seed визначається кожні 2048 блоків, після чого використовується для вибірки пріоритету валідаторів на створення наступного блоку. Перший валідатор у вибірці може відправити блок через хвилину після попереднього блоку. Якщо перший не з'явиться, наступний зможе опублікувати блок через 2 хвилини і так далі. Після 16 невдалих спроб, блок зможе запропонувати будь-який бажаючий. Потім, набір «підписуючих» вузлів фіксує (commit) перший блок, який він бачить і підписує його, створюючи деяку ступінь фіналізації.

Визначення "сіду" через 2048 блоків (півтора дня) робить валідаторів вразливими до DDoS атак. Незважаючи на те, що в протоколі вживаються заходи щодо недопущення створення картелів, вони виглядають явно недостатніми для 2017 року.

В цілому, алгоритм PoS виглядає абсолютно застарілим і є найслабшою ланкою проекту. Він не конкурент таким BFT PoS механізмам, як Casper або Tendermint. З великою ймовірністю він буде використовуватися тільки на першому етапі розгортання системи. З огляду на модульну структуру, можна припустити, що використовуючи механізми, розглянуті вище, Tezos просто вибере для консенсусу Tendermint, Casper або їх модифікації.

На завершення


Tezos - виключно цікавий проект, в якому використовуються сучасні підходи в поєднанні з перевіреними технологіями. Він приносить в екосистему блокчейну нові ідеї. Однак він має жорстку конкуренцію з рядом інших проектів, найсильніший з яких - Ефіріум вже має істотний мережевий ефект і завоював міцну репутацію, якої поки що не вистачає Tezos.
0


Шановне товариство!
Якщо Ви виявили помилку, або "мертве" посилання, виділіть проблемний фрагмент мишкою та натисніть CTRL+ENTER.
У діалоговому вікні, що з'явилося, опишіть проблему та надішліть повідомлення Адміністрації ресурсу. Дякуємо!
Схожі публікації:
Додавання коментаря
Шановне товариство!
При додаванні коментарів на сайт Вам слід враховувати наступне: всі коментарі перевіряються Адміністрацією на предмет відсутності спаму. При виявленні ознак спаму, в залишеному Вами коментарі, сам коментар буде негайно видалений, а Ваша IP-адреса буде заблокована без попередження! Облікові записи користувачів, що розсилають спам, блокуються / видаляються без права подальшого відновлення.

Публікація коментарів, від незареєстрованих на сайті користувачів, відбувається після їх модераторської перевірки.

З повагою, Адміністрація сайту.

Ваше ім'я (обов'язково):

Ваш E-Mail :

Підтвердження коду безпеки :

Клацніть на зображення щоб оновити код, якщо він нерозбірливий

Введіть код (обов'язково):

Популярні матеріали
Опитування
Яким гаманцям для зберігання криптовалют Ви надаєте перевагу?