Як виявити недороблений блокчейн PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Як помітити напівзапечений блокчейн

Коли ланцюги та блоки не служать ніякій корисній меті

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

Природно, що бурхливий ріст блокчейн-проектів зумовив розвиток дозволених платформ блокчейнів, на яких ці проекти побудовані. Наприклад, наш продукт MultiChain за останній рік потроївся у використанні, чи вимірюємо ми веб-трафік, щомісячні завантаження чи комерційні запити. І звичайно, існує багато інших платформ, таких як BigChainDB, Ланцюг, Corda, кредити, Елементи, Еріс, Тканина, Ethereum (розгортається в закритій мережі), HydraChain та Відкритий ланцюг. Не кажучи вже про ще більше стартапів, які розробили якусь блокчейн-платформу, але не зробили її загальнодоступною.

Для компаній, які бажають вивчити та зрозуміти нову технологію, велика кількість вибору, як правило, хороша річ. Однак у випадку з блокчейнами, які досі залишаються недостатньо чітко визначеними та погано вивченими, ця рог достатку має суттєвий недолік: багато з наявних платформ «блокчейн» насправді не вирішують основної проблеми, яку вони мають вирішити. І в чому ця проблема? Дозвольте процитувати короткий виклад визначення відео Річард Гендаль Браун, технічний директор R3, повністю:

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

Щоб взяти крайній приклад, розглянемо купу цеглинок Лего, зв’язаних між собою ниткою. Якщо ми використовуємо термін "блок -ланцюг" для опису цього предмета моди, хто скаже, що ми не описуємо його точно? І все ж цей конкретний ланцюжок блоків не допоможе кільком сторонам безпечно та безпосередньо ділитися базою даних без центрального посередника. Подібним чином, багато платформ "блокчейн" роблять щось, пов'язане з ланцюжками блоків, але також не мають необхідних властивостей, щоб служити основою для однорангової бази даних.

Як виявити недороблений блокчейн PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
Інший ланцюжок блоків, який не допомагає спільному використанню баз даних - джерело.

Мінімальний життєздатний блокчейн

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

Ось шість найважливіших способів, якими ця система може вийти з ладу своїм користувачам:

  • Підробка: Передача акцій від однієї особи до іншої без дозволу відправника.
  • цензура: Відмова виконати чийсь запит щодо передачі деяких акцій в інше місце.
  • Звернення: Скасування передачі, яка мала місце в минулому.
  • Нелегітимність: Зміна загальної кількості акцій у системі без відповідної дії емітента.
  • Невідповідність: Надання різних відповідей на запити різних користувачів.
  • Час простою: Взагалі не відповідає на вхідні запити на інформацію.

Через усі ці можливості, акціонери повинні підтримувати високий рівень довіри до того, хто керує цією книгою від їх імені. Створення та управління організацією, гідною цієї довіри, вимагає значних клопотів та витрат.

Блокчейн або розподілені книги знімають необхідність у цьому виді центрального оператора бази даних, дозволяючи користувачам бази даних безпосередньо взаємодіяти один з одним на основі однорангової мережі. У нашому прикладі акціонери можуть безпечно утримувати свої акції в блокчейні, яким вони колективно управляють, і миттєво здійснювати передачі один одному по цьому ланцюжку. (Недоліком є ​​значна втрата конфіденційності між користувачами мережі, про яку ми не будемо говорити тут, але я це робив раніше обговорювали довго.)

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

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

Єдиний блокчейн валідатора

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

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

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

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

Спільний державний блокчейн

Технічно кажучи, між блокчейнами та більш традиційними розподіленими базами даних, такими як Cassandra та MongoDB, є багато подібності. В обох випадках транзакції можуть ініціюватися будь -яким вузлом у мережі і вони повинні досягати всіх інших вузлів як частина консенсусу щодо стану розвитку бази даних. І блокчейни, і розподілені бази даних мають справлятися із затримкою (затримки зв'язку, що виникають через відстань між вузлами) та можливістю переривчастих збоїв у роботі деяких вузлів та/або каналів зв'язку.

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

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

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

Деякі платформи "блокчейн" були розроблені, розпочавши з розподіленої бази даних, і додавши деякі функції зверху, щоб зробити їх більш блокчейнними. Наприклад, групуючи транзакції в блоки та зберігаючи хеші (цифрові відбитки пальців) цих блоків у базі даних, вони прагнуть додати форму незмінності. Але якщо кожен вузол не може бути впевнений, що його список хешів не може бути змінений іншим вузлом, цей тип незмінності легко грається. Стандартна відповідь на цю критику полягає в тому, що кожну проблему безпеки можна вирішити за допомогою достатнього часу та кодування. Але це скоріше схоже на утримання деяких ув’язнених у відкритому полі та спроба запобігти їхньому втечі за допомогою тросів та канав. Набагато безпечніше використовувати спеціальну бетонну конструкцію, двері якої замкнені, а вікна заблоковані.

Єдиний хмарний блокчейн

На сьогоднішній день найдивнішим явищем, яке я бачив, є платформи блокчейн, до яких можна отримати доступ лише за допомогою хмарної платформи-розробника-розробника. Щоб було зрозуміло, ми не говоримо про деяких учасників блокчейну Вибираючи розміщувати свої вузли на обраному хмарним провайдером, наприклад Microsoft Azure or Amazon Web Services. Швидше, це блокчейн, який може тільки доступ до них здійснюється через API, відкриті серверами компанії, яка його розміщує.

Допустимо, заради аргументів, що у централізованого постачальника блокчейн справді є група вузлів, що працюють під його контролем. Яке значення має це для користувачів системи, які надсилають запити API та отримують відповіді? Учасники не мають можливості оцінити, чи всі транзакції були оброблені без упущення чи помилки. Можливо, центральна служба не працює належним чином, або, можливо, вона навмисно цензурує або скасовує деякі транзакції. І якщо ви вважаєте, що у постачальника блокчейн немає підстав для цього, чому б не використати їх для розміщення звичайної централізованої бази даних? Ви отримаєте більш зрілий продукт з кращою продуктивністю і не понесете жодного ризику роботи з новими технологіями. Коротше кажучи, централізовані блокчейни приблизно такі ж корисні, як і Lego на струні.

Розгадування таємниці

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

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

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

Що стосується комерційних причин, то, здається, кожен стартап підходить до можливості блокчейну з іншого боку. Тут, у Coin Sciences, ми зосереджені на тому, щоб стати постачальником програмного забезпечення (бази даних), тому ми безкоштовно розповсюджуємо MultiChain під час розробки преміум -вузла з додатковими функціями. Інші стартапи хочуть продавати послуги підписки, тому вони, природно, створять платформу, яку клієнти не зможуть розмістити самі. Деякі сподіваються централізовано контролювати блокчейн або допомагати своїм партнерам (дивна амбіція щодо технології розмежування!), І, природно, тягнуться до алгоритмів консенсусу, які спираються на один вузол. І, нарешті, є компанії, основною метою яких є продаж консалтингових послуг, і в цьому випадку їхня платформа взагалі не повинна функціонувати, якщо її веб -сайт приваблює великих клієнтів.

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

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

Будь ласка, залишайте будь-які коментарі на LinkedIn.

Джерело: https://www.multichain.com/blog/2016/12/spot-half-baked-blockchain/

Часова мітка:

Більше від Багатоканальний