tBTC модел за сигурност

Oleg Bolgarin
9 min readAug 28, 2020

--

tBTC е проектиран така, че потребителите да могат безопасно да използват BTC в мрежата Ethereum. Различните проекти използват различни подходи към сигурността. По-долу е представен преглед на модела за сигурност на tBTC и как той осигурява високо ниво на сигурност за потребителите и подписващите.

Биткойн сайдчейн с минимално доверие

Sidechains са измислени като начин за експериментиране с отключване на потенциала на Bitcoin в други blockchains. Идеята е проста — заключете BTC на блокчейн и го отключете за използване в друга блокчейна, създавайки нова валута, обвързана с BTC. На практика изграждането на двупосочен канал без надеждни посредници е трудно. Liquid от Blockstream е работещ пример за биткойн сайдчейн, който разчита на надеждни посредници.

Докато Liquid работи, липсва прозрачност и сигурност. Liquid разчита на надеждни подписчици, за да съхранява заключен BTC. Ако подписалите го желаят, те могат да преустановят изтеглянето на средствата или да напуснат с парите. Освен това няма начин да повлияе на потребителите върху подписващите, потребителите трябва изцяло да се доверят на Liquid мрежа и нейната основна технология.

tBTC е минимална алтернатива за доверие на този модел. Подписващите осигуряват 150% от сумата на депозита, който притежават, а потребителите получават пълно възстановяване на сумата в случай на измама на подписващия. Подписващите се избират от отворена и децентрализирана мрежа от възли, които управляват протокола Keep.

Процесът за създаване на 1 TBTC е както следва:

  1. ECDSA Keep отправя искане към мрежата Keep за депозит от 1 BTC.
  2. Формира се група подписали се и се залага депозит в ETH в размер на 150% от цената на 1 BTC.
  3. Група подписали генерира биткойн ключ (портфейл), използвайки протокола за подпис на прага на ECDSA.
  4. Потребителят прехвърля 1 BTC в биткойн портфейл.
  5. Потребителят генерира SPV доказателство за транзакцията си и го изпраща до мрежата на Ethereum.
  6. Потребителят получава TBTC.

Обменът на TBTC обратно към BTC е подобен на горния, но в обратна посока:

  1. Потребителят изгаря TBTC и посочва своя биткойн адрес.
  2. Група подписали генерира и публикува подпис за транзакция и изпраща BTC на посочения биткойн адрес.
  3. Потребителят изпраща тази транзакция в мрежата.

Подписващите генерират SPV доказателство за тази транзакция, публикуват я в мрежата на Ethereum и получават обратно обезпечението си.

В тази операция участват три субекта:

  1. Пазете мрежа, която предоставя на подписващите да съхраняват BTC.
  2. Определяне стойността на BTC за изчисляване на размера на обезпечението в мрежата на Ethereum.
  3. Реле за биткойн, което проверява създаването и изгарянето на транзакции.

Децентрализирана подписала мрежа

tBTC използва Keep Network, за да осигури децентрализирана мрежа от онлайн подписващи. Всяка група подписали, които съхраняват биткойн депозит, се състои от 3 възли. Тези възли са избрани на случаен принцип от голям пул, използвайки произволни маяци. Всяка възможност за манипулиране на набора от подписали се неутрализира от модела на залагане KEEP, който осигурява съпротива срещу сибилските атаки.

За да гарантират компенсация на потребителите в случай на измама, подписващите предоставят депозит в размер на 150% от BTC стойността на депозита ETH. tBTC наблюдава недобросъвестното поведение на подписващите, като ги наказва и възстановява изцяло на потребителя за техните TBTC, а също така изключва подписващия от групата на подписващите.

Грешка на подписвача

Невъзможността на подписващите да отговорят на искане за обратно изкупуване е грешка на подписателя. Грешките при подписване могат да включват не предоставяне на подпис за осребряване или не предоставяне на SPV доказателство за включване в блок Bitcoin.

Всички грешки се считат за грешки в протокола и инициират ликвидация. Средствата на подписващия се конфискуват и се излагат за търг TBTC, така че потребителят може да получи възстановяване на средствата за своите недостъпни BTC, а половината от останалите средства (максимум 1/6 от първоначалната сума) се връща на подписващите.

За да възстановят загубите си от ликвидация, подписалите групи могат да възстановят BTC след отработване на грешката.

Подписващите измами

Подписващата измама е единствената дейност в системата на tBTC, която води до пълно изтегляне на средства. Всеки подписващ, който изпраща биткойни без упълномощаване на tBTC, се нарязва всичките им средства.

Измамата се доказва чрез подаване на неоторизиран подпис на веригата. Всеки може да представи доказателство за измама и да получи останалите ETH от търга на подписали средства.

Подписващата измама се наказва както от протокола tBTC, така и от Keep ECDSA.

  1. Ликвидациите се извършват в tBTC и средствата се използват за закупуване на TBTC. Притежателят на TBTC Deposit Token (TDT) се компенсира при TBTC, освен ако депозитът не е обезпечен с циркулиращ TBTC. В този случай TBTC се изгаря, за да поддържа съотношение 1: 1.
  2. В Keep, подписващият участък се прерязва и токените му KEEP се изгарят, което потенциално го отстранява от списъка с кандидати. Такива подписващи лица губят не само капитала си, но и възможността да получават комисионни.

Надеждно ценообразуване

Подписващите заедно предоставят 150% от стойността на BTC, която притежават, насърчавайки честното им поведение, както е описано по-горе. Тези средства се държат в ETH, така че винаги е необходимо да се знае съотношението ETH / BTC. По този начин сигурността на ценообразуването е неразделна част от системата.

tBTC v1 използва сигурни цени ETH / BTC, базирани на членове на екосистемата. Основното съотношение, управлявано от MakerDAO, е средната цена от Binance, HitBTC, Coinbase, Poloniex, Huobi и Bitfinex. Ако първичното ценообразуване престане да функционира, системата може да премине към вторично ценообразуване.

Ценообразуването е податливо на цял клас атаки, които могат да навредят на подписващите, но поради дизайна на системата не засягат спестителите. Неподходящото ценообразуване може да тласне депозитите към ликвидация, но тъй като ликвидацията е търг с висока начална цена, средствата на подписващите могат да бъдат продадени с малко приплъзване и над всяка котирана цена. Краткосрочното манипулиране на цените не застрашава средствата на вложителите, но представлява риск за подписващите.

Неправилно функциониращ, манипулиран ценови канал с течение на времето започва да заплашва системата. В такъв случай разумните потребители трябва да изплатят своите депозити и да излязат. Прави впечатление, че дефектният канал не пречи на обратно изкупуване на потребителски депозити.

Манипулиран канал за ценообразуване няма да спести злонамерени подписващи лица от намаление, но може да намали загубата на участници в случай на неподходящо поведение. В това отношение ценообразуването е задълбочена мярка за защита, а деактивирането му води до по-слаб модел на сигурност.

Проследяване на биткойн транзакции

Доказателството за транзакция с биткойн в мрежата Ethereum изисква някаква форма на взаимосвързаност. tBTC използва доказателна SPV за постигане на тази цел, разчитайки на ретранслатор с отворен код, разработен от Summa. Докато релето следи състоянието на биткойн мрежата, то се основава и на „SPV предположения“.

Използването на SPV доказателства гарантира, че TBTC е плътно привързан към истинския BTC — невъзможно е да се създаде BTC от тънък въздух. По същия начин доказателствата не се основават на справедливост, но състоянието на транзакция с биткойн се проверява в самия смарт договор.

Контрол

Първата версия на tBTC е разработена без възможност за подновяване на договора, следвайки философията за биткойн за неизменност и контрол на опциите. Бъдещите версии на tBTC ще бъдат нови системи и ще изискват социална координация за надграждане, подобно на хард форк, който може да се направи на Bitcoin.

Екипът на разработчиците обаче има привилегирован ключ с 4 различни възможности. Тези възможности се отнасят само за нови депозити, предотвратявайки намесата на екипа в съществуващи депозити или държани средства.

  1. Актуализиране на подписващата комисия. Привилегированият ключ може да промени размера на комисионната на подписвача за последващи депозити. Тази промяна засяга само нови депозити, открити след кратко забавяне. Максималната комисионна, която може да бъде зададена, е 10%, а минималната е 0,05%, което предотвратява задействането на тази способност, ако случайно превключите.
  2. Поддръжка за допълнителни размери на партидата. Привилегированият ключ може да променя и добавя налични размери на партиди за нови депозити. Тази промяна засяга само нови депозити, открити след кратко забавяне. Наличните размери на партидата трябва винаги да включват най-малко 1 BTC, а размерите на партидите не могат да бъдат по-големи от 10 BTC или по-малко от 0,0005 BTC (50 000 Satoshi), предотвратявайки неволно превключване.
  3. Промяна в размера на обезпечението. Привилегированият ключ може да управлява трите опции за обезпечение, използвани от системата. Тази промяна засяга само нови депозити, открити след кратко забавяне, като не позволява принудителна ликвидация на съществуващи депозити. Най-ниският праг на резервиране е 100%, а най-високият — 300%, което предотвратява неволното превключване.
  4. Добавяне на резервен канал за определяне на цената. Привилегированият ключ може да добави нови адреси за договор за ценообразуване към списъка с искани канали. Тъй като каналите се искат в реда, те са добавени и се използва първата правилно определена цена. Тази привилегия може да се използва за влияние върху отчетената цена, само ако съществуващият канал за ценообразуване не успее. Тази промяна не може да деактивира първоначалното ценообразуване без сговор между ценовите оператори и се активира само след кратко закъснение.
  5. Спиране на нови находища. Привилегированият ключ може да спре нови депозити за 10 дни, веднъж и без забавяне във времето. След като тази способност се използва, тя не може да се използва отново. Този подход беше предпочитан пред убийствен ключ или друг контролен механизъм, който дава възможност на разработчиците да уведомяват потребителите в случай на 0-дневен експлойт, позволявайки на потребителите да изтеглят депозитите си в случай на катастрофална повреда. Както всички други привилегировани опции, това не засяга отворените депозити, които могат да продължат да бъдат осребрявани или използвани нормално.

