Ви напевно бачили потік новин про криптовалюти, їхній немаленький курс та постійне згадування незрозумілого слова «blockchain». Спробуємо розібратися, чому про це всі говорять і навіщо потрібна ця технологія.
Що таке blockchain (блокчейн, або ланцюжок транзакцій)?
Блок транзакцій — спеціальна структура для запису групи транзакцій. Транзакція при цьому здійснюється лише тоді, коли вважається підтвердженою. Це зручно і надійно, якщо йдеться про здійснення платежів чи передачу конфіденційних даних. Аби транзакція вважалася достовірною («підтвердженою»), її формат і підписи мають бути перевірені. Після цього групу транзакцій записують в спеціальну структуру (так званий блок). В цих блоках інформацію можна швидко перевірити. А ще в кожному наступному зберігається інформація про попередній. При операціях із криптовалютами, наприклад, у ланцюжку блоків міститься інформація про всі вчинені коли-небудь операції з біткойнами.
В блок входять заголовок та список транзакцій. Заголовок блоку включає в себе свій геш, геш попереднього блоку, геши транзакцій та додаткову службову інформацію. Першою транзакцією в блоці завжди вказується отримання комісії, яка стане нагородою користувачеві за створений блок. Для проведення транзакцій в блоці використовують деревоподібне гешування, аналогічне формуванню геш-суми файлу в протоколі BitTorrent (тому самому, який використовується в роботі торент-трекерів). Транзакції, крім нарахування комісії за створення блоку, містять всередині атрибута input посилання на транзакцію, за якою на цей рахунок були отримані біткойни (або інші дані чи цифрові валюти). Комісійні операції можуть містити в атрибуті будь-яку інформацію (для них це поле носить назву Coinbase parameter), оскільки у них немає батьківських транзакцій. Створений блок буде прийнятий іншими користувачами, якщо числове значення гешу заголовка дорівнює або нижче певного числа, величина якого періодично коригується.
Оскільки результат гешування (функції SHA-256) непередбачуваний, немає алгоритму отримання бажаного результату, окрім випадкового перебору. Якщо геш не задовольняє умову, то довільно змінюється блок службової інформації в заголовку — і геш перераховується. Після співпадіння варіантів вузол розсилає отриманий блок іншим підключеним вузлам, які перевіряють блок. Якщо помилок немає, то блок вважається доданим в ланцюжок і наступний блок повинен включити в себе його геш. А тоді все починається спочатку.
Чи можливі зміни всередині блоку
Величина цільового числа, з яким порівнюється геш, коригується через кожні 2016 блоків. Заплановано, що вся мережа буде витрачати на генерацію одного блоку приблизно 10 хвилин, на 2016 блоків — близько двох тижнів. Якщо 2016 блоків сформовані швидше, то мета трохи зменшується і досягти її стає важче, в іншому випадку мета збільшується. Зміна складності обчислень не впливає на надійність криптовалютУкраїнський стартап посів друге місце на міжнародному blockchain-хакатоні (наприклад, Bitcoin) і потрібна лише для того, щоб система генерувала блоки майже з постійною швидкістю незалежно від потужності.
Найчастіше умисна зміна інформації в будь-якій з копій бази або навіть в досить великій кількості копій не буде визнана істинною, оскільки не відповідатиме правилам. Деякі зміни можуть бути прийняті, якщо будуть внесені в усі копії бази (наприклад, видалення кількох останніх блоків через помилку в їхньому формуванні). Як бачите, такий підхід робить blockchain дуже захищеним способом генерування та передачі даних чи коштів через будь-які канали інтернет-з’єднання.
Що дає blockchain?
Основна «фішка» blockchain — можливість створювати на його базі не лише щось, пов’язане із криптовалютами, а будь-який сервіс, ця технологія лежатиме в його основі. Поки що виглядає blockchain на кшталт інтернету 1990-х. Штука крута, але місцями дуже «зелена» і незрозуміла для пересічної аудиторії. Щоби зрозуміти, як саме це працюватиме, наведу низку цікавих проектів, котрі не пов’язані з криптовалютами (привіт, Bitcoin) і про них за межами blockchain-тусовки не знають користувачі.
Чому ж тоді ми чуємо про blockchain саме у «зв’язці» із Bitcoin?
BitcoinBitcoin встановив черговий рекорд вартості — насправді лише один із проектів, а загалом їх сотні. Найпоширенішими стали численні «родичі» та «клони» біткоїнів — криптовалюти під різними брендами. Першим з’явилася саме технологія — «ланцюжок» blockchain — а тоді вже бренд та назва Bitcoin.
Зверніть увагу: Coinmarketcap — один із так званих агрегаторів проектів на блокчейні — найкраще місце для новачка, абе переглянути перелік основних blockchain-проектів та посилання на існуючі офіційні ресурси цих стартапів.
Також важливо пам’ятати: Кожен окремий blockchain — це спільнота чи певна екосистема, або публічна, або приватна. Найрозповсюдженішою є модель публічного blockchain.
Як змінювалася динаміка інтересу аудиторії до blockchain?
Глобально світ не знав про blockchain як технічне рішення до середини 2012-го — до того часу, поки не виникла критична маса зацікавлених у новій технології. Наприкінці 2013-го відбувається сплеск інтересу до Bitcoin — і тут же усі починають говорити і про blockchain. Саме у цей час відбувався потужний «інфошторм» на тему загальнодоступності криптовалют. Хоча вперше говорити про них почали у вузькому колі ще наприкінці 2008 року. В заключній декаді 2015 року відбувається експонентне зростання інтересу в інтернеті — і далі вже про цю технологію стабільно говорять.
Зв’язка із криптовалютами технології blockchain відобразилася і на коливаннях зацікавленості з боку інвестиційних фондів та компаній. Це чітко можна простежити на графіку від CB Insights.
На початку 2016 року відбувається «бум» інвестиційної активності. Хоча до того широкі маси користувачів та інвесторів нічого практично не знали про цю технологію. Перші інституційні інвестори почали заходити в нішу blockchain ще 2011-го. Пік активності припав на 2016 рік.
Ситуація, котра розгортається зараз довкола блокчейну, може бути описана класичним графіком проривних фундаментальних технологій, де різні стадії приваблюють різні сегменти аудиторії:
Blockchain подолав стадію «інноваторів», але ще не перейшов до «ранньої більшості».
Де може використовуватися blockchain
Один із актуальних для України прикладів — реєстр права власності. Якщо його побудувати із залученням публічного blockchain, отримаємо найстійкіший цифровий реєстр планети при низькій вартості реалізації. Більше того — для забезпечення цілісності реєстру це є безальтернативним технічним рішенням. Це рішення доступне будь-кому і практично нічого не коштуватиме. І це — в той час як корпорації та держави вкидають мільярдні бюджети на забезпечення цілісності даних різного рівня.
Основна перевага крім вартості — непідконтрольність баз даних публічних блокчейнів жодній окремій організації, нації чи державі. Разом із цим активне впровадження blockchain знімає потребу в технічних посередниках та інституціях для регулювання. Перспектива значна, і недаремно Стенфорд, Гарвард, MIT почали вивчення можливостей blockchain із 2016 року.
Де можна побачити роботу блокчейну на практиці
Proofofexistence.com — cервіс, який дозволяє без будь-яких посередників (наприклад, нотаріуса) на 100% підтвердити, що оформлений договір в цифровому вигляді існував, а його текст та умовиповністю ідентичні оригіналові.
Steemit.com — блогерська мережа, де винагороду за контент отримує кожен автор, а цензури та блокувань контенту немає.
Emercoin.com — багатофункціональна платформа, на якій можна повністю виключити реалізацію товарів-підробок чи обману покупців.
Authorizer.io — послуга авторизації, схожа на логін за допомогою облікового запису у Facebook. ТІльки у цьому випадку цифровий ID забезпечений стійкістю бази даних blockchain, і ви (а не компанія Цукерберґа) контролюєте свої дані.
Де можна поповнити теоретичні знання про цю технологію
Для тих, кого цікавить не лише практична, але й теоретична сторона питання, найбільш рекомендованим є курс Принстонського університету на платформі Coursera — він розпочнеться 12 червня 2017 року.