Kaspa —первый койн на blockDAG

Каспа: история, состояние, перспективы

KaspOrator

--

Вопросы и ответы с АМА-сессии в русскокоговорящем сообществе биржи Coinex.

Вкратце о Каспе

Каспа — это PoW-койн, как Биткойн. То есть никаких стейкингов, айдропов, сжиганий и изменений общего количества койнов нет и не будет. Нету и не было также ICO, пресейлов и премайна. Старт основной сети состоялся 7 ноября 2021 г., с майнинга на процессорах. Сейчас (по состоянию на 8 мая 2023 г.) майнится на GPU и FGPA, вскоре, похоже, появятся ASIC-и (если уж не появились — с этим все еще непонятно, не хватает надежных доказательств, хотя “образцы” аппаратуры вроде бы есть). Смарт-контрактов и L2 пока что нет, идет обсуждение архитектуры их реализации.

В основе койна лежат 8 лет теоретических разработок одного из ведущих специалистов в крипте, Йонатана Сомполински (3200+ цитирований в Google Scholar, в т.ч. в вайтпейпере Эфира), и 4+ года написания кода.

Основная задача на ближне- и среднесрочный прицел — стать заменой Лайткойну, средством ежедневных расчетов, для начала — в криптосфере, а затем — в бытовых задачах.

Проект управляется сообществом и финансируется за счет донатов от членов сообщества, с момента, когда основателями и разработчиками было принято решение отдать проект “в народ” (исходная команда, однако, почти в полном составе все еще с нами, и на ее работу сообществом собраны койны, которые удерживаются пока на мультиподписном кошельке, контролируемом казначеями сообщества). Цели тоже определяются сообществом. Есть некое ядро из наиболее давних и/или компетентных членов сообщества, человек 25–30, но вообще любой желающий может вынести на обсуждение свою идею и услышать мнение всех остальных. Основное место координации этой активности — Дискорд Каспы. На днях один из членов сообщества выкатил вот такой сайт с материалами для краткой презентации Каспы (прямая ссылка на эту же презентацию).

История и теория

У каждого проекта есть история, стоящая за его названием. Можете ли вы рассказать нам больше об истории, стоящей за всем этим, о своем прошлом?‌‌

Безусловно, история есть! Вообще само по себе слово “Каспа” — из древнеарамейского языка и обозначает “серебро” и “деньги” (насколько я знаю, оно в этом звучании и в этих смыслах перешло и в современный иврит, изменив написание). Почему именно Каспа — сейчас объясню.

