Facebook Libra: блокчейн, язык программирования, алгоритм

Суть проекта Libra мы разобрали уже в отдельной статье, также в отдельной статье мы разобрали Ассоциацию Libra и всех участников, которые на данный момент входят в нее.
В этой статье мы рассмотрим блокчейн проекта Libra.
Цель Блокчейна Libra - служить прочной основой для финансовых услуг, включая новую глобальную валюту, которая может удовлетворить ежедневные финансовые потребности миллиардов людей.
В процессе оценки существующих опций разработчики решили создать новый блокчейн на основе следующих трех требований:
- Возможность масштабирования до миллиардов учетных записей, что требует высокой пропускной способности транзакций, низкой задержки и эффективной системы хранения большой емкости.
- Высокая безопасность, чтобы обеспечить сохранность средств и финансовых данных.
- Гибкость, дающая возможность построить на этой технологии систему управления экосистемой Libra и будущие инновационные финансовые сервисы.
Блокчейн Libra разработан с нуля, чтобы в целом соответствовать этим требованиям и опираться на уроки из существующих проектов и исследований - сочетание инновационных подходов и интуитивно простых и понятых методов. В следующем разделе будут освещены три решения, касающиеся Блокчейна Libra:
- Разработка и использование языка программирования Move.
- Использование протокола консенсуса для решения задачи византийских генералов.
- Libra Blockchain использует широко распространенные блокчейн-структуры данных.
Язык программирования в Libra Facebook
«Move» - новый язык программирования для реализации логики формирования транзакций и smart-контрактов в блокчейне Libra. Из-за цели Libra служить миллиардам людей, для языка Move безопасность и защищенность является наиважнейшим приоритетом.
Язык программирования Move анализирует инциденты безопасности, произошедшие со смарт-контрактами в прошлом, помогая разработчику писать код и избегать ошибок или нарушений безопасности.
То есть создается язык, который по своей природе облегчает написание кода, который соответствует замыслу автора, тем самым снижая риск ошибок или проблем безопасности.
В частности, Move предназначен для предотвращения клонирования активов. Он разделяет «типы ресурсов», которые ограничивают цифровые активы теми же свойствами, что и физические активы:
У ресурса есть один владелец, его можно потратить только один раз, а создание новых ресурсов ограничено.
Язык Move также обеспечивает автоматическое подтверждение того, что транзакции удовлетворяют определенным свойствам, таким как платежные операции, изменяющие только остатки на счетах плательщика и получателя.
Придавая приоритет этим функциям, Move поможет обеспечить безопасность Libra Blockchain. Облегчая разработку кода транзакции, Move обеспечивает безопасную реализацию политик управления экосистемой Libra, таких как управление валютой Libra и сетью узлов валидаторов.
Move ускорит эволюцию протокола Libra Blockchain и любых финансовых инноваций, построенных на его основе. Разработчики проекта ожидают, что со временем партнеры и разработчики приложений смогут создавать контракты, чтобы поддерживать развитие и валидацию Move.
Алгоритм проекта Libra, LibraBFT
Чтобы облегчить согласование между всеми узлами валидатора относительно транзакций, которые должны быть выполнены, и порядка, в котором они выполняются, Libra Blockchain приняла протокол BFT с использованием согласованного протокола LibraBFT.
Этот алгоритм обеспечивает надежную работу сети, даже если некоторые узлы валидации, но не более трети сети — подвергнутся взлому или аварийному сбою.
Этот класс алгоритмов консенсуса обеспечивает высокую пропускную способность транзакций, малую задержку и более эффективный подход к согласованию, чем "PoW", которая используется в других технологиях блокчейн, таких как Bitcoin, Ethereum и других.
Как и во многих других криптовалютах блокчейн, данные о транзакциях в Libra Blockchain защищены деревьями Меркла — это структуры данных, которые быстро обнаруживают любые изменения в существующих данных.
В отличие от более ранних технологий блокчейн (к примеру Эфира), которые рассматривают блокчейн как набор блоков транзакций, Libra блокчейн — это единая структура данных, которая регистрирует историю транзакций и состояний.
Блокчейн Libra является анонимным и позволяет пользователям хранить один или несколько адресов, которые не связаны с их реальной личностью. Этот подход знаком многим пользователям, разработчикам и регулирующим органам.
Ассоциация Libra будет наблюдать за развитием протокола и сети Libra Blockchain и продолжит изучать новые методы, которые улучшают конфиденциальность в блокчейне, учитывая при этом вопросы практичности, масштабируемости и регулирующего воздействия.
Тестовая сеть все еще находится в стадии разработки, и API могут быть изменены. Разработчики стремятся работать в открытом доступе с привлечением сообщества. Они надеятся на активную роль пользователей в обсуждении проекта и на обратную связь