Уникнення безглуздого блокчейн-проекту

Як визначити, чи знайшли ви реальний варіант використання блокчейну

Блокчейни перебільшені. Ось, я сказав це. Від Сібос до Гроші 20/20 висвітлювати історії про The Economist та Euromoney, здається, що всі лізуть на борт блокчейн вагона. І, безсумнівно, як і інші в космосі, ми бачимо, як швидко зростає кількість компаній, які створюють докази концепції на наша платформа та/або з проханням про нашу допомогу.

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

Я тобі скажу що. Ми чекаємо, щоб отримати більш чітке розуміння того, де блокчейни щиро додавання вартості в ІТ підприємства. Розумієте, велика частка цих вхідних проектів є взагалі нічого спільного з блокчейнами. Ось як це відбувається. Велика компанія чує, що блокчейни — це наступна велика річ. Велика компанія знаходить людей, які цікавляться цією темою. Велика компанія дає їм бюджет і наказує зробити щось із блокчейну. Незабаром вони стукають до нас, махають доларовими купюрами, питають us , Щоб допомогти їх придумайте варіант використання. Скажи що тепер?

Що стосується тих, хто має на думці проект, то в чому проблема? У багатьох випадках проект можна реалізувати на відмінно використання звичайної реляційної бази даних. Знаєте, такі великі залізні бегемоти оракул та SQL Server, або для більш відкритих, MySQL та Постгрес. Тож дозвольте мені почати з того, що все правильно:

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

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

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

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

1. База даних

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

Регістр фінансових активів може бути природним чином представлений у вигляді таблиці бази даних, у якій кожен рядок представляє один тип активів, що належить одному конкретному суб’єкту. Кожен рядок містить три стовпці, які містять: (a) ідентифікатор власника, наприклад номер рахунку, (b) ідентифікатор типу активу, наприклад, «USD» або «AAPL», і (c) кількість цього активу, що утримується цим власник.

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

2. Кілька письменників

Це легко. Блокчейн — це технологія для бази даних з кількома записувачами. Іншими словами, має бути більше однієї сутності, яка генерує транзакції, які змінюють базу даних. Ви знаєте, хто ці письменники?

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

3. Відсутність довіри

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

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

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

4. Дезінтермедіація

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

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

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

5. Трансакційна взаємодія

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

Що я маю на увазі під взаємодією? У повному сенсі це означає, що транзакції, створені різними авторами, часто залежать одна від одної. Наприклад, припустимо, що Аліса надсилає деякі кошти Бобу, а потім Боб надсилає частину Чарлі. У цьому випадку транзакція Боба залежить від транзакції Аліси, і немає способу перевірити транзакцію Боба, не перевіривши спочатку транзакцію Аліси. Через цю залежність транзакції, природно, належать разом в a єдина спільна база даних.

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

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

6. Встановіть правила

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

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

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

7. Виберіть свої валідатори

Поки що ми описали розподілену базу даних, в якій транзакції можуть виникати в багатьох місцях, поширюватися між вузлами рівноправним способом і перевірятися кожним вузлом незалежно. Отже, звідки приходить «блокчейн»? Що ж, завдання блокчейну — бути ним авторитетний остаточний журнал транзакцій, щодо вмісту якого всі вузли доказово узгоджуються.

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

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

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

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

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

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

Через ці проблеми під час розгортання бази даних на основі блокчейну вам потрібно мати чітке уявлення про них хто ваші валідитори і чому ви їм довіряєте, разом, якщо не поодинці. Залежно від варіанту використання валідатори можуть бути обрані як: (a) один або кілька вузлів, які контролюються однією організацією, (b) основна група організацій, які підтримують ланцюг, або (c) кожен вузол мережі.

8. Підтримайте свої активи

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

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

Якщо ви хочете використовувати блокчейн як реєстр активів, вам потрібно відповісти на одне додаткове важливе запитання: яка природа переміщуваних активів? Під цим я маю на увазі не лише готівку, облігації чи коносаменти, хоча, звичайно, це також важливо. Питання скоріше: Хто стоїть за активами, представленими на блокчейні? Якщо база даних говорить, що я володію 10 одиницями чогось, хто дозволить мені вимагати ці 10 одиниць в реальному світі? На кого мені подати в суд, якщо я не можу перетворити те, що написано в блокчейні, у традиційні фізичні активи? (Дивіться це договір активу для прикладу.)

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

Висновок

Як я вже згадував у вступі, якщо ваш проект не виконується кожна з цих умов, ви не повинні використовувати блокчейн. У разі відсутності будь-якого з перших п’яти, ви повинні розглянути одне з: (a) звичайне сховище файлів, (b) централізовану базу даних, (c) master-slave реплікація бази даних, або (d) кілька баз даних, до яких можуть звертатися користувачі підписуватися.

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

Ви отримали всі відповіді? Вітаємо, у вас є реальний варіант використання блокчейну. І ми хотіли б почути від вас.

Будь ласка, залишайте будь-які коментарі на LinkedIn. Дивіться також наступні дії: Чотири справжні випадки використання блокчейну.

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

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