Книга «Децентралізовані програми. Технологія Blockchain в дії»

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

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

Історія появи децентралізованих додатків
На ранніх етапах Всесвітня павутина не мала такої практичної користі, як у наші дні, коли ми володіємо безліччю додатків і служб на всі випадки життя, але вже тоді вона дозволяла відчути, що таке розгалуженість. Всесвітня павутина спочатку не мала єдиного центру. Протокол HTTP з'єднує всі обчислювальні пристрої на планеті, які мають підключення до Інтернету. У своїй роботі протокол HTTP спирається на безліч довірчих серверів, що перетворюють веб-адреси в мережеві адреси серверів. Крім того, протокол HTTPS додає ще один рівень довірчих серверів та центрів сертифікації. Люди отримали можливість встановлювати і включати в роботу власні сервери, до яких можуть підключатися інші і зберігати на них свої дані. Але незабаром стали з'являтися сервери додатків, і народилася добре відома нині централізована модель володіння даними. Чому розвиток пішов по цьому шляху?

Відповідь проста: тому що цей шлях простіше і ідеологічно, і програмно. Він виявився найбільш простим у реалізації, і він працював. Одна людина або група оплачували зміст сервера і отримували прибуток від користувачів програмного забезпечення. Одними з перших популярних централізованих додатків стали MySpace і Yahoo!.. Більш сучасні програми, такі як Über і Airbnb, децентралізовані окремі сегменти бізнесу, надаючи централізоване і довірена сховище даних. Вони одними з перших дали змогу отримувати прибуток у різних сферах економіки. Їх децентралізована бізнес-модель віщує появу ще більш децентралізованих додатків.

На деякому етапі розвитку Всесвітньої павутини з'явився новий протокол, розроблений Бремом Коеном, який отримав назву BitTorrent. Цей протокол був створений для вирішення проблеми тривалості завантаження величезних медіафайлів через HTTP і як удосконалення деяких однорангових (P2P) попередників начебто Gnutella, Napster і Grokster. Проблема полягала в тому, що завантаження великих файлів займала дуже тривалий час, а із зростанням Всесвітньої павутини збільшувалися і розміри самих файлів. У той же час зростала ємність жорстких дисків і збільшувалася кількість людей, підключених до Інтернету. BitTorrent вирішив проблему, перетворивши завантажують в роздають.

Якщо вам потрібен деякий файл, ви могли завантажити його не з одного, а відразу з декількох джерел. Чим популярніший файл, тим більше користувачів загружало і, відповідно, роздавав його. А чим більше джерел, тим швидше здійснюється завантаження. Сидеры (seeders)1 винагороджувалися більше високими швидкостями завантаження, а личеры (leechers)2, навпаки, каралися обмеженням швидкості. Система передачі даних, організована за принципом «ти — мені, я — тобі», довела свою ефективність для поширення медіафайлів великого розміру, таких як фільми і запису телевізійних передач.

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

Тоді чому розвиток Всесвітньої павутини не пішла по цьому шляху?

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

PopcornTime

PopcornTime використовує протокол BitTorrent для передачі потокового відео між користувачами в режимі реального часу, діючи подібно BitTorrent-клієнта Netflix. Це справжній кошмар для американської асоціації кінокомпаній (Motion Picture Association of America, MPAA). Ніякої регулятор не здатний встановити свої обмеження, і тепер будь-хто може отримати вільний доступ до фільмів. PopcornTime виявився практичним децентралізованим додатком, що діють як децентралізована версія Netflix. Творці стверджують, що їх додаток використовується у всіх країнах і навіть у двох країнах, де немає Інтернету. У PopcornTime відсутня внутрішня конкуренція, і в ньому не потрібна підтримка децентралізованого консенсусу, тому немає необхідності використовувати ланцюжка блоків. Це додаток просто передає потокове відео, і тим самим забезпечується його чимала цінність.

OpenBazaar