История Каспы начинается с Йонатана Сомполински. В 2013-м году, будучи аспирантом Иерусалимского Университета, он по заданию своего научного руководителя Авива Зохара провел первичный анализ безопасности Биткойна (в последующем эта работа была развита и опубликована в 2016-м году https://arxiv.org/pdf/1605.09193.pdf). При этом, по его словам, Биткойн показался ему “скучным”, а сам он заинтересовался тем, чтобы преодолеть ограничения технологии блокчейна, накладываемые ее концептуальными основами. Очевидным для него путем такого преодоления был переход от линейной структуры связи между блоками (цепочки блоков, blockchain-а), где каждый следующий блок указывает только на один предыдущий, к более общей, древоподобной структуре. В ней новый блок может указывать сразу на несколько предков, которые в общем случае не знают друг о друге, но зато о существовании всех их с какого-то момента знает вот этот потомок. Получаемая структура называется “направленный ациклический граф блоков”, blockDAG.

Только вот такое усложнение и обобщение структуры хранения данных приводит к куче трудностей в упорядочивании блоков: однозначном определении того, какой блок идет за каким в случае, когда вопрос касается блоков, созданных параллельно друг другу и друг о друге не знающих. На протяжении следующих многих лет Сомполински, даже перейдя в качестве преподавателя в Гарвард, занимался, в числе прочих своих работ, разработкой алгоритмов, позволяющих наиболее надежно обеспечить упорядочивание блоков в графе в условиях, когда все участники сети, создающие и проверяющие блоки, равноправны, а в сети могут присутствовать атакующие, стремящиеся ввести “честных” участников в (хотя бы временное) заблуждение о порядке сортировки блоков. Им были созданы несколько вариантов такого протокола, причем один из ранних вариантов лег в основу работы Ethereum, другой — в основу работы Conflux (в этом можно убедиться, прочитав их вайтпейперы, где они ссылаются на соответствующие работы Сомполински), но сам он не принимал участия в разработке этих проектов: во-первых, потому, что он ученый, а не инженер, а во-вторых, потому что то были протоколы, не полностью удовлетворяющие его своими характеристиками.

Однако к 2018-му году он в соавторстве со своим учителем, Авивом Зохаром, и другом, специалистом по квантовой криптографии и математиком, Шаем Выборски, создал, наконец, протокол, на основе которого решено было реализовать свой собственный криптопроект: это был проткол PHANTOM/GhostDAG. К тому моменту оформилось и видение того, чем должна стать новая криптомонета: “цифровым серебром” — средством повседневных расчетов, при “цифровом золоте” — Биткойне, средстве сохранения ценности. Поэтому и название было выбрано “Каспа” — “серебро” и “деньги”: такие деньги, какими люди рассчитываются за ежедневно потребляемые товары, широкого хождения и удобные в обращении, в отличие от денег-золота, которое в основном хранилось в сундуках и использовалось для сбережения и крупных трат.

Дальше была целая история с созданием фирмы DAGLabs, получением гранта от Polychain, выработкой бизнес-модели (которая, к счастью для нас, не оправдала своих надежд) и дальнейшим решением о передаче проекта Kaspa в руки сообщества довольно задолго до запуска мейннета. Подробнее про DAGLabs и связь ее с предысторией Каспы можно почитать на Каспа Вики https://wiki.kaspa.org/en/faq#kaspa-prehistory-related. 7-го ноября 2021 года состоялся собственно запуск мейннета в режиме “честного запуска” (fair launch): не было премайна, ICO, пресейла и всего такого прочего — все присутствующие на тот момент в Дискорде Каспы примерно 500 человек начали майнить койн одновременно на своих процессорах (плюс-минус минуты и часы, естественно, но практически одновременно).

Теперь проект финансируется и управляется сообществом — однако ключевые разработчики, к счастью, продолжают развивать его, как и теоретики. Многие, думаю, читали обалденные твиттер-треды Шаи Выборски. Он там напалмом жжет обычно, но объясняет очень доступно и при этом очень корректно, что к чему. Рекомендую ознакомиться, вот, например https://twitter.com/DesheShai/status/1623003382381248515. Умеет человек писать!

Можете объяснить, почему мы должны применять KAS? Что интересного предлагает проект своим пользователям?

Да. Каспа — это единственный на сегодняшний день PoW-койн, который дает возможность размещать новые транзакции в блоках за секунды или доли секунд, и обеспечивает подтверждение транзакций за 10 секунд (это на сегодня, а в перспективе — еще быстрее, после внедрения протокола DAGKnight). При этом Каспа дает гарантии надежности, эквивалентные гарантиям Биткойна, так как она работает на консенсусе Накамото, чья надежность доказана как теоретическими исследованиями, так и временем его эксплуатации. Отличие от Биткойна в том, что Каспа использует обобщенный вариант консенсуса Накамото, работающий не только для цепочки блоков и случая, когда блоки нельзя создавать параллельно друг другу, но для случая, когда это делать можно — а таким образом пропускная способность сети повышается в сотни раз по отношению к Биткойну. При этом безопасностью не жертвуется ни на йоту, в отличие от множества иных койнов, которые используют либо разнообразные ухищрения, призванные ускорить подтверждение транзакций за счет ослабления гарантий надежности, либо за счет перехода от концепции PoW к другим концепциями типа PoS, PoC и т.п., чью надежность математики еще, по большому счету, не исследовали, и для которых дать гарантии отсутствия дешевых эффективных атак невозможно (во всяком случае, в настоящее время). Это еще не считая других проблем типа централизации, из-за которой, скажем, в PoS, если достаточная часть нод подвергнута цензуре, какая-нибудь транзакция может оказаться невыполнимой вообще никогда.

Поэтому с точки зрения создателей и с точки зрения многих членов сообщества, глубоко интересующихся криптовалютами, Каспа является единственным на настоящий момент койном, действительно способным выполнять те задачи, которые декларировал Сатоши Накамото при создании биткойна: служить децентрализованной, нецензурируемой системой p2p расчетов в реальном времени. Я бы сказал, что Каспа — это Биткойн, каким он должен был бы стать, имей команда Сатоши возможность потратить еще 10 лет на исследования, прежде чем выпускать своё дитя в жизнь, чтобы перевернуть мир финансов. Скорость и безопасность без каких-либо компромиссов.

А так как Каспа построена на тех же концепциях, что и Биткойн, то она более чем способна при необходимости адаптировать ВСЕ те техники, что за прошедшие 14 лет люди придумали, чтобы как-то обойти ограничения, имманентно присущие Биткойну. То есть Каспа способна впитать вообще всё лучшее, что существует по крайней мере в области PoW койнов. Я нахожу, что в сочетании с базовой технологией Каспы одно только это — уже достаточная причина, чтобы счесть Каспу проектом, заслуживающим внимания на перспективу.

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

В идеале, каждый человек в сети того или иного PoW койна не должен верить вообще никому, кроме своего компьютера и работающего на нем алгоритма, обеспечивающего достижение консенсуса с остальными участниками сети относительно порядка транзакций и состояния балансов участников. Для этого каждый участник должен иметь на своём компьютере полную копию базы данных сети. Сегодня полная база данных Биткойна качается и валидируется несколько дней и занимает несколько сотен гигабайт — это данные, накопившиеся за 14 лет его работы. Поэтому на практике далеко не каждый может позволить себе быть по-настоящему полной нодой Биткойна, и вынужден при расчете балансов до определенной степени доверять некоторой третьей стороне. Это при биткойновском 1 блоке в 600 секунд. Представляете, какой объем данных будет генерировать Каспа с ее текущим 1 блоком в секунду и с перспективными более чем 10 блоками в секунду? Это будут терабайты и терабайты данных. Без механизма, который бы дал возможность хранить и передавать только часть этих данных, не жертвуя уровнем их достоверности и безопасности, ни о какой децентрализации и личной кастодиальности не может быть и речи.

Вот для этого в Каспе реализован механизм обрезки данных (https://github.com/kaspanet/research/issues/3, https://eprint.iacr.org/2021/623.pdf), который дает возможность каждой ноде хранить только транзакции и блоки за последние несколько дней, плюс актуальные балансы всех адресов, плюс криптографические доказательства общего количества проведенной в сети работы. С помощью такого механизма было достигнуто состояние, при котором полностью автономная нода Каспы занимает на диске несколько гигабайт, а синхронизируется с нуля за 20–120 минут. Запускать такую ноду уже может позволить себе практически каждый, доказательством чему является кошелек KDX, являющийся, в терминологии Биткойна, “полным кошельком”, содержащим свою собственную ноду. Этим кошельком в сети Каспы пользуются многие сотни, а скорее уже и тысячи человек, и каждый из них — это полноценная нода. Таким образом, децентрализация данных в сети Каспы даже и в настоящий момент не имеет себе равных, что уж говорить о будущей перспективе.

Кроме того, с чисто рыночной точки зрения преимущество Каспы в том, что она стартовала в режиме “честный запуск”. Никакие фонды и ранние инвесторы не будут разгружаться об людей, входящих в проект позже. Потому что этих фондов и инвесторов нет. Разумеется, существуют некие киты, которые либо намайнили, либо купили достаточно много Каспы в первые месяцы ее существования (тогда можно было торговать ею в Дискорде с рук, и там совершались сделки на значительные по тем временам суммы, по курсу порядка 200 долларов за миллион Каспы). Но дело в том, что этими китами были люди, которые глубоко разбираются в крипте и ищут скрытые звездочки на раннем этапе их существования. Я думаю, такие люди, решив вложиться в Каспу и прочитав, что она собой представляет — а читать тогда было особо негде, приходилось спрашивать у тех, кто в Дискорде, и погружаться в научные работы, лежащие в основе проекта — уже понимали, в какого потенциала проект они инвестируют. По этой причине я бы не стал ожидать от них, что они начнут всерьез распродавать свои запасы в каком-то обозримом будущем. Нет. Проекты, подобные Каспе, появляются раз в пятилетку, и разумный человек будет очень и очень аккуратно тратить драгоценные невосполнимые койны. Я лично — разумеется, виртуально, но давно — знаю трех китов, закупавшихся тогда, ни один из которых до сих пор не продал ничего, ни одного койна. При этом к их чести они очень активно участвуют в пожертвованиях на нужды проекта. Если бы не они — многие инициативы так и остались бы непроспонсированными.

Расскажите, пожалуйста, что особенного в алгоритме, посредством которого работает сеть Kaspa?

С удовольствием! Только нужен сначала небольшой экскурс в то, как работает Биткойн, чтобы понять, чем замечательна Каспа.

Как известно, в Биткойне блоки создаются цепочкой, один за одним. Каждый следующий ссылается на предыдущий так, чтобы нельзя было незаметно подменить ни один блок в истории, переписав ее в свою пользу: чтобы этого добиться, придется затем пересоздать и заменить все блоки, найденные с тех пор поверх изменяемого. Это требует огромной вычислительной мощности и крайне дорого — поэтому Биткойн и надежен. Но есть одна проблема: блоки в Биткойне нельзя создавать слишком часто. Потому что всегда существует шанс, что, пока информация о блоке “А”, найденном поверх предыдущего блока “T”, распространяется по сети, кем-то еще будет найден блок-конкурент “Б”, тоже претендующий на то, чтобы быть продолжением цепочки, оканчивавшейся сейчас блоком “T”. Тогда часть сети продолжит искать блоки поверх блока “А”, а часть — поверх блока “Б”, до тех пор, пока какая-то из цепочек не окажется длиннее. Она признаётся “верной”, а вторая отбрасывается. Но в этот период для переписывания истории поверх блока “T” достаточно быть сильнее не всей сети, а только лишь самой сильной части ее. И ведь теоретически блоков-конкурентов одновременно может возникнуть и больше, чем два, что распылит мощность сети еще сильнее. А чем чаще блоки создаются, тем чаще возникает такая ситуация повышенной уязвимости сети. Именно поэтому Сатоши выбрал такое больше время между блоками — аж 600 секунд. Всё во имя надежности. Зато в блокчейне нет проблем с упорядочиванием: каждый блок ссылается лишь на один предыдущий, ясно, кто за кем идет, и ясно поэтому, какая транзакция идет за какой: в блоке они уже упорядочены, а меж блоками понятно, что транзакция, включенная в более ранний блок, идет раньше, чем включенная в более поздний. Проблема только в том, что блоки идут редко, поэтому транзакций в секунду можно передать не так много, лишь примерно 7 в случае современного состояния Биткойна.

Спрашивается: как бы сразу всю вычислительную мощность направить в полезное русло, на обеспечение безопасности сети без потерь? Довольно очевидно, что нужно разрешить блокам-конкурентам сосуществовать вместе. Тогда структура хранения данных вместо цепочки станет более сложной: графом. Точнее — направленным ациклическим графом, что означает, что а) блоки ссылаются только на предков, но не на потомков (направленность) и б) двигаясь по таким ссылкам от какого-то блока, нельзя вернуться обратно к нему (отсутствие “циклов” — ацикличность).

