Се­год­ня бит­коин — лишь один из тысяч циф­ровых акти­вов. Почему появи­лись Litecoin и Ethereum? Зачем понадо­бились Monero, XRP и Cardano? Чем токен отли­чает­ся от «нас­тоящей» крип­товалю­ты, а стей­блко­ин — от мем­коина? И почему одни про­екты ста­новят­ся фун­дамен­том целых эко­сис­тем, тог­да как дру­гие исче­зают спус­тя нес­коль­ко лет? В этой статье мы пос­мотрим, как эво­люци­они­рова­ли идеи, заложен­ные Сатоси Накамо­то, и во что прев­ратилась крип­тоин­дус­трия за про­шед­шие годы.

Ког­да в 2009 году появил­ся Bitcoin, мно­гим казалось, что этот необыч­ный экспе­римент так и оста­нет­ся уни­каль­ным. Децен­тра­лизо­ван­ная элек­трон­ная валюта, исполь­зующая в сво­ей осно­ве крип­тогра­фию, выг­лядела нас­толь­ко необыч­но, что само ее сущес­тво­вание уже вос­при­нима­лось как тех­нологи­чес­кое чудо. Но вско­ре раз­работ­чики по все­му миру начали задавать­ся воп­росами: мож­но ли под­тверждать тран­закции быс­трее, как повысить кон­фиден­циаль­ность, есть ли спо­собы прев­ратить крип­ту в уни­вер­саль­ную плат­форму, на которой работа­ют слож­ные при­ложе­ния для авто­мати­зации сде­лок? Так появи­лись десят­ки, затем сот­ни, а потом и тысячи новых про­ектов, а сам бит­коин стал не конеч­ной целью, а отправ­ной точ­кой прин­ципи­аль­но новой циф­ровой индус­трии. Мно­гие из подоб­ных про­ектов впол­не успешно реша­ют задачи, о которых соз­датели пер­вой крип­товалю­ты даже не задумы­вались.

Се­год­ня сло­вом «крип­товалю­та» называ­ют совер­шенно раз­ные тех­нологии, при­чем зачас­тую безос­нователь­но. Litecoin отли­чает­ся от Bitcoin вов­се не тем, чем Monero от Ethereum, а токен USDT и вов­се не явля­ется самос­тоятель­ной крип­товалю­той, хотя боль­шинс­тво поль­зовате­лей хра­нит его в том же кошель­ке и перево­дит точ­но так же, как бит­коины или эфир. Нович­ки называ­ют крип­товалю­той любой циф­ровой актив, а бир­жи тор­гуют тысяча­ми монет и токенов, хотя за ними скры­вают­ся прин­ципи­аль­но раз­ные тех­ничес­кие решения. Давай раз­берем­ся, какие идеи появи­лись пос­ле Bitcoin, почему воз­никли аль­тко­ины, чем они отли­чают­ся друг от дру­га, зачем понадо­бились токены, а заод­но обсу­дим, почему далеко не каж­дая гром­кая идея пережи­вает про­вер­ку вре­менем.

 

Форки Bitcoin

Поч­ти любая зре­лая тех­нология рано или поз­дно стал­кива­ется с одной и той же проб­лемой: пока поль­зовате­лей мало, все доволь­ны, но сто­ит наг­рузке вырас­ти — и сра­зу выяс­няет­ся, что часть архи­тек­турных решений уже не отве­чает воз­росшим тре­бова­ниям. Имен­но это про­изош­ло с Bitcoin. Сеть изна­чаль­но была задума­на мак­сималь­но кон­серва­тив­ной, изме­нить пра­вила работы блок­чей­на край­не слож­но: для это­го необ­ходимо, что­бы обновле­ние при­няло боль­шинс­тво учас­тни­ков сис­темы. Это защища­ет блок­чейн от пос­пешных экспе­римен­тов, но, если сооб­щес­тво не смо­жет догово­рить­ся о раз­витии про­токо­ла, у раз­работ­чиков оста­нет­ся один‑единс­твен­ный путь: отде­лить­ся.

Из­менения пра­вил работы блок­чей­на называ­ют фор­ком (fork, «раз­вилка»). Если новые пра­вила сов­мести­мы со ста­рыми, сеть про­дол­жает сущес­тво­вать как еди­ное целое (такие обновле­ния называ­ют soft fork), если же сов­мести­мос­ти нет, пос­ле опре­делен­ного бло­ка исто­рия блок­чей­на рас­ходит­ся на две незави­симые цепоч­ки. Такой сце­нарий называ­ется hard fork, и имен­но он при­водит к появ­лению новой крип­товалю­ты.

Са­мым извес­тным при­мером хар­дфор­ка стал Bitcoin Cash, который появил­ся на свет в августе 2017 года. К тому момен­ту Bitcoin пережи­вал серь­езные проб­лемы с мас­шта­биру­емостью: раз­мер бло­ка был огра­ничен одним мегабай­том, а количес­тво тран­закций рос­ло, мем­пул перепол­нялся, поэто­му комис­сии вре­мена­ми дос­тигали десят­ков дол­ларов, а под­твержде­ния тран­закций при­ходи­лось ждать очень дол­го. Сооб­щес­тво пред­ложило нес­коль­ко вари­антов решения: одна груп­па раз­работ­чиков выс­тупала за сох­ранение неболь­ших бло­ков и внед­рение тех­нологий вто­рого уров­ня, преж­де все­го Lightning Network, дру­гая счи­тала, что проб­лему мож­но решить про­ще — все­го лишь уве­личить раз­мер бло­ка и тем самым повысить про­пус­кную спо­соб­ность сети. Ком­про­мисс най­ти не уда­лось.

В резуль­тате часть учас­тни­ков сети запус­тила собс­твен­ную вер­сию блок­чей­на с уве­личен­ным лимитом раз­мера бло­ка — Bitcoin Cash. До момен­та раз­деления обе сети име­ли абсо­лют­но оди­нако­вую исто­рию: все тран­закции и балан­сы сов­падали, но пос­ле фор­ка эти две вет­ви блок­чей­на начали жить незави­симо друг от дру­га. При­мер Bitcoin Cash наг­лядно показы­вает, что, если дос­таточ­ное чис­ло учас­тни­ков сог­лаша­ется с изме­нени­ем пра­вил, воз­ника­ет новая сеть с незави­симой эко­номи­кой, собс­твен­ными раз­работ­чиками и собс­твен­ным сооб­щес­твом.

У Litecoin сов­сем дру­гая исто­рия: хотя эту крип­товалю­ту тоже называ­ют фор­ком Bitcoin, она родилась не в резуль­тате рас­кола. Про­ект был соз­дан в 2011 году быв­шим инже­нером Google Чар­ли Ли как самос­тоятель­ная крип­товалю­та на осно­ве откры­того исходно­го кода Bitcoin. Чар­ли не ста­вил сво­ей целью заменить Bitcoin, он хотел выяс­нить на прак­тике, как будет работать блок­чейн при изме­нении его парамет­ров. В Litecoin вре­мя соз­дания бло­ка сок­ратили с десяти минут до двух с полови­ной, бла­года­ря чему новые под­твержде­ния пос­тупа­ют при­мер­но в четыре раза быс­трее. Мак­сималь­ная эмис­сия так­же уве­личи­лась в четыре раза — до 84 мил­лионов монет вмес­то 21 мил­лиона у Bitcoin.

Име­лись и дру­гие отли­чия: нап­ример, в алго­рит­ме proof of work вмес­то SHA-256 исполь­зовал­ся Scrypt, который в пер­вые годы счи­тал­ся менее удоб­ным для спе­циали­зиро­ван­ных устрой­ств вро­де ASIC-май­неров, из‑за чего монеты Litecoin доволь­но эффектив­но добыва­лись на обыч­ных виде­окар­тах. Но со вре­менем для Scrypt так­же появи­лись ASIC-устрой­ства, и это пре­иму­щес­тво пос­тепен­но исчезло. Блок­чейн Litecoin пер­вым при­мерил на себя важ­ные изме­нения про­токо­ла: так, обновле­ние SegWit, которое вынес­ло часть дан­ных тран­закции (преж­де все­го под­писи) за пре­делы основной струк­туры, акти­виро­вали в сети Litecoin рань­ше, чем в Bitcoin. Здесь же появи­лись пер­вые ато­мар­ные сво­пы (atomic swaps) — это механизм пря­мого обме­на крип­товалю­тами меж­ду дву­мя сто­рона­ми без учас­тия бир­жи и дру­гих пос­редни­ков. Лай­тко­ин быс­тро обрел сво­их вер­ных пок­лонни­ков: если бит­коин час­то называ­ют «циф­ровым золотом», то лай­тко­ин — «циф­ровым сереб­ром».