Въпреки че управлението в tBTC е проектирано така, че да бъде устойчиво пред злонамерени разработчици или кражба на ключове, както при всеки проект, претендиращ за цензурна устойчивост, настоящата роля на екипа за разработка и целия код заслужава внимателен контрол от страна на потребителите и независими партии.

Други атаки

Най-опасната атака срещу страничната верига tBTC изисква тайно споразумение на три страни — оператор за определяне на цените, голям брой подписващи и нови хора, които правят депозити.

  • Първо, ценовият оператор манипулира котираната цена по такъв начин, че ETH, например, е 100% надценена спрямо BTC. Тази манипулация трябва да се поддържа дълго време.
  • Новите вложители сега забелязват, че всеки BTC, който те депозират, вече ще има само 75% обезпечение в случай на измама и трябва да избягва системата. По споразумение обаче вложителите продължават да депозират в BTC.
  • Честните подписвачи ще продължат да притежават BTC независимо от недостатъчното обезпечение. Сега, ако има голям брой злонамерени подписващи лица, тогава това прави възможно тайно споразумение и събиране на BTC в необезпечени депозити. Тези подписващи лица ще бъдат ликвидирани, като губят 75% от всеки BTC, който са откраднали, а също така ще бъдат масово отстранени от мрежата с невъзможност за последващо подписване.
  • За всеки 1 BTC, изтеглен от системата, се продават или 75% от 1 BTC в ETH, или същата сума остава на разположение за търг; Всеки депозит, който не е продаден на търг, счупва поканата за офериране, докато стойността на TBTC се изравни с предлаганите на търг средства.

Тази атака е сложна и изисква значителни инвестиции и координация. Най-голямото предизвикателство е случаен маяк Keep, което изисква голяма част от злонамерени подписващи в резерва на кандидата или изключителен късмет от страна на нападателя.

Алтернативни модели (BTCB, RenBTC)

Има много алтернативни подвързани модели BTC, всеки с различни системи за сигурност. Централизираните борси като Binance предлагат просто BTCB решение. Те се справят сами с BTC колбата, но трябва напълно да им се доверите, за да използват това решение. Отделни компании и асоциации като Liquid и Wrapped Bitcoin представят подобен модел.

Въпреки това, обществените асоциации са по-добре съобразени с децентрализирания характер на биткойн; за тази цел някои проекти са направили различни компромиси със сигурността.

Ren е пример за публичен проект за прилагане на прикрепен BTC въз основа на собствения си консенсус. Моделът на Ren е подобен на Keep — валидаторите в мрежата на Ren източват собствения си REN маркер, за да участват в протокола. Ren обаче изисква валидатори да източат фиксирана сума от REN, само за да държат BTC, което не е обезпечение за вложителите в случай на измама. За разлика от тях, tBTC изисква от подписващите да имат излишък на обезпечение както в ETH, така и в KEEP. Ren също използва отделни подмножества от валидатори. tBTC назначава отделна група подписали за всеки депозит, като всички подписатели са необходими за разрешаване на транзакции. Друга важна разлика е използването на доказателства в tBTC SPV, което изисква tBTC да следва основната верига и да не позволява на подписващите да цензурират потребителски депозити или да се базират на вилици. Ren не дава такива гаранции. И накрая, моделът за сигурност на Ren включва допълнителни нови консенсусни протоколи и MPC, отваряйки нови вектори на атаки.

Изход

Има много BTC колчета и постоянно се разработват нови подходи. tBTC се откроява със своя съвместимост с Ethereum, минимизиране на доверие и сигурност.

Бъдещите подобрения на tBTC включват подмяна на доверения канал за ценообразуване и намаляване на изискванията за обезпечение в ETH.

tBTC е създаден от проектите Keep, Summa и Cross Chain Group и е напълно отворен код на GitHub ..

Присъединете се към #tbtc Discord, за да задавате въпроси и да научите повече за модела на защита.

--

--