В решении задачи масштабирования сети Биткойна основной проблемой является необходимость внесения изменений в код на уровне базового протокола и неспособность сообщества принять консолидированное решение по этому поводу. Ход начавшегося более месяца назад голосования по активации SegWit также не внушает оптимизма. При этом, даже если допустить, что SegWit будет активирован, то для следующего шага – реализации сети платежных каналов Lightning, для проведения которой снова потребуются изменения основного протокола, процесс переговоров придется начинать сначала. Ситуация кажется тупиковой, но какое-то решение принимать придется, поскольку пропускная способность сети уже недостаточна в связи с ростом числа транзакций.
Платежные каналы Teechan
В качестве возможного решения, учитывающего вышеперечисленные проблемы, исследовательская группа под руководством профессора Корнельского Университета Эмина Гюн Сирера (Emin Gün Sirer) и аспиранта Иттая Эйала (Ittay Eyal) предлагает технологию Teechan. Это протокол офф-чейн транзакций, который может быть развернут на блокчейне Биткойна, без изменений протокола существующей сети.
Архитектура Teechan похожа на Lightning: большинство транзакций совершаются в двусторонних платежных каналах, находящихся вне основного блокчейна. Ключевое отличие от Lightning – сайдчейны реализованы на уровне процессора, они используют технологию аппаратной защиты данных Intel Software Guard Extensions (SGX), уже использующуюся в последних версиях процессоров Intel, например Core i7, Core i5, а также Xeon, начиная с E3-1200 v5.
Основные преимущества Teechan:
- Не требуется никаких изменений в существующем протоколе сети. Teechan устойчив к пластичности транзакций. Это означает, что SegWit может и не потребоваться, однако и его реализация не помешает.
- Эффективность: Платежи совершаются единым сообщением, при этом задержки основной сети никак не влияют на производительность.
- Многократное использование канала, ограниченное только его платежным балансом.
- Экономия пространства: при любом сценарии 1 канал записывает в основной блокчейн всего две транзакции. Побочный эффект – повышенная устойчивость Teechan к DoS атакам на сеть, ведь большинство операций проходят автономно.
- Эксперименты с созданным на уровне Доказательства концепции прототипом показали пропускную способность 2480 транзакций/с с задержкой не более 0.4 мс.
Аппаратная реализация
SGX – набор инструкций процессора, реализованный в конце 2015 года, и активированный на новых моделях CPU. Технология SGX обеспечивает приватное выполнение кода совместно с гарантией его целостности. Ключевой элемент SGX называется «анклав»: это программа, содержание памяти которой доступно только внутри анклава и только во время выполнения специального кода анклава. Закрытые ключи, позволяющие расшифровать содержимое, кодируются специальным хэшем. Если хакер, или даже пользователь пытается взломать код анклава и изменить хэш, то взломанный код потеряет доступ к приватным ключам. Другими словами, технология не позволит никому, даже владельцу машины, который может произвольно модифицировать код, увидеть содержимое, или изменить выполнение кода внутри анклава.
Вторая особенность процессоров с SGX – «удаленная аттестация»: способность доказать любому удаленному компьютеру, что в данном анклаве выполняется определенный код с определенным хэшем. На этих двух функциях основана технология Teechan – она создает запечатанный «контейнер доверенного выполнения кода» (TEE – Trusted Execution Environment).
В техническом обосновании отмечается, что SGX – не единственный способ построения TEE. Такие же функции обеспечивают защищенные сопроцессоры TPM (Trusted Platform Module), которые выполняют различные задачи почти в каждом ноутбуке. В будущем протокол Teechan может быть реализован на любой платформе, поддерживающей TEE.
Решающее преимущество SGX состоит в том, что гарантии защиты встроены в CPU. Система анклавов защищена от хакера, даже если он поставит сенсоры на системную шину, проведет атаку на USB порты, модифицирует содержимое диска или любым способом подделает пакеты сетевых данных. Единственный способ взлома – удаление оболочки CPU и съем данных непосредственно с разводки процессора.
Что осталось за рамками исследований
- На сегодняшний день, система платежных каналов на базе SGX и TEE тестировалась только в лабораторных условиях.
- Для создания TEE и платежного канала, Teechan требует использования совместимых процессоров. К тому же, построение канала на SGX подразумевает доверие к Intel. Это простое требование, ведь пользователь уже доверяет Intel, запуская свой компьютер, а SGX – это всего еще один набор инструкций процессора. Если одна из сторон использует, например, процессор AMD, придется портировать Teechan в другие TEE. Однако следует отметить, что при создании канала, только стороны, находящиеся на обеих сторонах канала, должны доверять TEE партнера, основному блокчейну ничего доказывать не надо.
- Эффекты воздействия со стороны сети пока не исследованы и для определения узких мест требуются дополнительные эксперименты. Как уже отмечалось, задержки сети не должны влиять на производительность Teechan, однако это предстоит еще подтвердить.
- Несмотря на позитивные результаты эксперимента, чтобы получить реальные данные по масштабированию сети, нужно будет провести тестирование SGX платежных каналов на реальных сайдчейнах, которых еще нет. Исследователи предполагают, что Teechan будет использоваться с платформой типа Lightning, возможно, без SegWit.
- Платежные каналы должны периодически помещать транзакции в основной блокчейн. В документации Lightning указано, что взаимодействие с полными блоками может открыть вектор атаки в платежном канале, однако это было написано для Lightning – теоретически, SGX контейнеры должны быть устойчивы к такой атаке, но требуется тестирование.
Заключение
Проведено Доказательство концепции технологии Teechan и опубликован черновик рабочей документации. В ближайшие несколько недель будет опубликован альфа-код Teechan.
Конечно, предстоит пройти долгий путь от доказательства концепции и прототипа до рабочего варианта. Однако уже сейчас можно отметить важный положительный момент проекта: он основан на уже существующих или активно разрабатывающихся технологиях. Для построения платежных каналов будет использоваться Lightning, но без изменений базового протокола и SegWit. Кроме того, интерес к Teechan проявляет Фонд Эфириума – возможно использование технологии в сети Raiden – аналоге Lightning для Эфириума. Технология TEE уже более года активно развивается в проекте Bletchley корпорации Microsoft под названием «криптлеты». Собственно, платежный канал на основе SGX-анклава представляет собой аналог криптлет-контракта Bletchley.