📒 Отчёт разработчиков EOS.IO — Поддержка Apple Secure Enclave и схожих технологий (@dan)
Команда block.one неустанно работает над eos.io, стремясь создать самый передовой блокчейн-софт среди существующих. Помимо усовершенствования базового программного обеспечения, мы также ведем работу с рядом крупных игроков индустрии, чтобы реализовать eos.io на их платформах.
Постоянно эволюционирующая структура
EOS.IO — не просто набор нормативных функций. Это живая структура, в своём развитии постоянно выходящая за пределы нашей исходной белой бумаги. Мы стремимся сделать EOS.IO самой лучшей из всех возможных платформ и сделать это как можно скорее. Сегодня мы хотели бы обсудить ряд изменений, которые реализуются в данный момент.
Опережение графика работ по параллельному выполнению
Наша оригинальная “дорожная карта” заявляет, что однопоточная имплементация будет завершена к июню 2018 года, после чего начнётся работа над многопоточностью. Сегодня мы рады сообщить вам о том, что работа над движком параллельного исполнения стартовала на 8 месяцев раньше графика, и мы думаем, что она будет завершена к июню 2018 года. В список работ по реализации движка входит полная переписка chainbase — базы данных, лежащей в основе технологии Steem.
Новая база данных EOS.IO с поддержкой сегментов
За последние несколько недель мы разработали новую базу данных с поддержкой сегментов для одновременного доступа нескольких потоков к независимым областям памяти (сегментам). Диапазон данных сегмента не установлен, разные транзакции могут группировать разные сегменты в зависимости от того, какие требуются шаблоны доступа к данным.
Новое многопоточное восстановление ключей
Мы разработали многопоточный сервис восстановления ключей, который увеличит быстроту проверки транзакций по сравнению с ныне действующим однопоточным методом.
Коммуникация между блокчейнами
Мы ведём активную разработку структур, которые позволят двум блокчейнам информационно взаимодействовать друг с другом. Для того, чтобы результаты были значимыми и эффективными, необходимо провести тщательную проработку структуры наших деревьев Меркла. Также речь идёт о реструктуризации заголовков блоков и транзакций.
Представлены регионы
Теперь в заголовках транзакций есть дополнительное поле — регион. Представьте себе почтовый индекс, указывающий на то, какие транзакции должны быть включены в блокчейн. По умолчанию нулевой регион означает текущую цепочку, а все другие цепочки имеют иные коды регионов. Когда контракт генерирует отложенную транзакцию для иного региона, это дает производителям блоков сигнал игнорировать такую транзакцию. Другие цепочки также могут использовать доказательства Меркла для проверки кода региона, который они себе присвоили.
Обработка ошибок в отложенных (асинхронных) транзакциях
Изначально программное обеспечение EOS.IO не имело процедуры обработки ошибок асинхронных транзакций, за исключением тайм-аута. Причина этого ограничения заключалась в том, что обработчики ошибок сами могут ошибаться. Единственной опцией для обработки ошибок было ожидание истечения срока действия транзакции без выполнения операции.
Мы обновили структуру блоков, чтобы позволить производителям включать в план ошибочные (по объективным причинам) транзакции и использовать обработчик ошибок. Существует 3 возможных состояния для включения отложенной транзакции: успешное, ошибочное с успешной обработкой ошибок или ошибочное с неудачной обработкой ошибок. К обработке принимаются только ошибки с объективными причинами; субъективным же сбоям, наподобие использования слишком большого количества времени, по-прежнему придётся ждать тайм-аута.
Включение поддержки Apple Secure Enclave
Мы расширили нашу поддержку проверки ключей эллиптической кривой, добавив secp256r1. Это стандарт, созданный Национальным Институтом Стандартов и Технологий США (NIST) и используемый Apple, Android и множеством смарт-карт. Пользователи получат возможность выбрать одну из кривых (secp256k1 используется Bitcoin и EOS по умолчанию) или обе одновременно (r1 и k1), если они не знают, какой из них доверять! Наиболее важным аспектом является то, что каждый пользователь мобильного телефона получит аппаратный кошелёк с двухфакторной биометрической проверкой.
Реализация пока в процессе, но проектное решение уже принято, и оно сделает EOS.IO применимым во множестве рабочих сред.
Заключение
Команда block.one проделывает массу работы, и софт eos.io становится лучше с каждым днём.
Дисклеймер
block.one является компанией-разработчиком ПО и выпускает программное обеспечение EOS.IO в качестве бесплатного программного обеспечения с открытым исходным кодом. Это программное обеспечение может позволить тем, кто его устанавливает, запустить блокчейн или децентрализованное приложение с функциями, описанными выше. block.one не будет запускать публичный блокчейн на основе программного обеспечения EOS.IO. За реализацию функций и/или предоставление услуг, описанных выше, по своему усмотрению, будут нести ответственность исключительно третьи стороны и сообщество, а также те, кто захочет стать производителями блоков. block.one не гарантирует, что кто-либо будет реализовывать эти функции или предоставлять такие услуги, или что программное обеспечение EOS.IO будет принято и применено каким-либо определенным образом.
Все заявления в этом документе, за исключением заявлений об исторических фактах, включая любые заявления о бизнес-стратегии block.one, ее планах, перспективах, разработках и целях, являются лишь прогнозными заявлениями. Эти утверждения носят сугубо предсказательный характер и отражают текущие убеждения и ожидания block.one относительно будущих событий, которые основаны на предположениях и подвержены рискам, неопределенностям и изменениям в любое время. Мы работаем в быстро меняющейся среде. Время от времени появляются новые риски. Учитывая эти риски и неопределенности, мы предостерегаем вас от всецелого полагания на эти прогнозные заявления. Фактические результаты, производительность или события могут существенно отличаться от тех, которые содержатся в прогнозных заявлениях.
Некоторые из факторов, которые могут привести к существенным отличиям фактических результатов, производительности или событий от прогнозных заявлений, содержащихся в настоящем документе, включают в себя, без ограничений: волатильность рынка; постоянную доступность капитала, финансирования и персонала; принятие продукта; коммерческий успех любых новых продуктов или технологий; конкуренцию; государственное регулирование и законы; а также общие экономические, рыночные или деловые условия. Любое прогнозное заявление, сделанное block.one, актуально только в дату его публикации, и block.one не несет никакой ответственности и прямо отказывается от каких-либо обязательств по обновлению или изменению своих прогнозных заявлений, будь то в результате появления новой информации, последующих событий или иных факторов.
Оригинал поста: ЗДЕСЬ