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

605b34092afed.jpg

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

Популярним блокчейн став завдяки криптовалюті. Найвідоміша з них — біткоїн. У концепції був прописаний, принцип розподіленої бази даних, ланцюжки блоків — звідси і пішло поняття «блокчейн». Біткоїн не підкріплений товаром — це зашифрований програмний код, дані якого записані на блокчейні. Але незважаючи на його віртуальність, цю валюту все-таки треба купувати за звичайні гроші або обмінювати на товар. І навіть видобуток (mining, майнінг) самого блоку з біткоїнів — витратний захід через високі затрати на обчислювальні машини.

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

Отже, біткоїни і блокчейн — явища різного порядку, але перше підпорядковується другому; і якщо блокчейн може використовуватися поза зоною дії криптовалюти, то електронні гроші без протоколів блокчейна не працюють. Біткоін, як і блокчейн, повністю прозорий і відкритий, а кожен вузол (node) рівноправний в цій мережі.

Децентралізовані мережі.

Існує два визначення терміну Блокчейн (Blockchain): розподілена база даних; безперервна послідовність ланцюжок блоків, що містять інформацію.

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

Всього існує два типи архітектур:

Клієнт-серверна мережа;

Тимчасова (пірінгова) мережа.

605b34cc6ede9.png

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

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

Криптовалюта.

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

Платіж (передача криптовалюти між адресами) відбувається без посередників в незворотній функції — немає механізму скасування підтвердженої операції, включаючи випадки, коли платіж був відправлений на помилковий або неіснуючий адрес, або коли транзакцію зробили сторонні особи, яким став відомий закритий ключ. Криптовалюту ні на конкретну адресу, ні в цілому ніхто не може заблокувати (заарештувати), навіть тимчасово. Вона завжди в розпорядженні власника закритого ключа за даною адресою. Правда, технологія мультипідпису дозволяє добровільно залучити третю сторону (арбітра) і реалізувати «оборотні транзакції», які можуть відбуватися проти волі однієї зі сторін. Більш складні умови (розумні контракти) реалізуються за допомогою спеціальних сценарних мов. Наприклад Технологія Ethereum дає можливість реєстрації будь-яких угод з будь-якими активами на основі розподіленої бази контрактів типу блокчейн, не вдаючись до традиційних юридичних процедур.

Блокчейн — блок транзакцій.

Блок транзакцій — спеціальна структура для запису групи транзакцій в системі біткойнів і аналогічних їй. Транзакція вважається завершеною і достовірної ( «підтвердженої»), коли перевірені її формат і підписи, і коли сама транзакція об'єднана в групу з декількома іншими і записана в спеціальну структуру — блок. Вміст блоків може бути перевірено, так як кожен блок містить інформацію про попередній блок. Всі блоки збудовані в один ланцюжок, який містить інформацію про всі вчинені коли-небудь операціях в базі. Найперший блок в ланцюжку — первинний блок (англ. Genesis block) — розглядається, як окремий випадок, так як у нього відсутній батьківський блок.

Блок складається із заголовка та списку транзакцій. Тема блоку включає в себе свій хеш, хеш попереднього блоку, хеші транзакцій і додаткову службову інформацію. В системі біткоїнів першою транзакцією в блоці завжди вказується отримання комісії, яка стане нагородою Майнеру за створений блок. Далі йде список транзакцій, сформований з черги транзакцій, ще не записаних в попередні блоки. Критерій відбору з черги задає майнер самостійно. Це не обов'язково повинна бути хронологія за часом. Наприклад, можуть включатися тільки операції з високою комісією або за участю заданого списку адрес. Для транзакцій в блоці використовується деревоподібне хешування, аналогічне формування хеш-суми для файлу в протоколі BitTorrent. Транзакції, крім нарахування комісії за створення блоку, містять всередині параметра input посилання на транзакцію з попереднім станом даних (в системі біткоїнів, наприклад, дається посилання на ту транзакцію, по якій були отримані біткоїни). Операції з передачі Майнеру комісії за створення блоку не мають «вхідних» транзакцій, тому в даному параметрі може вказуватися будь-яка інформація (для них це поле зветься англ. Coinbase parameter).

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

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

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

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

Після вивчення основних компонентів і історії створення технології настав час остаточно розвіяти міф, пов'язаний зі словом «блокчейн». Розглянемо на простому прикладі обміну цифровою валютою принцип роботи технології блокчейн без комп'ютерів.

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

