Блокчейни проти централізованих баз даних

Вихідний вузол: 1576904

Чотири ключові відмінності між блокчейнами та звичайними базами даних

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

Я нещодавно віддала розмова про блокчейни з точки зору інформаційної безпеки, в якому я дійшов висновку, що блокчейни є більш безпечними, ніж звичайні бази даних в деяких аспектах, і менш безпечними в інших. Враховуючи Головна роль що централізовані бази даних грають роль у сучасному наборі технологій, це змусило мене ширше задуматися про компроміси між цими двома технологіями. Дійсно, щоразу, коли хтось запитує мене чи MultiChain можна використовувати для певної мети, моя перша відповідь завжди: «Чи можете ви зробити це за допомогою звичайної бази даних?» У більшій кількості випадків, ніж ви могли б подумати, відповідь "так" з такої простої причини:

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

Це ключовий момент, щодо якого так багато непорозумінь. З точки зору типів даних, які можна зберігати, і транзакцій, які можна виконувати з цими даними, блокчейни не роблять нічого нового. І щоб було зрозуміло, це зауваження поширюється і на «розумні контракти», незважаючи на їхню сексуальну назву та образ. Смарт-контракт – це не що інше, як фрагмент комп’ютерного коду, який виконується на кожному вузлі в блокчейні – технологія десятиліттями, яка називається збережені процедури робить те саме для централізованих баз даних. (Ви також не можете використовувати блокчейн, якщо цього коду потрібно ініціювати взаємодія із зовнішнім світом.)

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

Деінтермедіація: перевага блокчейнів

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

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

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

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

Конфіденційність: перевага централізованих баз даних

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

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

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

Надійність: перевага блокчейнів

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

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

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

Натомість, що, якби у нас було 10 блокчейн-вузлів, які працюють у різних частинах світу, і всі вони працюють на звичайному обладнанні? Ці вузли будуть тісно пов’язані один з одним, обмінюючись транзакціями на одноранговій основі та використовуючи блокчейн для забезпечення консенсусу. Кінцеві користувачі, які генерують транзакції, підключаються до (скажімо) 5 із цих вузлів, тому не має значення, якщо кілька каналів зв’язку вимикаються. І якщо один або два вузли повністю виходять з ладу в будь-який день, ніхто нічого не відчуває, тому що копій все ще більш ніж достатньо. Так сталося, що це поєднання недорогих систем і високого резервування – саме те, що Google створив свою пошукову систему так дешево. Блокчейни можуть робити те саме для баз даних.

Продуктивність: перевага централізованих баз даних

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

  1. Перевірка підпису. Кожна транзакція блокчейну повинна бути підписана цифровим підписом за допомогою публічно-приватної криптографічної схеми, наприклад ECDSA. Це необхідно, оскільки транзакції поширюються між вузлами в одноранговому режимі, тому їхнє джерело неможливо інакше довести. Генерація та перевірка цих підписів є складною обчислювальною роботою та є основним вузьким місцем у таких продуктах, як наш. Навпаки, у централізованих базах даних після встановлення з’єднання немає потреби окремо перевіряти кожен запит, який надходить через нього.
  2. Механізми консенсусу. У розподіленій базі даних, такій як блокчейн, потрібно докласти зусиль, щоб переконатися, що вузли в мережі досягають консенсусу. Залежно від механізму консенсусу, який використовується, це може включати значну зворотну комунікацію та/або роботу з розгалуженнями та їхніми подальшими відкатами. Хоча це правда, що централізовані бази даних також повинні боротися з конфліктними та перерваними транзакціями, це набагато менш імовірно, якщо транзакції ставляться в чергу та обробляються в одному місці.
  3. надмірність. Мова йде не про продуктивність окремого вузла, а про загальну кількість обчислень, які вимагає блокчейн. У той час як централізовані бази даних обробляють транзакції один (або двічі), у блокчейні вони повинні оброблятися незалежно кожним вузлом у мережі. Отже, для досягнення того самого кінцевого результату виконується ще багато роботи.

В нижньому рядку

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

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

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

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

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

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