Донецкий техникум промышленной автоматики

На межі: біткойн ткнувся в фундаментальні обмеження

Еволюція першої та (поки ще) найпопулярнішою з криптовалюта триває: ця весна принесла в основному хороші звістки для проекту Bitcoin, в тому числі важливі і для російських прихильників. На Заході на нього звернули увагу найбільші біржі: NASDAQ і NYSE, відповідно застосувала біткойн-механіку в процесі випуску цінних паперів і готує до запуску офіційний індекс BTC до класичних валют. У Росії власникам кількох заблокованих веб-сайтів вдалося через суд домогтися зняття блокування. Уже крок вперед: принаймні ми можемо тепер писати російською про біткойн і не боятися, що завтра будемо відправлені у безстрокову бан, а то і шити рукавиці.

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

Вузьких місць кілька, але найболючіше на поточний момент заховано в обмеженій кількості транзакцій, які мережу Bitcoin здатна провести в одиницю часу. Щоб зрозуміти, як це обмеження з'явилося, варто згадати як біткойн працює. Клієнти «пересилають» один одному довільні суми - і є єдиний, загальний для всіх, список «грошових переказів», такий собі гроссбух, куди кожна операція повинна бути занесена, щоб вважатися виконаною (докладніше див. « Троє друзів, цукерка і монета »). Збирають операції, запевняють їх своїми підписами і заносять в список особливі учасники Bitcoin: Майнер. Щоб якось упорядкувати процес ведення «гросбуха» (Майнер необхідно координувати свої дії), операції заносяться в нього не поодинці, а по кілька штук разом, блоками, приблизно один блок кожні десять хвилин. І максимальний розмір блоку обмежений одним мегабайтом - а поставив це обмеження не хто інший як Сатоши Накамото власною персоною, ще в ті роки, коли в Bitcoin було мало учасників і мережу можна було легко обвалити зловмисникам (так, Накамото обмежив розмір блоку з кращих спонукань! ).

Еволюція першої та (поки ще) найпопулярнішою з криптовалюта триває: ця весна принесла в основному хороші звістки для проекту Bitcoin, в тому числі важливі і для російських прихильників

Усереднене кількість біткойн-транзакцій на добу. Зверніть увагу, що шкала логарифмічна: так легше виявляються тенденції (графіка: Blockchain.info).

Далі - проста математика. На запис про кожен грошовий переказ потрібно від 200 байт і більше (зазвичай близько полукілобайта). Але кожні десять хвилин мережа здатна перетравити не більше одного мегабайта записів. Отже, за одиницю часу через мережу Bitcoin фізично не може бути проведено більше певної кількості транзакцій. Параметр цей зазвичай вважають в транзакціях за секунду, TPS. Теоретичний стелю 7 TPS, практичний - близько 3.

Шість років тому, коли біткойн народився, це не було проблемою. І навіть три роки тому не було теж: тоді в десять секунд проводилася від сили одна операція. Але час йде, і - погляньте на графік вище: кількість біткойн-транзакцій зростає стабільно і в нинішньому році вийшло на чергову рекордну висоту, пробивши позначку 110 тисяч штук на добу. А це вже 1.3 TPS. Грубо, сформувалася залежність: кількість транзакцій збільшується в десять разів кожні три роки, тому вже через рік-півтора, тобто наступного літа, Bitcoin припинить роботу, «встане». На її «магістралях» утворюються «пробки»: час проведення операції виросте нескінченно. Далі - паніка, відтік клієнтів, банкрутства, втручання влади тощо

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

А це «чайові», щодоби виплачуються Майнер в мережі Bitcoin. На жаль, крива забирає догори не так круто, як сподівалися три роки тому, але міркування не змінилися: щоб біткойн-Майнінг не втратила рентабельності (якщо він стане збитковим, мережа встане), учасникам доведеться платити (сумарно) все більше комісійних за переказ коштів .

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

Але чи реально це взагалі? Адже якщо вирішувати задачу в лоб, доведеться збільшити розмір блок хоча б в сто раз - і це тільки для початку. Сто мегабайт операцій кожні десять хвилин! Півтора десятка гігабайт на добу! Тримати повну базу біткойн-транзакцій на домашньому комп'ютері стане неможливим.

Втім, чисто технічно тут все здійсненно: так, принаймні стверджує Гевін Андресен - де-факто керівник проекту Bitcoin, що зайняв місце Накамото. Андресеном збільшення розміру блоку бачиться найпростішим способом уникнути кризи, що насувається - і вже з наступного березня він пропонує встановити його в 20 Мбайт. За словами Гевіна , Таке збільшення буде ще під силу користувачам біткойнов: швидкості інтернет-каналів поки вистачить, обчислювальних потужностей теж, зберігати всі транзакції рядовим клієнтам необхідності не буде (є запас по оптимізаціям і оригінальні технічні рішення, що дозволяють зменшити обсяг обов'язково зберігається до осудних величин).

Але збільшувати розмір далі? Програма-то впорається, але Андресен не впевнений у можливостях користувачів (він побоюється, зокрема, що темпи збільшення швидкостей домашнього інтернету в найближчі роки чекає застій). Втім, чого там, багато хто з учасників розробки Bitcoin сумніваються, що радикальне збільшення розміру блоку взагалі здатне пройти без проблем - і пропонують, щоб не ризикувати, почати з малих інкрементів.

Втім, чого там, багато хто з учасників розробки Bitcoin сумніваються, що радикальне збільшення розміру блоку взагалі здатне пройти без проблем - і пропонують, щоб не ризикувати, почати з малих інкрементів

Гевін Андресен - фактичний керівник проекту Bitcoin. Він вірить в криптовалюта, називаючи її «добрим золотом ніж саме золото», має ексклюзивний доступ до «тривожної кнопки», що дозволяє розсилати всім користувачам повідомлення в разі необхідності, і направляє розробку. Дуже схоже на роль Лінуса Торвальдса, але Гевін доводиться важче.

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

У Linux для користувача маса захищена від побічних ефектів необов'язковістю апдейта: кожен може оновити свою комп'ютер до останньої версії лінуксового ядра тоді, коли йому особисто це зважить за потрібне. З Bitcoin так не вийде: радикальні рішення, на зразок збільшення розміру блоку, вимагають мало не синхронного оновлення ПЗ на всіх вузлах системи, на комп'ютері кожного користувача. Ті, хто не оновився вчасно, виявляться автоматично відрізаними від кріптовалютной мережі: їх переклади не братимуться. Але ж від нормального функціонування Bitcoin залежать вже тисячі людей, компаній, груп компаній, фінансових систем!

Інакше кажучи, процес внесення змін до Bitcoin повинен кимось і якось регулюватися: купка технарів-ентузіастів, нехай навіть і спілкувалися з Накамото, на цю роль не годяться. Потрібна некомерційна організація, яка об'єднала б усі зацікавлені сторони, незалежно від їх національності і величини капіталу. Нічого подібного у Bitcoin в даний час немає (Bitcoin Foundation, заснована в 2012 році, квартирує в США і навіть там конфліктує з владою, а учасники гризуться між собою). І навряд чи народження такої організації обійдеться без додаткових труднощів ...

PS У статті використані ілюстрації CoinDesk , Pixel Logic .

Як?
Але чи реально це взагалі?
Але збільшувати розмір далі?