Метою розробки OpenBazaar було створення децентралізованої версії Ebay. У додатку OpenBazaar відсутні посередники, які вказували б продавцям, що вони можуть продавати, а що — ні, або стягували б плату за послуги. Воно базується на протоколі BitTorrent, однак проблема полягає в тому, що продавці повинні мати власні сховища. Вони змушені настроювати власні сервери, щоб користувачі могли бачити продавані товари. В ідеалі продавці могли б просто вивантажувати свою інформацію в мережу, можливо, за невелику плату, і позбутися від зайвого занепокоєння. Але для цього необхідна децентралізована система зацікавлених зберігачів (майнер у термінології Bitcoin), про які детальніше розповідається у розділі 4. Для передачі даних в OpenBazaar використовується протокол BitTorrent, а для розрахунків — криптовалюта Bitcoin.

FireChat

Додаток FireChat з'явилося у зв'язку з відомими подіями — демократичними протестами в Гонконзі в 2014 році. Сумно відомий «Великий китайський брандмауер» (Great Firewall) блокує доступ до продемократическим сайтів або до сайтів, які поширюють інформацію, що йде врозріз з інтересами китайського уряду. Протестувальники боялися, що уряд спробує закрити доступ до різних соціальних мереж, щоб позбавити їх спілкування за допомогою протоколу HTTP. Тому вони застосовували FireChat, додаток, що використовує нову можливість iOS 7 з назвою Multipeer Connectivity (багатосторонні з'єднання), що дозволяє телефонами зв'язуватися один з одним без посередників. З-за відсутності центральної точки відмови уряду довелося б відключати вручну кожен вузол, що практично неможливо, тому протестувальники могли впевнено спілкуватися один з одним.

Децентралізований протест в кращому його прояві.

Lighthouse

Ми детально обговоримо Lighthouse в главі 5, а поки зазначу, що це гаманець для Bitcoin з набором вбудованих розумних контрактів. Розумні контракти допомагають вкладати гроші в певні проекти, так само як, наприклад, Kickstarter. Коли проект досягає своєї мети, з'являється можливість повернути кошти з гаманця Lighthouse проекту, збирає кошти. Вкладник може в будь-який момент відкликати свій вклад без попередження творця проекту. Lighthouse — відмінний приклад використання існуючої інфраструктури Bitcoin для створення свого децентралізованого програми. Lighthouse — це всього лише користувальницький інтерфейс з декількома вбудованими розумними контрактами Bitcoin. Додаток працює, спираючись на коло користувачів Bitcoin. Воно відкрито, покладається на підтримку децентралізованого консенсусу, не має центральної точки відмови, але не використовує власну валюту, а Bitcoin. Це дуже корисний додаток, але воно не приносить комерційної вигоди творцям.

Gems

Gems — це додаток-месенджер, розроблене з метою створення більш справедливого бізнес-моделі, ніж WhatsApp. Gems випускає власну валюту і дозволяє рекламодавцям платити користувачам безпосередньо за свої дані, без участі посередників, які отримують свою частку. Користувачі теж можуть заробляти геми, залучаючи нових користувачів до мережі. Геми — це метамонеты валюти Gems, заснованої на Bitcoin, які розробники також отримують за розробку і супровід програмного забезпечення. Коло користувачів Gems постійно розширюється, тому зростає цінність валюти. Користувачі зацікавлені в розширенні й отриманні доходу, як і розробники. Gems можна розглядати як приклад пайової участі у розвитку децентралізованого програми. Його вихідний код закритий, тому у користувачів немає можливості переконатися у відсутності єдиної точки відмови. Gems — це комерційно вигідну додаток, але, на мій погляд, воно не володіє достатнім запасом надійності, щоб витримати конкуренцію з продуктами, що відповідають трьом іншим критеріям.

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

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

» Більш докладно з книгою можна ознайомитися на сайті видавництва
» Зміст
» Уривок

Для Хаброжителей знижка 25% по купону — Applications

Джерело: Хабрахабр

0 коментарів

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