Но, как говорит Йонатан Сомполински, DAG — это не решение, DAG — это проблема :) Потому что введение такой значительной свободы резко усложняет задачу определения того, какой блок следует за каким. Нужно выработать какие-то правила, позволяющие всем участникам сети — независимо от того, когда и в каком порядке о каком блоке они узнали — приходить достаточно скоро к одинаковому представлению о том, кто из блоков за кем следует. Причем верить меткам времени в блоках нельзя: метки времени элементарно подделываются. Нужно использовать какие-то внутренние свойства самих блоков, которые бы позволяли однозначно решать, кто из них за кем следует. Всё это — в условиях потенциального существования изощренного злоумышленника, желающего использовать любые огрехи этого алгоритма упорядочивания с своих целях. Вот у Йонатана и его коллег на поиск решения этой задачи с удовлетворяющим их качеством ушло 8 лет.

Основная идея решения этой проблемы алгоритмом PHANTOM состоит в том, чтобы задать некоторые правила поведения для честного майнера (в частности — обязать его ссылаться в своих блоках на все известные ему на момент поиска своего блока блоки-родители, не имеющие еще детей — “вершины” DAG-а), сделать точное следование этим правилам выгодным для честного майнера за счет механизма поощрения “честных” майнеров и наказания “злоумышленников” и “беспечных” путем перераспределения наград за блоки от злоумышленников к честным (разделение блоков на “синие” — честные, и “красные” — потенциально атакующие), и задать эквивалент биткойновской “самой тяжелой цепочки” в получающейся структуре графа блоков, чтобы отделить блоки “честных” майнеров от блоков злоумышленника.