К сло­ву, в 2013 году появил­ся уже «форк фор­ка» — вто­рая про­изводная от Litecoin, которую соз­дали прог­раммис­ты Бил­ли Мар­кус и Джек­сон Пэл­мер в качес­тве шуточ­ного про­екта, выс­меивающе­го царив­шую тог­да крип­товалют­ную лихорад­ку с бес­конеч­ными фор­ками и спе­куля­циями. Этот блок­чейн соз­датели наз­вали Dogecoin (дог­коин), а в качес­тве мас­кота выб­рали собаку породы сиба‑ину с популяр­ного тог­да мема. Dogecoin унас­ледовал от пра­роди­теля алго­ритм Scrypt и общую архи­тек­туру. С 2014 года в этой сети начал дей­ство­вать merge-mining — то есть май­неры получи­ли воз­можность одновре­мен­но добывать обе монеты одним и тем же вычис­литель­ным уси­лием, что решило проб­лему низ­кой хеш­рейт‑безопас­ности, с которой Dogecoin стол­кнул­ся в пер­вые годы сво­его сущес­тво­вания. Во всей этой исто­рии уди­витель­на куль­тур­ная живучесть про­екта, наг­лядно показы­вающая, что успех крип­товалю­ты не всег­да опре­деля­ется одни­ми лишь тех­ничес­кими пре­иму­щес­тва­ми, — рыноч­ная капита­лиза­ция Dogecoin годами дер­жалась в топ-10 без сколь­ко‑нибудь зна­чимых обновле­ний про­токо­ла. Даже нес­мотря на то, что сама крип­товалю­та появи­лась на свет в качес­тве при­кола.

Как видишь, эти два фор­ка — явле­ния совер­шенно раз­ного поряд­ка: один про­ект воз­ник из‑за прин­ципи­аль­ного спо­ра о будущем сущес­тву­ющей сети, дру­гой — как самос­тоятель­ный экспе­римент на осно­ве сво­бод­но рас­простра­няемых исходни­ков. Но в обо­их слу­чаях откры­тость про­токо­ла сыг­рала клю­чевую роль: любой раз­работ­чик может взять сущес­тву­ющий код, изме­нить пра­вила работы сис­темы и пред­ложить миру собс­твен­ное видение того, каким дол­жен быть блок­чейн.

 

Ethereum: блокчейн с программируемостью

В Bitcoin каж­дая тран­закция под­чиня­ется доволь­но жес­тким пра­вилам: она может раз­решить пот­ратить ранее получен­ные выходы, передать их дру­гому адре­сату, а так­же в некото­рых слу­чаях заб­локиро­вать средс­тва до нас­тупле­ния опре­делен­ных усло­вий или до предъ­явле­ния нуж­ной под­писи. Прак­тичес­ки с самого начала в этом блок­чей­не сущес­тву­ет спе­циаль­ный скрип­товый язык, но он намерен­но огра­ничен: в нем нет цик­лов, а набор опе­раций стро­го кон­тро­лиру­ется. Такое решение было при­нято соз­натель­но — чем про­ще логика, тем лег­че ана­лизи­ровать безопас­ность сети.

В 2013 году рос­сий­ско‑канад­ский прог­раммист Виталик Бутерин решил сде­лать сле­дующий шаг. Он попытал­ся соз­дать на осно­ве блок­чей­на уни­вер­саль­ную рас­пре­делен­ную вычис­литель­ную плат­форму, в которой мож­но было бы широко при­менять авто­мати­зацию. Так появи­лась сеть Ethereum (в рус­ско­языч­ном вари­анте — «эфир»), которая начала работу 30 июля 2015 года.

