История с NEAR Intents при более глубоком изучении стала ещё безумнее.
В Intents не хватает многого, но ключевой компонент, делающий всё это возможным, оказался украденной проприетарной технологией DFINITY. Я в шоке.
Что ещё хуже — чтобы забрать эту технологию, они воспользовались человеком, которого DFINITY уволила летом 2021 года и который был связан с рядом попыток навредить проекту.
Теперь GitHub показывает, что спустя два с половиной года NEAR внезапно пытается в экстренном порядке отказаться от наших алгоритмов (ссылки внизу) по причинам, о которых нам остаётся только догадываться.
На осмысление этого потребуется время, и здесь есть юридические последствия, поэтому я просто дам вам краткую предысторию:
1) 16 мая 2021 года я объявил в X о работе над интеграцией Internet Computer с Ethereum с использованием криптографии «цепных ключей» (chain key), а затем опубликовал пост на Medium:
https://medium.com/dfinity/internet-computer-ethereum-integration-explained-6967456e35f9
В том же месяце индустрия активно писала о нашей работе.
https://decrypt.co/72256/how-dfinitys-internet-computer-will-integrate-ethereum
2) Именно тогда начались соответствующие технические работы, и NEAR взяла их часть. Мы собрали команду криптографов для разработки необходимой новой криптографии, поскольку задача была нетривиальной.
3) Первой релевантной статьёй, опубликованной DFINITY, стала «On the security of ECDSA with additive key derivation and presignatures», финальная версия от 27 апреля 2022 года.
В этой статье описывается алгоритм, который взяла NEAR.
Эта схема позволяет взаимодействующим компьютерам i) создавать публичный ключ ECDSA, например адрес Ethereum или Bitcoin, и ii) формировать подписи для этого ключа — как правило, чтобы ончейн-софт, реализующий DeFi, приложения и сервисы, мог подписывать транзакции от имени человека без необходимости самому человеку подписывать их или хранить ключ. Наша работа позволяет выполнять подписание в три раза быстрее, чем это возможно иначе, без потери безопасности.
Chain Abstraction и Intents нуждались в существовании такой схемы: когда группа компьютеров реализует её, нельзя просто украсть приватный ключ у одного из них — вместо этого нужно украсть «доли» (shares) приватного ключа у определённой части участников. Более того, компьютеры могут продолжать совместно подписывать данные, даже если некоторые из них отключатся или потеряют свои доли. Без порогового подписания (threshold signing) подобная схема хранения была бы невозможна.
Internet Computer запускает этот алгоритм на децентрализованных «доверительных подсетях» (fiduciary subnets), которые фактически представляют собой новую форму блокчейна, используемую для масштабирования сети и получающую дополнительную безопасность от основного управляющего блокчейна «NNS». Эти доверительные подсети состоят из нод примерно 50 независимых сторон и обладают высокой степенью защиты.
NEAR, по имеющимся данным, запускает это на 8 серверных машинах, и никто не может получить больше информации.
4) Этому есть простое объяснение. Этот ключевой компонент, который взяла NEAR, сам по себе не способен обеспечить высокопроизводительное \децентрализованное\ подписание. Он обеспечивает лишь подписание взаимодействующими компьютерами, поэтому Intents опирается на нечто вроде серверного кластера.
Если бы они тоже хотели быть децентрализованными, им пришлось бы пытаться воспроизвести архитектуру Internet Computer — гораздо более масштабную задачу, что отражено в —
«Design and analysis of a distributed ECDSA signing service», 16 февраля 2023 года:
В марте 2021 года мы опубликовали статью, описывающую, как настроить эти схемы разделения ключей децентрализованным способом, что лежит в основе сети Internet Computer:
5) Создание подобной науки требует много времени, труда и инвестиций в R&D. Например, я помню, как в мае 2015 года спрашивал Дэна Боне о способе настроить разделение ключей так, как описано в вышеупомянутой статье. Он считал, что это вообще может быть невозможно. Потребовалось ещё 6 лет, прежде чем мы этого добились.
DFINITY стремится обеспечить настоящую децентрализацию с помощью передовой информатики и математики, а также защитить безопасность пользователей — а такие вещи требуют времени, усилий и затрат.
6) К 2024 году мы находились в процессе превращения этой науки в продукт и делали её пригодной для использования в Internet Computer, что также включало поиск способов подключения нод Internet Computer к нодам других сетей.
7) Естественно, мы были шокированы и разочарованы появлением поста в блоге NEAR, анонсирующего «Chain Abstraction», который касался ровно той же задачи и возможности. Мы восприняли анонс за чистую монету и не знали, что это не децентрализованная система.
https://near.org/blog/why-chain-abstraction-is-the-next-frontier-for-web3
8) В какой-то момент мы узнали, что они наняли человека, которого мы уволили в 2021 году, чтобы возглавить эту работу. Но у него были минимальные познания в криптографии, поэтому мы не ожидали, что из анонса NEAR выйдет что-то стоящее. Этот парень устроился в DFINITY во время пандемии COVID и хвастался коллегам: «Меня увольняли с каждой работы, которая у меня была, и всегда по делу». Мы не беспокоились.
9) Мы недооценили угрозу. Похоже, его команда просто взяла библиотеку пороговой криптографии с открытым исходным кодом от швейцарского криптографа и добавила наши изобретения, тем самым быстро получив возможность развернуть нашу работу по ECDSA. Насколько мы видим, NEAR не беспокоится о децентрализации или безопасности пользователей и просто запустила это на 8 серверах. Ничто не мешало им быстро вывести это на рынок…
NEAR Intents использует Chain Abstraction (работающий на нашей проприетарной технологии) для хранения активов в разных сетях, а затем Intents по сути просто использует оплачиваемого ими маркет-мейкера для обмена этих активов между сетями согласно желаниям пользователей. Это, конечно, не децентрализовано, и у NEAR есть пугающие бэкдоры, которые делают всё это возможным.
10) Украдя нашу проприетарную разработку, лицензированную исключительно для Internet Computer, NEAR опередила Internet Computer со своими архитектурами Chain Abstraction и Intents. Это деморализовало и дезорганизовало команду DFINITY и сообщество ICP, а также колоссально уменьшило те возможности, которые, как мы ожидали, Internet Computer мог бы открыть миру. Машина хайпа NEAR в соцсетях фактически продала миру идею, что их система а) разработана ими и не нарушает ничьих прав, и б) является децентрализованной и безопасной. И то, и другое — ложь.
Однако, само собой разумеется, нельзя просто украсть проприетарную технологию другого проекта ради заработка и использовать её, чтобы первым ухватить привлекательную возможность. И гражданское, и уголовное законодательство запрещают подобное поведение, а убытки, которые могут взыскать суды, огромны (особенно в судах США, которые присуждают как прямые, так и штрафные убытки).
У этих законов есть очень веская причина. Они существуют для того, чтобы такие организации, как DFINITY, могли проводить фундаментальные исследования с нуля — что занимает много времени и стоит дорого, но открывает реальные преимущества для всего мира — без риска, что плоды и цель этой работы у них украдут.
В данном случае пострадали DFINITY и держатели ICP, пострадали экономика и экосистема Internet Computer, а помимо финансового ущерба мир получил опасную «костыльную» реализацию мультичейна.
Обидно то, что если бы NEAR предложила партнёрство, мы бы поделились с ними технологией при условии справедливых условий и указания нас как источника разработки. Нам нравится NEAR, и я ничего не имею против Ильи, но это уже перебор.
С этим нужно что-то решать.
Дополнительные материалы:
- Возможно, некоторые люди в сообществе Internet Computer заподозрили неладное раньше нас: https://x.com/ajki76/status/2101467163399737545
- Сейчас NEAR пытается перейти с нашего алгоритма на более простую версию, которая работает в три раза медленнее (она подписывает за 3 раунда, тогда как наша — за 1 раунд). Это не меняет того факта, что они использовали нашу проприетарную разработку два с половиной года, и, вероятно, отражает их беспокойство по поводу содеянного:
https://github.com/near/mpc/pull/4503 https://github.com/near/mpc/issues/4324
- NEAR удалось нанять двух инженеров из DFINITY для работы над Chain Abstraction и Intents. GitHub показывает, что они с самого начала тщательно «копали» репозиторий Internet Computer. Они точно знали, что делают: https://github.com/near/NEPs/issues/516#:~:text=There%20is%20some%20prior%20work%20where%20it%20is%20possible%20to%20save%20some%20execution%20context