1. Порожня коробка

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

2. Момент транзакції

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

У якийсь момент учасник №2 хоче відправити 100 гривень учаснику №9.

Щоб зробити транзакцію учасник №2 оголошує всім: «Я хочу передати 100 гривень №9, тому зробіть запис про це на своєму аркуші».

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

Після цього транзакція вважається виконаною.

3. Виконання транзакцій

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

4. Додавання листа в коробку

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

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

змагальні моделі

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

Порогові моделі. Для стабільної роботи мережі потрібно, щоб число зловмисників було менше деякого значення (половини або третини від усіх учасників).

Обчислювальні порогові моделі. Розроблена Сатоши Накамото модель використання обчислювальної потужності учасників для вибору правильного блоку. У ставленні до блокчейну такі системи грунтуються на принципі Proof-of-Work (Доказ роботи). До них відноситься Bitcoin, Ethereum і інші.

Часткова порогова модель. Об'єднання попередніх ідей, де обчислення комп'ютерів замінюються якимось об'єктом, що становлять цінність. Наприклад, сама криптовалюта служить об'єктом застави, який учасник використовується для підтвердження валідності блоку. Наступне покоління блокчейна використовує цей метод під назвою Proof-of-Stake (Доказ частки володіння). Яскравим представником такої моделі є NEO.

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

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

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

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

варіанти використання

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

платежі

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

неможливість скасувати транзакцію і отримати назад гроші за неякісний товар або послугу;

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

розумні контракти

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

Якщо трапилося A, виконай B.

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

Збереження даних

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

голосування

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

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

Застосовність блокчейн технології

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


Як отримати біткойн?


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

На звичайному PC або MacBook сьогодні це зробити складно (ще в 2009 році можна було). Тепер необхідні високі потужності, доступ до дешевої енергії, великі приміщення, програма для Майнінгу — графічний процесор відеокарти і інші супутні витрати. Розрахунки підписів блоків постійно змінюються (приблизно раз на два тижні), тому, щоб отримати єдиний потрібний з циркулюючих в мережі кодів, доведеться витратити чимало енергії та часу.

Багато хто порівнює видобуток біткоїнів з миттям золота — щоб отримати крупиці дорогоцінного металу, потрібно докласти багато зусиль на копальні; легше працювати в промислових масштабах. За деякими оцінками, вартість найбільш популярного пристрою для Майнінгу, яке виробляє китайська Bitmain коштує $ 2500, а термін його окупності — близько 12 місяців. Простому обивателю сьогодні витрачати час на Майнінг практично безглуздо, хіба що скооперуватися з іншими шукачами біткоїнів.

Зараз основні Майнери — великі дата-центри, що володіють доступом до порівняно дешевої енергії, площами для утримання суперкомп'ютерів, які можуть одноразово генерувати величезну кількість варіантів криптографічного підпису блоку. На майнінгових фермах електрики витрачається стільки ж, скільки споживає місто з населенням 100 000 чоловік. Завдяки технології блокчейну відключення одного або декількох дата-центрів не призводить до зупинки операції в мережі: для цього потрібно відключити їх всі.

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

NEO

NEO — це відкритий блокчейн для розумної економіки. Творці собі за мету ставлять розвиток екосистеми смарт контрактів на основі своєї мережі. В основі NEO лежить модель докази частки володіння (Proof-of-Stake), що дозволяє домогтися проведення до 10000 операцій в секунду. В якості застави використовується криптовалюта Neo, а для оплати комісій за проведення транзакцій використовується NeoGas, який створюється при отриманні нових блоків і розподіляється між власниками Neo.

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

Сьогодні до блокчейну підключено 100 точок. Водій може керувати зарядкою за допомогою мобільного додатку. Йому потрібно тільки зареєструватися, завантажити цифрові євро в гаманець, вибрати зарядку, підтвердити оплату і отримати чек по електронній пошті. Все інше: облік витрат енергії і платіжних операцій, аутентифікацію користувачів — бере на себе блокчейн.

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

Накопичену криптовалюту виробники енергії можуть оплачувати інші послуги, її також можна обміняти на біткоїни. Творці SolarCoin планують домогтися вироблення 97 500 терават-годин сонячної енергії протягом наступних 40 років.