Почему Pact - лучший язык DeFi

 


В 2022 году в пространстве Ethereum было совершено взломов на сумму более 3 миллиардов долларов. Каждый из них был трагедией для пользователей, но также потенциально губительным для разработчиков, стоящих за проектами. Язык смарт-контрактов Ethereum, Solidity, настолько выразителен, что разработчикам приходится предвидеть каждое нежелательное состояние реестра и писать специальный код, чтобы предотвратить это. Поскольку децентрализованное финансирование (DeFi) становится все более сложным, разработчики тратят 90% своего времени на поиск и исправление уязвимостей, а не на доставку продуктов. Если DeFi хочет реализовать свой потенциал в качестве альтернативы централизованному финансированию с открытым исходным кодом, то сначала она должна решить проблему дорогостоящей траты талантов.

С 2017 года команда Kadena разрабатывает Pact — язык смарт-контрактов, разработанный специально для DeFi. Pact сочетает в себе лучшие практики Bitcoin script и современных интерпретаторов, таких как виртуальная машина Javascript (JVM), сохраняя при этом базовые концепции, такие как токеновые контракты, которые знакомы разработчикам Solidity.

Pact находится в постоянной разработке с 2017 года и в настоящее время находится на стадии выпуска 4.4.1. Команда чутко реагирует на сообщество разработчиков и регулярно сотрудничает над новыми встроенными функциями и другими оптимизациями. Результатом является язык смарт-контрактов, который предлагает наилучшую функциональность, возможность аудита и прозрачность.

Вот несколько причин, по которым Pact - это будущее безопасных и эффективных смарт-контрактов:

1. Удобочитаемый код

Смарт-контракты в Kadena интерпретируются и выполняются непосредственно on-chain, без необходимости компилирования в непрозрачный низкоуровневый байт-код. Это обеспечивает гораздо более безопасный интерфейс для разработчиков и пользователей, где смарт-контракты можно легко считывать по цепочке и отлаживать, а пользователи могут ознакомиться с простым манифестом каждой транзакции, объясняющим, что они подписывают, с какими контрактами они взаимодействуют и сколько именно будет снято с их счета.

2. Безопасные переводы

Быть "полным по Тьюрингу" - почетный знак для некоторых блокчейнов, но реальность такова, что неограниченные вычисления и бесконечная рекурсия ограничены и зависят от надежности модели gas для обеспечения соблюдения ограничений, которые могут и должны быть выведены из базовой вычислительной модели. Это приводит к снижению транзакционных издержек, что может нанести ущерб как пользователям, так и разработчикам. Кроме того, система, полная по Тьюрингу, открывает возможность появления ошибок, расширяя область программирования без необходимости и без какой-либо выгоды.

Pact намеренно накладывает ограничения на состояние реестра, чтобы гарантировать, что многие взломы, которые мы наблюдали за последний год, просто невозможны. Все транзакции в Kadena являются либо атомарными, либо доказуемо правильными по конструкции. Сбой на любом этапе приводит к отмене всей операции, так что средства не могут оказаться в неожиданном месте.

3. Встроенная поддержка мультисигнала

Криптография - это новая парадигма личной ответственности, потому что потеря закрытого ключа означает потерю доступа к своим средствам навсегда, без возможности обращения за помощью. Pact устраняет эту опасность, изначально позволяя пользователям прикреплять несколько ключей к учетным записям. Даже если один из ключей будет утерян, остальные ключи все равно смогут восстановить учетную запись.

4. Управление зависимостями

Поскольку большая часть кода опирается на внешние библиотеки, при случайном или злонамеренном изменении могут возникнуть проблемы с безопасностью и надежностью. Чтобы защититься от этого, Pact использует встроенные зависимости, импортируя аргументы напрямую, а не вызывая их из ненадежных источников. Если разработчик Pact действительно хочет воспользоваться преимуществами обновленной зависимости, он может просто обновить контракт.

Вывод

Хотя в Pact слишком много оптимизаций, чтобы их можно было перечислить полностью, разработчики могут использовать функциональность Pact благодаря синтаксису, подобному LISP. Это гарантирует, что код может быть разобран на синтаксические деревья и выполнен как можно быстрее. Для обеспечения возможности аудита Pact поддерживает формальную проверку, модульные тесты и моделирование блокчейна. И, наконец, с точки зрения прозрачности, Pact допускает только статические переменные и не поддерживает нулевые значения, макросы или вычисление произвольных строк. Вот почему Pact становится первым выбором для разработчиков web3, желающих создавать безопасно и эффективно!

Для получения дополнительной информации о Pact ознакомьтесь с тык и наш Github. Pact доступен из Homebrew на macOS со следующей командной строкой:


Sign up for the Kadena Newsletter

Мы также на: Twitter | LinkedIn | Github | Reddit | Discord

#Pact #Blockchain #Web3 #Cryptocurrency #Smart Contract Blockchain