4 серпня 2017 року український суд дозволив підрозділу поліції (а не СБУ!) в Києві отримати доступ до електронного обладнання й документів, які начебто використовувалися для видобутку біткойнів [1]. Цей інцидент привернув увагу українських медіа, які назвали його справою з видобутком біткойнів в Інституті Патона. Ця стаття пояснює, що таке добування біткойнів у простих нетехнічних словах і розповідає про регулювання видобутку біткойнів в Україні. Тут не йдеться про те, що відбувалося на місці видобутку і наскільки це законно, та про регулювання біткоінів і інших криптовалют в Україні.
Що таке видобування біткойнів?
Видобування біткойнів — це обчислення. Обчислення виконується з використанням комп’ютерів. Його мета — знайти розв’язок складної математичної задачі. Ті, хто розв’язує задачу, отримують у винагороду певну кількість біткойнів.
Чому система біткойнів вимагає, щоб учасники розв’язували складні математичні задачі?
Насправді це діяльність, яка вимагає багато часу й має на меті ускладнити створення й перевірку записів у системі. Це своєрідна система захисту від спаму. Схожий принцип (по суті, таку ж концепцію під назвою «доказ виконання роботи» (proof-of-work)) іноді використовують для захисту серверів від DDoS-атак. Простіше кажучи, щоб зробити запис певного типу (блок) у системі біткойнів, користувач повинен довести, що він «реальний». «Реальний» тут означає, що користувач має суттєву обчислювальну потужність і може розв’язувати складні задачі.
Яка функція записів, виконаних «реальним» користувачем у процесі видобування біткойнів?
До системи біткойнів (блокчейну) постійно надходять нові транзакції. Щоб запобігти маніпуляціям, транзакції зашифровуються і записуються у так звані «блоки». Потім ці блоки поширюються на цілу систему.
І тут починається цікавий і водночас складний етап, який гарантує, що транзакції не стануть предметом маніпуляцій. У цьому суть технології, яка лежить в основі біткойнів. Вона має назву блокчейн (blockchain) і може використовуватися в інших програмах, які вимагають відстеження транзакцій. Основна відмінність від інших технологій, які сьогодні використовуються для запису транзакцій, полягає в тому, що тут немає центрального органу, який має право зберігати та веріфікувати транзакції. Кожен учасник системи веде облік усіх транзакцій. Отже, яка гарантія, що в майбутньому записів не змінять заради шахрайських цілей? У стандартній (централізованій) системі існують правові й правоохоронні структури, які стежать за тим, щоб центральний орган дотримувався правил. Якщо хтось порушує правила, проти нього порушують справу в суді. Це створює впевненість у тому, що система працює так, як треба.
У системі біткойнів нема центрального органу чи правоохоронних органів, які гарантуватимуть, що блоки транзакцій, розподілені на всю систему, не стануть предметом маніпуляцій. Тоді як це працює? Коли записується новий блок, він містить у собі слід від попереднього блоку — так званий «хеш». Можна описати це за дещо спрощенною аналогією до ДНК. Перший блок — батько. Наступний — дитина. Організм дитини отримає багато нової інформації (тільки не мутацій і ДНК від матері, а інформацію про нові транзакції, які увійшли до системи після народження батька). Крім того, там буде слід батьківської ДНК (хеш). Коли буде записаний новий блок (онук), він міститиме слід ДНК і батька, і дідуся. І перевірити, походить ДНК (хеш) від батька та дідуся чи ні, дуже легко. Таким чином, якщо в майбутньому хтось захоче змінити запис транзакцій, йому доведеться замінити всі блоки, створені з часу проведення цих транзакцій, або створити багато нових альтернативних блоків і розподілити їх на всю систему, щоб збити її з пантелику. Ось чому процес створення нових блоків має бути складним. Адже якби можна було створити мільйон блоків за мілісекунду, то було б просто вчинити шахрайство. Отож, у системі біткойнів розв’язання складної задачі є необхідною умовою для створення блоку, щоб нові блоки не можна було створювати швидко. Винагородою за створення блоку є певна кількість біткойнів. У результаті користувачі інвестують у видобування біткойнів — створення перевірених (за допомогою ДНК) записів транзакцій.
І все-таки: навіщо нам потрібні блоки? Чому не можна просто ділитися всіма транзакціями з усіма? Тоді в разі конфлікту або шахрайства ми змогли б перевірити, яка транзакція була першою поширена в цілій системі. Проблема з цим підходом полягає в тому, що шахрай може пізніше поширити шахрайську транзакцію на цілу систему й тоді буде складно визначити, яка транзакція була поширена першою (хіба що, звісно, всі все реєструватимуть, а систему записів неможливо буде пошкодити). Наспарвді, блоки і є системою реєєстрації. Якщо блок був створений раніше і має ДНК транзакції, то очевидно, що транзакція існувала у момент створення блоку. Таким чином, блоки служать доказом часу транзакції і дають змогу ідентифікувати, якщо виникає суперечка про те, яка транзакція існувала раніше. Ця система все одно не захищена повністю від зловживань, але ціна такого зловживання висока. Однак це тема для окремої статті.
Висновок
Згідно наявних офіційних документів, СБУ не має стосунку до цієї справи. Видобування біткойна — це розв’язання математичних задач, а біткойн — винагорода за розв’язок. Біткойн — це немовби чек, який можна нескінченно (майже!) переписувати на інше ім’я. Розв’язання математичних завдань робить шахрайство з біткоінами значно складнішим.
Примітка
[1] Згідно зі звітами деяких медіа та інформацією зсередини індустрії, криптовалюта, що видобувалася у місці, оглянутому поліцією, не була біткоіном. Тим не менше, офіційні документи суду не містять згадок жодної іншої криптокультури. Відповідно, ця стаття фокусується на біткойні.