Logo
Поділитися цією статтею

Блокчейн, що ти? Визначення модного слова в галузі

Дейв Хадсон, автор блогу Hashingit.com, LOOKS до білої книги Сатоші, щоб дізнатися, що таке блокчейн і що це може бути...

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

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

Продовження Нижче
Не пропустіть жодної історії.Підпишіться на розсилку Crypto Daybook Americas вже сьогодні. Переглянути Всі Розсилки

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

що таке Що це T так? Що це може бути? Чи може це бути щось, що дозволить нам побудувати нові та довговічні системи? Якщо коротко, то в чому суть блокчейну?

Біла книга Satoshi

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

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

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

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

транзакції

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

Цікаво, що у розділі 2 також описано, як централізованій системі це насправді T потрібно.

Блоки та ланцюги

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

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

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

Хоча ми бачимо деякі явні характеристики, вони призводять до кількох неявних:

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

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

Увімкнення однорангових операцій

У наступному розділі, 4, білої книги йдеться про підтвердження роботи. Перший рядок цікавий: «Щоб реалізувати розподілений сервер часових позначок на одноранговій основі (P2P), нам потрібно буде використовувати систему підтвердження роботи, подібну до Hashcash Адама Бека». Доказ роботи не потрібен для побудови блокчейну, а лише для забезпечення однорангової реалізації сервера часових позначок.

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

Це не означає, що proof-of-work може не мати іншого використання з дизайном блокчейну, але жодне з них не є принциповим для нашого пошуку.

Мережа і не тільки

Розділ 5 описує характеристики реалізації мережі Bitcoin . Ніщо тут явно не розширює концепцію того, що таке блокчейн або може вимагати. Дійсно, жоден з розділів 6, 7, 8, 9, 10, 11 або 12 (останній розділ) не пропонує явно нових ідей про те, що може бути блокчейном.

Відповіді на наші запитання

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

Тоді давайте поставимо конкретні запитання!

Чи повинен блокчейн мати монети?

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

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

Чи повинен блокчейн впроваджувати смарт-контракти?

З точки зору білої книги це виглядає малоймовірним. Слово «контракт» ніде не фігурує.

Чи може блокчейн увімкнути розумні контракти? Так, звичайно, можливо, але це також може дозволити багато інших речей.

Чи має блокчейн бути програмованим?

Знову відповідь здається ні. Ані слова «програма», ані «сценарій» не зустрічаються в документі.

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

Чи може блокчейн містити певну форму програмного коду? Це питання реалізації, і відповідь на нього ствердна. Bitcoin містить обмежену мову сценаріїв та інші системи, як-от Ethereum, згодом спробували підтримувати більш складні моделі програмування.

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

Чи є блокчейн базою даних?

Знову відповідь здається ні. Як і раніше, слово «база даних» не зустрічається в документі.

За своєю CORE блокчейн — це особливий тип структури даних. Блоки в ланцюжку містять дані, але це не робить їх базою даних; у кращому випадку блоки представляють журнал транзакцій конкретної реалізації бази даних.

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

Для порівняння IP-пакети для пакетів TCP, які містять цю статтю, визначені як структури даних у серії документів IETF (Internet Engineering Task Force) RFC (Request For Comments). У документах описується форма пакетів і їх поведінка під час транспортування. Одержувачі цих пакетів можуть самостійно визначати їх дійсність, незалежно від будь-якої частини мережевої реалізації між ними та автором.

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

Блокчейн ненадійний?

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

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

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

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

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

Чи має блокчейн бути без дозволу чи він може бути без дозволу?

Блокчейн — це просто структура даних, тому питання насправді не має сенсу. Зовсім інше питання — хто вміє читати чи писати структуру даних.

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

Відповідь полягає в тому, що майнери (точніше, виробники блоків, наприклад оператори майнінг-пулу, а не ті, хто просто хешує блоки) можуть писати нові блоки. Транзактори в мережі можуть надавати транзакції-кандидати для включення в блоки, але це не гарантує, що блоки коли-небудь будуть містити ці транзакції. Щодо Bitcoin ми говоримо про те, що це «недозволено», оскільки нікому не потрібен явний дозвіл, щоб стати Maker блоків.

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

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

Чи є блокчейн Інтернетом грошей (чи Інтернетом чогось іншого)?

Реально ні, або, принаймні, не сама по собі.

Коли ми розглядали «не базу даних», ми також торкалися того, чому це твердження насправді T має сенсу. Зовні аргумент виглядає спокусливим. Ідея полягає в тому, що ми можемо побудувати багато Технології на основі блокчейну таким чином, щоб мережевий стек був багатошаровим.

Є багато проблем із цією пропозицією, але очевидною ONE те, що блокчейн — це просто структура даних. Це хороший кандидат для використання для передачі інформації через Інтернет, але сам по собі нічого T дає.

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

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

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

Останні думки

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

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

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

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

Ця стаття була перепублікована з дозволу Hashingit.com. Ви можете Соціальні мережі Дейвом у Twitter за адресою @hashingitcom.

Зображення через Shutterstock

Примітка: Погляди, висловлені в цьому стовпці, належать автору і не обов'язково відображають погляди CoinDesk, Inc. або її власників та афіліатів.

Dave Hudson

Дейв Хадсон є віце-президентом з архітектури програмного забезпечення в Peernova та розробником ОС, мережевих Stacks, компіляторів і баз даних. Для розваги він аналізує Bitcoin та «системи криптоледгерів» у своєму блозі hashingit.com. Він живе в Бангорі, Уельс, і Сан-Хосе в США.

Picture of CoinDesk author Dave Hudson