Самым сложным было определить вот этот эквивалент “самой тяжелой цепочки”. В качестве него был выбран так называемый k-кластер. k-кластер — это такая группа (набор, подмножество) блоков из всей истории сети, что каждый из них является либо (пра-…)предком, либо (пра-…)потомком всех остальных блоков этого k-кластера, за исключением не более чем k блоков во всём кластере. То есть для каждого блока из k-кластера существует не больше чем k блоков из этого же кластера таких, что от него до них нельзя добраться ни двигаясь по связям от этого блока в прошлое, ни двигаясь в будущее — “параллельных” данному (при этом не обязательно еще и параллельных друг другу: между собой они вполне могут быть связаны). В нормальных условиях, в силу правил майнинга, подавляющее большинство блоков, найденных “честными” майнерами, будут входить в (точнее, формировать собой) именно такой k-кластер, получая “синий” цвет и приоритет в упорядочивании, а блоки атакующего — выпадать из него, становясь “красными” и приобретая низший приоритет в упорядочивании. “Красные” блоки при этом лишены как возможности злонамеренно отменить ранее опубликованные в “синих” блоках транзакции (чтобы этого добиться, нужно, чтобы транзакция из “красного” блока вдруг заняла в порядке сортировки место перед соответствующей честной транзакцией из “синего” — а не выйдет, содержимое “красных” блоков по определению ставится позже “синих”), так и хотя принести собой награду “атакующему” майнеру.

Дальше сложность фактической реализации этого алгоритма состоит в том, что нахождение k-кластера в DAG-е есть NP-полная задача, то есть на практике не реализуемая. И пришлось разрабатывать так называемый “жадный” алгоритм ее решения, который можно было бы воплотить в реальной программе, пусть за счет некоторой жертвы оптимальностью финального k-кластера (т.е. иногда, в некоторых конфигурациях DAG-а, в получившемся k-кластере честные блоки станут оказываться “красными” из-за специфики работы жадного алгоритма). Это приемлемая цена за переход от нереализуемого варианта к практически осуществимому. Такой вариант алгоритма PHANTOM был назван GhostDAG, по историческим причинам.

На самом деле под всем этим лежит очень толстая математика, для полного вникания в которую потребуется изрядно времени и сил. Кто интересуется, может посмотреть в первоисточнике (https://eprint.iacr.org/2018/104.pdf), а на ютуб-канале Каспы выложена запись AMA-сессии теоретика, Шаи Выборски, который посвятил объяснению работы алгоритма подавляющую часть времени этого не самого короткого стрима.

Зато с помощью этого алгоритма Каспа может позволить себе то, чего ни один другой койн на PoW позволить не может: формировать блоки с субсекундной периодичностью, обеспечивая пользователю невиданную скорость приема транзакций на обработку, и время подтверждения всего лишь в 10 секунд (это, по степени надежности, эквивалентно ожиданию 3 блоков — получасу ожидания — в Биткойне. Чтобы получить надежность, эквивалентную 6 блокам биткойна — часу ожидания — нужно время порядка 18 секунд).

Более того. В основу конкретной реализации алгоритма PHANTOM/GhostDAG, принятого в Каспе, положено одно предположение, один параметр: что в нормальных условиях время распространения блока по сети составляет 5 секунд. Именно из этого ограничения получены упомянутые выше цифры в 10 и 18 секунд. Это, конечно, уже невероятно быстро по меркам PoW-койнов. Но ведь всегда хочется еще быстрее. А что, если в некоторый момент сеть особенно хорошо связана, и фактическое время распространения блока — всего три секунды? А если две? Нельзя ли это как-нибудь оценить и использовать? И вот: за те несколько лет, что шла реализация GhostDAG-а в коде Каспы, Йонатан Сомполински на пару с ведущим разработчиком Каспы, по совместительству теоретиком, Майклом Саттоном, разработали еще один, самый продвинутый вариант протокола. Они назвали его DAGKnight. Этот протокол — первый в истории PoW-койнов непараметрический! То есть он, когда будет реализован, окажется способен подстраивать время подтверждения под фактическое время распространения блоков по сети, не будучи ограничен какими-то априорными предположениями о его значении. После этого Каспа станет работать буквально молниеносно: видимо, быстрее, чем современные системы оплаты по карте (в условиях, когда структура сети Каспы высоко связна). Соответствующая научная статья еще не была опубликована, но ее препринт уже доступен (https://eprint.iacr.org/2022/1494.pdf).

Если кто-то интересуется нырнуть в глубины теоретических и теоретико-практических изысканий разработчиков Каспы, вашему вниманию есть страница на Каспа Вики, где собраны большинство полезных ссылок на такие материалы: https://wiki.kaspa.org/en/background-information. Русскоязычная статья про масштабируемость Каспы есть тут на Медиуме.

Большинство вопросов, которые люди задавали во время AMA, касались сильных сторон проекта. А можем ли мы поговорить о ваших проблемах и трудностях? С какими проблемами вы столкнулись при разработке вашего проекта и как вы их преодолели?

Да, проблемы, конечно, были. Про предысторию Каспы я уже сказал, и их проблемы того времени описаны по ссылке в вики. А так, например, после запуска мейннета где-то через две недели случился сплит сети, и сеть была полностью остановлена на двое суток, пока разработчики, не покладая рук, искали причину произошедшего и модифицировали код (это был первый в истории Каспы хардфорк).

Было такое, что в ходе переписывания проекта на языке Раст один из разработчиков нашел ошибку в коде, которая могла тоже быть использована для атаки на сеть. Срочно был разработан патч, и выпущена новая версия ноды, закрывающая уязвимость временно и запускающая по расписанию еще один хардфорк, где эта уязвимость была устранена полностью.

Наш веб-кошелек периодически DDOS-ят скамеры, запуская одновременно в Гугле рекламу своих скамерских версий веб-кошелька, неотличимых по виду, но расположенных на других доменах. Многие люди попадаются, так что имейте в виду, что скамерских сайтов полно, и заходить на веб-кошелек нужно только с официального сайта Каспы (ну или по моей вот этой ссылке: https://wallet.kaspanet.io).

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

Отчет об аудите помогает нам понять очевидные недостатки проекта с точки зрения третьей стороны и вне команды. У вас есть такой отчет? Или, может быть, вы сможете рассказать нам, какие шаги должен предпринять проект в будущем, чтобы стать успешным?

Нет, аудита нет. Об этом было много разговоров за последний год.

В принципе, аудит можно пройти, но пока что (на 8 мая 2023 г.) код ядра находится в процессе переписывания на другом языке (с Го на Раст), чтобы обеспечить максимальное удобство для сторонних разработчиков и наилучшее использование возможностей современных компьютеров в смысле многопоточности работы. Проводить аудит незавершенного кода бессмысленно.

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

У вас есть белая бумага? Если да, поделитесь ею с нами!

Сейчас вайтпейпера нет; его неспешно пишет один из теоретиков, Шаи Выборски.

Дело в том, что никто из тех, кто по-настоящему хорошо понимает теоретические основы работы Каспы, не видит смысла в написании вайтпейпера. Все необходимые теоретические данные доступны в открытом виде (та же https://wiki.kaspa.org/en/background-information), вода, обычно сопровождающая вайтпейпер, никому не нужна, а планы на развитие определяются сообществом и не имеют какой-то фиксированной структуры. Видение будущего и примерный роудмеп есть на сайте Каспы.

Впрочем, остается надежда, что Шаи рано или поздно закончит-таки этот вайтпейпер, тем более что миллион Каспы, выделенный на эту задачу, так и лежит в публичном фонде :) С другой стороны, Шаи неоднократно говорил, что предпочитает тратить время на АМА-сессии и написание статей на Медиуме и тредов в Твиттере, поскольку они охватывают актуальные вопросы или позволяют углубиться в технические детали, а это, с его точки зрения, куда полезнее для проекта по охвату и по информационной ценности, чем вайтпейпер.

Какова самая амбициозная цель вашего проекта? Каково конечное видение, которое ваш проект пытается достичь на рынке криптовалют?

Самая амбициозная цель, как я уже упоминал — стать “серебром” при “золотом” Биткойне, средством повседневных расчетов как внутри криптовалютной экосистемы, так и (особенно) в реальной жизни. В смысле позиции на рынке — войти в топ-3 или даже топ-2 криптовалют. В абсолютном идеале — заменить собой фиатную систему расчетов в мире, не меньше.

Почему разработчики Kaspa выбрали для построения системы механизм консенсуса с доказательством работы?

Не могу сказать, что я досконально знаю мысли разработчиков, но, с моей точки зрения, тут есть несколько аспектов.

Во-первых, теоретико-философский, идущий еще от Сатоши. Вот смотрите, для поддержания безопасности и защищенности традиционной денежной системы используется, в обобщенном смысле, огромное количество энергии — только эта энергия в некотором смысле и размере опосредована. Сюда входят и прямые траты энергии на работу серверов и на работу систем безопасности банков и финансовых учреждений. Это и другие формы энергии: отопление и освещение, нагрев воды в технических, гигиенических и продовольственных целях. Это выдача зарплаты, которая тратится людьми, обслуживающими систему, на то, чтобы добыть энергии для продолжения и поддержания собственного существования: еда, жилье, одежда. Это постройка зданий (“капитальные затраты энергии”), доставка людей и грузов, связанных с финансами, в разные места — да вообще всё, чем занимается человечество, это перераспределение потоков энергии в различных прямых и косвенных формах. В том числе — в обеспечение работы финансовой системы. Как и в обеспечение атак на нее, кстати сказать. Так вот, PoW является ультимативным выражением этого процесса: на поддержание безопасности (и на атаку) системы в PoW тратится энергия в ее чистом виде, электрическая мощность. И ее нужно не в пример меньше для обеспечения не худшей защищенности, чем для функционирования всей финансовой системы мира. PoW предлагает отличную оптимизацию в мировом масштабе в этом смысле.

Во-вторых, теоретико-практический. Безопасность консенсуса на PoW хорошо подтверждена как математически, так и практически. Ни про один другой механизм консенсуса этого сказать нельзя. Так что в смысле надежности защиты от атак и ясности векторов атаки ничего равного PoW нет. Кроме того, по словам главного теоретика, Йонатана Сомполински, будущий протокол Каспы, DAGKnight, вообще не может быть реализован в иной, чем PoW, парадигме (но это так, к слову).

В-третьих, субъективный. PoS-консенсус реализует систему “богатый богатеет дальше”, в том смысле, что, вложившись однократно, некий владелец части общего финального количества койнов а) не потеряет своей части управления сетью никогда, потому что новым койнам взяться неоткуда, и пока он сам не избавится от своих койнов, он будет удерживать соответствующую долю голосов в сети, и б) чем большей долей он владеет, тем большую часть комиссии сети он будет забирать себе, и никто и никак этому не помешает. Система замкнута и безопасность ее в лучшем случае неизменна. Тогда как в PoW любой, купивший подходящее майнинговое оборудование, а) добавляет защищенности сети и б) начинает получать часть вознаграждения, приводя к тому, что остальные игроки либо увеличивают децентрализацию, если они ничего не предпринимают, либо увеличивают защищенность сети, если покупают пропорциональное количество дополнительного оборудования с целью вернуть себе часть утраченной доли вознаграждений сети.

Кто конкурирует с Каспой и что делает Каспу уникальной?

Про уникальность я уже отвечал выше, а наиболее известные мне прямые конкурены — это Kadena и Conflux. В философском смысле конкурентом является также LTC, как текущее криптовалютное “серебро”. Ключевые отличия Каспы следующие:

  • в Кадене пользователь вынужден, невзирая на высокую общую частоту появления блоков, ждать, пока транзакция будет подтверждена именно на том чейне из всего графа чейнов, на котором он создал эту транзакцию. А это значит N раз по 15 секунд (если не ошибаюсь, частота блоков в Кадене составляет 15 секунд). Итого типичное, в идеологии Биткойна, время ожидания подтверждения транзакции в Кадене — 45 секунд либо 1,5 минуты, в зависимости от выбранного N. Кроме того, попадание транзакции из мемпула в блок тоже требует времени, и среднее значение этого времени — те же 15 секунд. Значит, в целом пользователю придется ждать от 60 секунд до почти 2 минут, пока его транзакция будет надежно подтверждена. Сравните с Каспой, где уже сейчас среднее время ожидания перехода транзакции из мемпула в блок — 1 секунда, а время подтверждения — 10 или 18 секунд соответственно (в будущем — еще меньше, как для ожидания перехода, так и для подтверждения). Кроме того, из-за сложностей межчейнового взаимодействия написание смарт-контрактов на Кадене очень сложно;
  • в Conflux-е используется модификация одного из предыдущих алгоритмов, разработанных Йонатаном Сомполински, и эта модификация имеет некие известные проблемы живучести при возрастании потока транзакций. Есть статья со сравнительным исследованием протоколов, описывающую подходящую атаку, при желании эта информация гуглится;
  • LTC является просто клоном биткойна, где изменены некоторые константы, но более он ничем концептуально от биткойна не отличается и продолжает использоваться, главным образом, в силу своей длинной истории существования. Как инструмент повседневных платежей, возможное “серебро” при “золоте” Биткойна, он проигрывает Каспе вчистую по всем критериям.

Позволяет ли Kaspa Network разрабатывать смарт-контракты и dApps (распределенные приложения)?

В настоящий момент — нет, но обсуждение будущей системы смарт-контрактов и L2 ведутся в Дискорд-сервере Каспы на канале #smart-contracts-brainstorming.

Пока еще не решено, какой путь изберет Каспа: будет ли это поддержка Солидити и EVM, будут ли контракты писаться на Rust или на каком-то другом общепринятом языке, будет или нет это Тьюринг-полный язык, и даже будут ли смарт-контракты реализованы на L1 или L2. Все это будет иметь долгосрочные последствия для Каспы, поэтому требует всестороннего обсуждения и взвешенного принятия решений с учетом мнений всех заинтересованных участников. Кроме того, Йонатан Сомполински разрабатывает какую-то статью относительно смарт-контрактов на Каспе, так что мы с нетерпением ждем, что он имеет нам сказать.

Команда и взаимодействие с сообществом

Опытная команда является самым важным элементом обеспечения роста компании. Как бы там ни было, проект не может развиваться без опытной команды. А как насчет Kaspa? Есть ли у вашей команды хороший опыт работы в мире криптовалют?

О теоретиках и команде разработки ядра:

  • теоретики Каспы широко известны в криптомире — это Авив Зохар, Йонатан Сомполински и Шай Выборски, о них я уже говорил;
  • ведущий разработчик и теоретик — Майкл Саттон, специалист в Computer Science и теории графов, соавтор теоретической статьи, описывающей протокол DAGKnight;
  • еще один из ключевых разработчиков — Элихай Туркель, являющийся одним из значимых контрибьюторов в код Биткойна (по состоянию на прошлый год он был 7-м по количеству добавленных то ли строк кода, то ли PR-ов, не помню точно);
  • остальные разработчики — опытные программисты.

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

