Teechan: программисты Корнеллского университета предложили новое решение по масштабированию биткоина
Команда программистов, в которую вошли доктор Иттай Эйял и преподаватель информатики Эмин Гюн Сирер из Корнеллского университета, выступила с новым необычным предложением по масштабированию сети биткоина, предполагающим использование доверенной среды выполнения в компонентах защищенного аппаратного оборудования.
Как утверждается, решение под названием Teechan можно имплементировать в протокол биткоина уже сейчас без каких-либо модификаций базового кода.
Cool new breakthrough tech for #Bitcoin and #blockchain:
Scaling Bitcoin with Secure Hardware
https://t.co/SP6ac1gO8y— Emin Gün Sirer (@el33th4xor) December 22, 2016
Как отмечают разработчики, слабым местом биткоина являются его фундаментальные ограничения в том, что касается масштабирования: с момента запуска сети количество ежедневных транзакций растет экспоненциально, однако пропускная способность остается в лучшем случае на уровне 7 транзакций в секунду или в среднем 3,3 транзакции в секунду при реалистичном размере транзакций.
«На практике это означает, что если, к примеру, страна вроде Венесуэлы сегодня полностью перейдет на биткоин, один ее взрослый житель сможет осуществлять в лучшем случае одну транзакцию каждые 72 дня. Любая же нетривиальная транзакция повлечет за собой задержку в ее обработке длиной как минимум в один час», — говорится в предисловии к описанию предлагаемого решения.
Недостатка в предложения по улучшению масштабирования протокола не наблюдается. Одна из возможностей – увеличение размера блока. Это можно считать приемлемой временной мерой, однако изменение размера блока не ведет к ощутимому ускорению подтверждения транзакций. Двукратное или четырехкратное увеличение размера блока даст максимум аналогичное улучшение пропускной способности, но даже при крайне сомнительном предложении по 10-кратному увеличению размера блока житель той же Венесуэлы сможет осуществлять лишь одну транзакцию в неделю, говорят разработчики.
Другая возможность, которую можно найти в таких предложениях, как Bitcoin NG, ByzCoin и Hybrid Consensus, над которыми также работали создатели Teechan, состоит в изменении протокола таким образом, что блоки создаются поступательно в динамике, избегая проблем централизации.
«По-донкихотски, во время дискуссий о масштабировании сообщество было немногословным в отношении принятия таких решений, либо же полностью обходило их стороной. Скорее всего, причина в том, что эти предложения требуют внесения изменений в базовый протокол».
По словам авторов Teechan, вместо этого основное внимание уделялось оффчейн масштабированию, методу, известному как платежные каналы. Платежные каналы, такие как, например, Lightning Network и Duplex Micropayment Channels, делают возможными транзакции, в которых две стороны могут участвовать в большом количестве денежных переводов вне блокчейна, записывая в него только окончательный результат. В потенциале это может существенно улучшить масштабирование, однако такие протоколы также предполагают существенные изменения в базовом протоколе.
«Если говорить более предметно, имплементации Lightning Network уязвимы к пластичности транзакций, в то время как предлагаемое в настоящий момент решение SegWit окружено разногласиями, частично из-за сложностей с его имплементацией».
Новое решение
«Мы разработали новое решение по масштабированию под названием Teechan. Это новый практический протокол оффчейн-транзакций с высокой пропускной способностью и малым временем подтверждения, который может быть развернут в сети биткоин в ее нынешнем виде», — говорят разработчики.
По своей структуре Teechan имеет определенные сходства с Lightning Network за одним ключевым отличительным признаком: он использует доверенную среду выполнения в компонентах защищенного аппаратного оборудования. Последние можно встретить в новейших серийно выпускаемых процессорах, например, в Intel Software Guard Extensions (SGX).
Среди ключевых характеристик нового решения называется следующее:
- Teechan не требует каких-либо изменений в существующей сети биткоина и обеспечивает надежность даже в условиях пластичности транзакций;
- Teechan эффективен: платежи осуществляются при помощи одного сообщения, задержки сети не влияют на его пропускную способность;
- Teechan дает возможность бесконечно использования одних и тех же каналов до тех пор, пока баланс не превышает кредит канала;
- Teechan экономичен, при любом сценарии требуя помещения в блокчейн всего двух транзакций. Благодаря меньшей зависимости от ончейн-транзакций, Teechan менее уязвим к синхронным атакам на блокчейн;
- Соответственно, Teechan вполне подходит для эффективной имплементации. Созданный прототип показывал пропускную способность в 2480 транзакций в секунду на канал с временем задержки подтверждения в 0,4 миллисекунды.
«Одна только первая особенность Teechan заслуживает внимания, поскольку означает, что все расхваливаемые преимущества платежных каналов могут быть получены поверх существующего и не требующего модификации протокола биткоина уже сейчас, избегая тяжелых дискуссий о SegWit и его имплементации», — говорят создатели решения.
Software Guard Extensions
Одной из функциональных новинок, появившихся в процессорах Intel Core шестого поколения (Skylake), стала технология Intel Software Guard Extensions (Intel SGX).
«Если говорить о сути, то Intel SGX – это набор новых инструкций процессора, которые могут использоваться приложениями для выделения приватных областей кода и данных», — цитирует издание Geektimes одного из разработчиков этой технологии Мэтью Хойкстра.
По его словам, создавая эту технологию, преследовались следующие цели:
- Позволить разработчикам приложений защитить чувствительные данные от несанкционированного доступа или изменения со стороны зловредного ПО, запущенного с более высокими привилегиями.
- Позволить приложениям обеспечивать конфиденциальность и целостность чувствительных данных и кода, не вмешиваясь в работу системы контроля привилегий, не мешая ей планировать и контролировать ресурсы платформы.
- Позволить пользователям компьютерных устройств держать над ними контроль, в то же время предоставляя свободу устанавливать и удалять приложения и сервисы.
- Позволить платформе измерять доверенный код приложения и производить с помощью процессора подписанный аттестат, который включает в себя это измерение и прочие сертификаты, удостоверяющие, что код был корректно инициализирован в доверенной среде.
- Позволить разработчикам создавать доверенные приложения с использованием известных им средств и процессов.
- Позволить производительности доверенных приложений увеличиваться с ростом производительности процессоров.
- Позволить производителям ПО распространять и обновлять приложения, используя наиболее удобные для них способы.
- Позволить приложениям определять защищенные области кода и данных, которые содержат конфиденциальность, даже в том случае, если атакующий физически контролирует платформу и может производить прямые атаки на ее память.
При этом, как отмечают создатели Teechan, SGX – не единственный способ построения доверенной среды выполнения. Ее вполне можно создать, например, при помощи доверенных платформенных модулей (TPM), которые можно обнаружить практически в каждом ноутбуке. У TPM могут быть разные производители, а стоят до 5 долларов.
Впрочем, ради чистоты эксперимента команда Teechan при создании прототипа все же остановила свой выбор на SGX.
Оговорки
Одновременно с этим разработчики Teechan подчеркивают, что «бесплатного сыра не бывает», и делают несколько важных оговорок.
Так, протокол Teechan в первую очередь требует доверенной среды выполнения, что предполагает наличие специального аппаратного оборудования для создания каналов. Используя SGX, разработчики в свою очередь доверяли Intel.
Пока еще неизвестно, насколько Teechan в действительности окажется эффективным для масштабирования биткоина – это зависит от кредитной сети поверх блокчейна, а она еще не создана, поскольку пока не было возможности безопасно развернуть платежные каналы. Разработчики рассчитывают, что Teechan будет использоваться во взаимодействии с архитектурой платежных сетей вроде Lightning Network, однако платежные каналы полагаются на способность помещать определенные транзакции в блокчейн, а это требует места в блоках. Как отмечается в whitepaper LN, полные блоки этому мешают и могут открывать платежные каналы для атак.
Тем не менее, в ближайшие недели команда Teechan планирует осуществить публичную имплементацию протокола, предлагая тем временем ознакомиться с draft paper протокола. Код Teechan пока находится в альфа-версии, и, как надеются разработчики, вокруг него будет создана команда желающих принять участие в дальнейшей разработке.
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!