Создатели платформы блокчейна с открытым кодом Ethereum изучают способы устранения проблемы, которая была присуща их технологии изначально – невозможности масштабирования и существенного увеличения вычислительных мощностей в целях повышения производительности.
Организация Ethereum Foundation занята поиском разработчиков, которые могли бы помочь решить вопросы, связанные с масштабированием.
Ethereum и Hyperledger – две ведущие в мире платформы блокчейна, являющиеся фундаментом для множества самых разных приложений, начиная от криптовалют (таких как Ethereum Ether) и заканчивая «умными» или обладающими самостоятельной исполнительной силой электронными договорами.
К достоинствам одноранговой технологии распределенного журнала следует отнести ее открытость и эффективность, поскольку все транзакции можно увидеть в реальном времени. Однако проблемы с производительностью, обусловленные тем, что каждая запись блокчейна должна быть обработана всеми узлами, приводит к замедлению выполнения транзакций, в том числе и платежных.
В силу цепочечной природы все новые записи, вставляемые в блокчейн, должны обрабатываться последовательно, а значит, скорость обновления журнала будет уступать традиционным базам данных, где обновление данных осуществляется параллельно.
«В глобальной сети, где любой из участников может сыграть деструктивную роль, такой дорогостоящий и медленный процесс оправдан, – пояснил основатель биржи Ethereum Leverj Бхарат Рао. – В корпоративной же среде, где все участники находятся под контролем, просто не имеет смысла тратить время и ресурсы на то, что, по сути, не дает никаких дополнительных преимуществ».
Требование к обработке транзакций каждым из узлов изначально делает блокчейн устойчивым к кибератакам (ведь для того, чтобы заполучить контроль над сетью, понадобится взломать сотни или даже тысячи узлов), но обработка транзакций при этом замедляется, что в конечном итоге негативно отражается на масштабируемости.
В своем блоге создатель Ethereum Виталик Бутерин пишет, что в сети блокчейна в настоящее время обрабатывается до миллиона транзакций. В связи с тем, что его проект, как и другие проекты блокчейна все чаще достигают своей максимальной расчетной мощности, потребность в увеличении масштабируемости становится все более очевидной и срочной.
До сих пор в Ethereum изучали два возможных решения проблемы. Первое из них, «сегментирование», предполагает использование в процессе просмотра и обработки каждой из транзакций относительно небольшого числа узлов, благодаря чему гораздо больше транзакций можно будет выполнять параллельно, в одно и то же время. Ожидается, что безопасность при сегментировании пострадает не сильно, поскольку блокчейн сохранит децентрализацию и присущие ему безопасные свойства.
Второе решение предусматривает создание уровней связи данных или протоколов «второго уровня», которые будут отправлять большинство транзакций за пределы цепочки, взаимодействуя при входе и выходе из системы второго уровня только с блокчейном. То же самое будет происходить и в случае атак на систему. Протоколы второго уровня будут переносить данные между узлами в пределах локальной сети или смежных сегментов территориально-распределенной сети.
«Работа над спецификациями первого прототипа уже близка к завершению, – сообщил Бутерин. – Предложенный план позволяет постепенно интегрировать новое решение в Ethereum – сначала как 'слабосвязанную' боковую цепочку, соединенную с базовой цепочкой Ethereum через 'контракт, управляющий валидаторами', а затем проводя все более и более тесную интеграцию с основной цепочкой Ethereum. Программное обеспечение пишется на Python поверх Py-EVM. На подходе уже и тестовая цепочка testnet, которая также будет написана на Python».
В Ethereum Foundation, однако, хотят привлечь к следующему этапу, предусматривающему создание сегментированной тестовой сети, а затем и сегментированной основной сети, внешних разработчиков.
«Нам хотелось бы с самого начала построить экосистему для множества клиентов, поскольку Ethereum Foundation не поддерживает привилегированных реализаций», – указал Бутерин.
Помимо работы, предполагающей внутреннее решение проблемы силами непосредственных участников проекта, в Ethereum готовы предоставить программистам, которые помогут исправить ситуацию, субсидии. Размер субсидий может варьироваться от 20 тыс. до 1 млн долл. в зависимости от объема выполненных работ.
Разработчики должны испытывать гордость, зная, что их работа может быть использована в следующей итерации блокчейна Ethereum.
«Финансируемая Ethereum Foundation исследовательская команда продолжит заниматься реализацией проекта на Python, а возможно, и на других языках, но цель в первую очередь состоит в том, чтобы подтвердить ранее принятую концепцию, – указал Бутерин. – Наша деятельность направлена на проведение исследований и разработку спецификаций. У нас нет задачи победить в конкурентной борьбе за получение наибольшего числа реальных пользователей после того, как сеть заработает».
Желающим поучаствовать в разработке следует направить по адресу apply@ethereumresearch.org письмо с указанием следующей информации:
- Официальное название проекта и имена подателя заявления и основных разработчиков.
- Дополнительные сведения о команде, включая ее предыдущую деятельность в разработке Ethereum, пространства блокчейна или распределенных систем, в проектировании базовых технологий и криптографических средств.
- Предлагаемое решение и его влияние на масштабируемость.
- Ориентировочные сроки реализации отдельных этапов разработки и ее полного завершения, запрос на получение субсидии и ориентировочный общий бюджет.