Блокчейн ≠ Криптовалюта. Блокчейн > Криптовалюта

Кріптовалюти здійснили переворот в світі фінансів і вважається, що багато в чому це заслуга технології блокчейн, яку прямо асоціюють з Биткойном. І, таким чином, сам блокчейн потьмяніло в світлі слави власного "нащадка". У цій статті я постараюся на пальцях пояснити одну з найбільш значимих комп'ютерних технологій і покласти кінець думці, що блокчейн – це криптовалюта або фінансова база даних. Забігаючи вперед скажу, що ви, найімовірніше, вже працюєте з блокчейном, навіть, якщо ніколи не стикалися з криптовалютами.
Для того щоб зрозуміти чому блокчейн не дорівнює криптовалюте досить хоча б того, що блокчейн був винайдений і використовувався раніше криптовалют. Але мета статті полягає у тому, щоб дати розуміння самої технології, а для цього потрібно виділити загальні ознаки для всіх наявних валют: кожна незмінно включає у себе три елементи – це ланцюжок блоків (власне блокчейн), цифрова підпис і CRDT. Розглянемо їх докладніше.
Я свідомо виключаю мережеву структуру (децентралізована, федеративна) і способи майнінгу, так як вони відрізняються від системи до системи.
Ланцюжок блоків
Блокчейн – це хронологічна база даних, тобто така база даних, в якій час коли була зроблена запис нерозривно пов'язане з самими даними. Що робить її не комутативних (a + b ≠ b + a). Приклад:
Додамо в звичайну реляційну БД з полями Name і City два записи:
Іван Іванов, Москва
Петро Петров, Санкт-Петербург

Тепер якщо ми видалимо Івана Іванова, а потім додамо його знову, то база даних і база даних після будуть однаковими, іншими словами, база даних повернеться в колишній стан. З блокчейном все не так, навіть якщо ми вилучимо, а потім знову додамо запис, то стан не відновиться, не дивлячись на те, що дані одні і ті ж. Якщо зовсім просто, то поточний стан блокчейна – це сума всіх попередніх дій.
В першу чергу це потрібно для того, щоб захистити базу від запису "заднім числом". Для цього використовуються функції, що перетворюють будь-які дані в унікальне число фіксованої довжини (hash-функції). У вигляді псевдокода блокчейн можна виразити так:
block0 = hash(data0)
block1 = hash(data1 + block0)
block2 = hash(data2 + block1)
block3 = hash(data3 + block2)
...

Так ми отримаємо чотири унікальних числа, які роздамо незалежним користувачам (чим більше тим краще). Тепер, якщо ми змінимо значення в data1, то значення block1, block2 і block3 зміняться, таким чином користувачі зможуть порівняти свої значення blockN і зрозуміти що відбулася підміна.
Цифровий підпис
Всі операції в криптовалюте повинні бути авторизовані і єдиним способом авторизації є використання цифрового підпису – всі учасники системи можуть упевнитися в достовірності даних, не використовуючи при цьому центральних серверів з прихованими механізмами перевірки. Перевірка дійсності може відбуватися на вашій машині, по знайомому вам алгоритмом.
CRDT
Не зміг лаконічно перекласти цей термін на російську. CRDT або Conflict-Free replicated Data Types – це такі типи даних, які не схильні колізій при одночасному розподіленому доступі, а найголовніше – відтворювані. Іншими словами послідовності операцій можна відновити значення на будь-який момент часу.
Кріптовалюти це ні що інше як бухгалтерські проводки, які являють собою послідовність дій списань і зарахувань. Найпростіший приклад того, як це виглядає:
Час Операція
13:00 +7.5 # стан рахунку 12.5
12:00 -5 # стан рахунку 5
11:00 +10 # стан рахунку 10
10:00 0 # стан рахунку 0 (рахунок створений)

Знаючи поточний стан 12.5 ми можемо відновити стан рахунку на 12 годин скасувавши операцію зарахування +7.5, замінивши її відніманням.
Так само це економить час при поширенні змін: ви надсилаєте тільки саму дельту, а не всі значення цілком.
Висновок
Якщо взяти блокчейн і CRDT, то ми отримаємо добре знайомий всім git. Так, той самий git, який здійснив революцію в розробці і який розробники використовують кожен день. Можливо, ви також знаєте, що з допомогою гіт, можна не тільки розробляти програми, але і вести блог, а помістивши в нього csv, отримати базу даних, яка пам'ятає всі зміни і володіє функцією прокручування.
Виходячи з вищесказаного напрошується висновок: блокчейн використовується для підтримки цілісності даних. Таким чином абсолютно не важливо що ви помістіть в блокчейн – всі власники копії зможуть упевнитися, що дані вірні. Навіть якщо в блокчейн пишете тільки ви, то сторонній спостерігач завжди зможе переконатися, що ви не поміняли щось заднім числом. Іншими словами це механізм підтримки довіри до даних.
А от довіра до даних необхідно у документообігу, системи голосування, для зберігання акціонерної інформації, в медицині і нотаріальному справі, та може використовуватися для ведення справ в державних установах. Ця технологія дозволить надати цифрам юридичну силу і повністю відмовитися від паперових носіїв та власноручного підпису. Так що блокчейну ще є де проявити себе і в найближчі роки ми будемо спостерігати як він захоплює технологічний світ.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.