В принципе, неполный список тех, кто широко участвует в жизни Каспы, есть вот тут: https://kaspa.org/contributors/. И, кстати, на занесение в этот список может претендовать любой человек, который считает, что внес достаточно заметный вклад в ее развитие — об этом можно побеседовать в Дискорде.

Многие люди хотят узнать о вашем проекте, но у них есть проблемы с английским языком. Планируете ли вы распространять информацию о своем проекте в разных странах, где английским языком владеют не слишком хорошо? У вас есть маркетинговая стратегия, направленная на развитие множества различных сообществ?

Да, есть куча добровольцев, которые ведут русскоязычные сообщества, отвечая на вопросы и помогая всем желающим. В вики часть статей переведены на русский. Сайт сейчас находится в переработке, после которой будет добавлена многоязычность. В общем, Каспа надеется на своих волонтеров, и волонтеры ее не подводят :) За что я лично всем им чрезвычайно благодарен!

То же самое касается и остальных языков. В Дискорде есть специальный канал, где координируются добровольные переводчики. В Телеграме есть куча “национальных” сообществ, ссылки на которые можно получить в основной, англоязычной, группе, запросив бота (/languages). Национальные каналы помощи есть и в самом Дискорде.

Вы разрешаете предложения и комментарии от сообщества? Можем ли мы принимать решения, учитывая мнение сообщества?

Абсолютно. Сообщество, собственно, и решает, на каких целях Каспа будет фокусироваться далее. Обсуждение ведется в Дискорде, для обсуждения черновиков сформированных предложений есть канал #votes-and-funding-discussions.

Действительно ли сайт Каспы делал сотрудник-волонтер? Кто именно решает проблемы с сетью? Какова система и организация?

Да, когда люди стали говорить, что надо бы иметь более внушительный сайт, чем существовавший в начале проекта чисто текстовый черно-белый одностраничник, эта идея стала обсуждаться, и один человек предложил свои услуги, продемонстрировав своё портфолио.

Было проведено голосование, собран фонд на оплату разработки брендинга и создания сайта, и он всё сделал. Он и до сих пор работает с Каспой , вся “официальная”, так сказать, графика в твиттере, ютубе и прочих местах — это его творения. Эмблема и шрифты Каспы — тоже его рук дело.

Когда возникают проблемы с сайтом, кошельком или эксплорером, кто-нибудь сообщает в Дискорд или Телеграм, и один из тех людей в сообществе, кто имеет доступ к соответствующим хостингам, решает проблему. Все держится на добровольцах.

Сейчас еще один доброволец проводит переработку сайта, насколько мне известно.

Сеть же Каспы как таковая не требует ничего внимания. Она работает без сбоев с момента приснопамятного первого хардфорка в ноябре 2021-го года. Но если с ней, паче чаяния, вдруг что-то случится — разработчики ядра бросят всё и займутся решением именно этой проблемы.

Маркетинг, безопасность, сообщество и партнерские отношения — самые важные вещи для проекта. Итак, какой вопрос будет приоритетным для Kaspa? И есть ли у Kaspa план по развитию всех 4 аспектов?

Я бы сказал, что приоритеты расставлены так: безопасность, сообщество, маркетинг и партнерские отношения.

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

Далее, так как проект управляется сообществом, то именно оно и вдыхает в него жизнь. Соответственно, сообщество на втором месте.

А все остальные аспекты и их взаимный приоритет и планы по развитию уже являются областью компетенции сообщества (в лице, возможно, его наиболее активных и компетентных в соответствующих областях представителей).

--

--