Глав­ным нов­шес­твом ста­ла встро­енная вир­туаль­ная машина — Ethereum Virtual Machine (EVM). С вир­туаль­ными машина­ми зна­ком, навер­ное, каж­дый, кто хотя бы раз в жиз­ни пытал­ся запус­тить «Линукс» под вин­дой, но EVM работа­ет нес­коль­ко ина­че. Эта вир­туал­ка рас­счи­тана на дру­гую задачу — выпол­нение спе­циаль­ных компь­ютер­ных прог­рамм, записан­ных в блок­чей­не. Такие прог­раммы, называ­емые смарт‑кон­трак­тами, авто­мати­чес­ки запус­кают­ся при нас­тупле­нии заранее опре­делен­ных усло­вий, а резуль­тат их работы ста­новит­ся частью обще­го сос­тояния сети.

Ра­бота­ет это так: прог­раммист пишет код кон­трак­та на Solidity или похожем язы­ке, а затем ком­пилиру­ет его в понят­ный EVM байт‑код. Ког­да поль­зователь отправ­ляет тран­закцию к это­му кон­трак­ту, его код запус­кает­ся сра­зу на всех узлах сети локаль­но и незави­симо, а резуль­тат исполне­ния прог­раммы дол­жен сов­пасть у всех узлов. Если резуль­тат сов­пал, тран­закция выпол­няет­ся. Имен­но на этом осно­вана авто­мати­зация: смарт‑кон­трак­ты чем‑то похожи на тор­говые авто­маты — если вне­сена нуж­ная сум­ма и товар есть в наличии, авто­мат выда­ет покуп­ку, если денег недос­таточ­но или товар закон­чился — воз­вра­щает монеты. Тор­говый авто­мат не обсужда­ет с покупа­телем усло­вия сдел­ки и не при­нима­ет решения. Смарт‑кон­тракт работа­ет при­мер­но по тому же прин­ципу, толь­ко вмес­то того, что­бы про­давать напит­ки и шоколад­ки, он может управлять циф­ровыми акти­вами, выдавать кре­диты, про­водить аук­ционы или обме­нивать крип­товалю­ты.

Ра­зуме­ется, для обра­бот­ки смарт‑кон­трак­тов тре­бует­ся пот­ратить опре­делен­ную вычис­литель­ную мощ­ность, поэто­му в блок­чей­не Ethereum сущес­тву­ет так называ­емый газ (gas), которым каж­дый поль­зователь пла­тит за про­веде­ние сво­их опе­раций. Газ поз­воля­ет огра­ничить вычис­ления, не допус­тить бес­конеч­ного выпол­нения при­ложе­ний и сни­зить наг­рузку на сеть. Про­ще говоря, если вир­туаль­ная машина EVM подоб­на дви­гате­лю авто­моби­ля, то газ — это бен­зин для такого дви­гате­ля. Каж­дая опе­рация вир­туаль­ной машины име­ет заранее опре­делен­ную сто­имость в условных еди­ницах газа. Прос­тое сло­жение чисел тре­бует сов­сем нем­ного ресур­сов, а запись дан­ных в блок­чейн или выпол­нение слож­ных вычис­лений обхо­дят­ся зна­читель­но дороже.

Важ­но понимать, что газ не явля­ется отдель­ной валютой, одна­ко поль­зовате­ли опла­чива­ют его с помощью ETH — собс­твен­ной крип­товалю­ты сети Ethereum. Перед отправ­кой тран­закции ука­зыва­ется мак­сималь­ное количес­тво газа, которое раз­решено пот­ратить, а так­же цена, которую поль­зователь готов зап­латить за каж­дую его еди­ницу. Если во вре­мя выпол­нения прог­раммы газ закан­чива­ется, вычис­ления прек­раща­ются, изме­нения сос­тояния сети отме­няют­ся, но уже пот­рачен­ные ресур­сы не воз­вра­щают­ся. Этот механизм одновре­мен­но защища­ет сеть от бес­конеч­ных цик­лов, сти­мули­рует раз­работ­чиков смарт‑кон­трак­тов мак­сималь­но опти­мизи­ровать код и слу­жит эко­номи­чес­ким сти­мулом для валида­торов обра­баты­вать тран­закции.

Еще одно важ­ное отли­чие Ethereum от Bitcoin свя­зано с моделью хра­нения дан­ных. В Bitcoin осно­вой уче­та слу­жит модель UTXO, о которой мы говори­ли в пре­дыду­щей статье. В Ethereum исполь­зует­ся модель акка­унтов (account model): у каж­дого адре­са есть баланс, а при необ­ходимос­ти — собс­твен­ное внут­реннее сос­тояние. Бла­года­ря это­му смарт‑кон­трак­ты могут хра­нить дан­ные меж­ду вызова­ми, вес­ти учет поль­зовате­лей, запоми­нать резуль­таты вычис­лений и вза­имо­дей­ство­вать друг с дру­гом как пол­ноцен­ные прог­рам­мные модули.

Ко­неч­но, такая гиб­кость име­ет и обратную сто­рону: чем слож­нее прог­рамма, тем выше веро­ятность ошиб­ки. Исто­рия Ethereum зна­ет немало слу­чаев, ког­да уяз­вимость все­го в нес­коль­ких стро­ках кода при­води­ла к потере мил­лионов дол­ларов. Самым извес­тным при­мером стал взлом про­екта The DAO в 2016 году, пос­ле которо­го сооб­щес­тво при­няло решение про­вес­ти хар­дфорк сети. Имен­но тог­да появи­лись две незави­симые цепоч­ки: сов­ремен­ный Ethereum и сох­ранив­ший исходную исто­рию Ethereum Classic.

По­явле­ние прог­рамми­руемо­го блок­чей­на пол­ностью изме­нило пред­став­ление о воз­можнос­тях крип­тотех­нологий. Если Bitcoin стал пер­вым успешным при­мером децен­тра­лизо­ван­ных циф­ровых денег, то Ethereum прев­ратил блок­чейн в инфраструк­туру для соз­дания целых эко­сис­тем. Имен­но на Ethereum вырос­ли децен­тра­лизо­ван­ные бир­жи (DEX), сер­висы кре­дито­вания (DeFi), раз­личные игро­вые про­екты, NFT-плат­формы и тысячи дру­гих при­ложе­ний.

 

Альтернативные консенсусы

Са­мым спор­ным эле­мен­том Bitcoin всег­да счи­тал­ся механизм дос­тижения кон­сенсу­са — спо­соб, с помощью которо­го тысячи незави­симых узлов догова­рива­ются, какая вер­сия блок­чей­на пра­виль­ная. Bitcoin решил эту задачу с помощью proof of work: май­неры тра­тят вычис­литель­ные ресур­сы, сорев­нуясь за пра­во добавить оче­ред­ной блок, а безопас­ность сети обес­печива­ется тем, что ата­ка тре­бует колос­саль­ных зат­рат на обо­рудо­вание и элек­тро­энер­гию. Этот под­ход доказал свою надеж­ность, но одновре­мен­но породил воп­росы о мас­шта­биру­емос­ти и ско­рос­ти под­твержде­ния опе­раций, поэто­му новые про­екты начали искать аль­тер­натив­ные решения.

Од­ним из наибо­лее необыч­ных при­меров ста­ла сеть Ripple, а точ­нее, блок­чейн XRP Ledger, в котором име­ет хож­дение натив­ная крип­товалю­та XRP. В отли­чие от Bitcoin, здесь нет ни май­нин­га, ни сорев­нования за соз­дание новых бло­ков: вмес­то это­го сеть исполь­зует собс­твен­ный механизм кон­сенсу­са, который называ­ется Ripple Protocol Consensus Algorithm (RPCA). Суть его зак­люча­ется в сле­дующем: каж­дый узел сети фор­миру­ет спи­сок тран­закций, которые счи­тает кор­рек­тны­ми, и обме­нива­ется этой информа­цией с дру­гими учас­тни­ками. Решение при­нима­ется не все­ми узла­ми под­ряд, а на осно­ве так называ­емо­го Unique Node List (UNL) — спис­ка доверен­ных валида­торов, выб­ранных опе­рато­ром кон­крет­ного узла. Если необ­ходимое боль­шинс­тво валида­торов при­ходит к оди­нако­вому мне­нию, тран­закции счи­тают­ся под­твержден­ными и записы­вают­ся в блок­чейн.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии