Исследования клиентов, которые не сохраняют состояние данных о запросах, могут сыграть важную роль для эфириума, однако некоторые фундаментальные ограничения пока не позволяют применять их на практике.
На конференции Unitize соучредитель эфириума Виталик Бутерин представил актуальную картину о последних исследованиях и говорил о проблемах перехода на такое ПО.
Проще говоря, клиенты без сохранения данных позволяют узлам в полной мере участвовать в проверке транзакций без необходимости хранить более раннюю историю блокчейна. В состоянии данных отражаются текущие сальдо, коды смарт-контрактов и соответствующие им данные.
Новые блоки каждый раз вносят лишь небольшие изменения в состояние, но все они проверяются по всему блокчейну, что в итоге оказывается неэффективным процессом. Клиенты без сохранения состояния находятся в центре внимания инициативы ethereum 1.x, цель которой состоит в поддержании работоспособности действующего блокчейна. Однако исследования также имеют важное значение и для ethereum 2.0:
«В контексте шардинга в ethereum 2.0 клиенты без сохранения состояния в основном обязательны, поскольку ноды быстро меняют положение между разными шардами».
Бутерин также рассказал, что клиенты без сохранения данных изучаются и в других блокчейнах, включая биткоин. Эти клиенты полагаются на криптографические методы только для вычисления изменений состояния и их проверки, не стремясь записывать это в память. Однако криптография пока несовершенна.
Проблемы создания доказательств
Одно из современных решений опирается на доказательства Меркла для проверки состояния данных через концепцию свидетеля, содержащего модифицированную информацию. Однако у такого подхода есть несколько недостатков, связанных с текущей неэффективностью сети и ростом каждого блока до 405 МБ.
Размер свидетеля может быть уменьшен до 2МБ и даже в среднем до 600 КБ за счёт некоторой оптимизации. Однако и это было бы выше текущего размера блока эфириума в 50 КБ.
Виталик Бутерин видит альтернативу в Polynomial Commitments, системе проверки, полагающейся на полиномиальные функции для представления данных. За счёт некоторых криптографических свойств они позволяют использовать лишь одного «маленького свидетеля, чтобы доказать целую кучу данных», говорит Бутерин.
Однако Бутерин также сказал, что и в этом подходе есть серьёзная проблема. Доказательства Меркла легко обновляются из-за их древовидной структуры, однако полиномиальные функции требуют полного изменения всей кривой, и, соответственно, подсчёты оказались бы дорогостоящими.
Существует также решение, объединяющее полиномиальные обязательства в древовидную структуру.
Нужны исследования
Бутерин сказал, что у каждого потенциального решения есть свои проблемы, которые требуют дополнительных исследований. Завершая своё выступление, он отметил:
«Существует множество интересных арифметических методов, которые позволяют сократить размеры свидетелей так, что дополнительные данные, которые нужно загружать клиентам, будут на самом деле не такими уж большими. Однако исследования и доработки всё ещё требуются; и мы приветствуем помощь со стороны академического сообщества».
Речь Бутерина предполагает, что клиенты без сохранения данных в ближайшее время в эфириуме не появятся, поскольку пока всё упирается в криптографические исследования. Транзакционные возможности эфириума пока также преднамеренно ограничены из-за опасений сделать блокчейн слишком тяжелым для обычных устройств.