#AI: если вы не знали или запамятовали, то
GG20 TSS-подпись - схема распределённой цифровой подписи (
Threshold
Signature
Scheme, TSS), основанная на протоколе Gennaro & Goldfeder 2020 года (GG20). Она позволяет нескольким участникам совместно подписывать транзакции или сообщения без раскрытия приватного ключа целиком кому-либо одному.
проще говоря: если обычный кошелёк - один приватный ключ, а multisig - несколько отдельных подписей, то GG20 TSS - один виртуальный ключ, разделённый между участниками.
т.е. ключ делится на части (shares):
• у Алисы - часть ключа;
• у Боба - тоже часть;
• у некого сервера - ещё часть.
отсюда получается схема 2-из-3, т.е. любые 2 участника могут подписать, но никто по отдельности не знает весь приватный ключ, итоговая подпись выглядит как обычная
ECDSA-подпись. для сети это выглядит как стандартная подпись от одного адреса. и это
важное отличие от мультисига.
в своё время именно GG20 стал одним из стандартов индустрии для MPC/TSS-кошельков, потому что поддерживает как раз ECDSA и при этом не требует доверенного лица, а ещё - устойчив к ряду атак.
собственно MPC-кошелек (Multi-Party Computation) - и есть криптовалютный кошелек, который заменяет традиционную сид-фразу на технологию многосторонних вычислений: приватный ключ делится на несколько зашифрованных частей, которые хранятся в разных местах (например, одна у пользователя на устройстве, а другая на сервере), что исключает единую точку отказа и повышает безопасность.
в то же время кошельки с использованием схемы пороговой подписи (TSS) - тоже решение для безопасного хранения криптовалюты: и они тоже исключают единую точку отказа, разделяя закрытый ключ на части между несколькими сторонами, и подписывают транзакции без восстановления полного ключа.
при этом GG20 TSS использовались
в разное время в инфраструктуре: Fireblocks, ZenGo, Coinbase, Binance и, вроде бы (пока подтвердить не удалось) в кошельках разных ДАО.
получается, что в отличие от мультисига здесь одна подпись ончейн, а не несколько; кроме того, смарт-контракт здесь никакой не нужен, как правило; и это дешевле по газу и работает в разных притом сетях (даже в Bitcoin).
сам процесс поэтому можно разделить на ряд стадий:
1. генерация ключа без его раскрытия;
2. совместное вычисление nonce;
3. защита от rogue-key атак (атак с использованием поддельного и/или скомпрометированного ключа);
4. zero-knowledge proof элементы;
5. много-раундовое взаимодействие между участниками.
отсюда - “приватный ключ никогда не существует целиком, но подпись всё равно появляется”. если вам стало интересно, то рекомендую изучить
One Round Threshold ECDSA with Identifiable Abort.
но причём здесь
ИИ? дело в том, что одна из гипотез основных, сформировавшихся вокруг взлома
ThorChain, - это как раз таки взлом (сбор? подбор?) GG20 TSS. вот такие времена.
Обсуждение 2
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram