Обновить
3.67

Solidity *

Язык программирования контрактов для Ethereum

Сначала показывать
Порог рейтинга
Уровень сложности

Разбор протокола Pendle: PT, YT, AMM и весь смысл yield-tokenization

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели5.5K

Pendle – это протокол токенизации доходности. Доходные активы оборачиваются в SY-токены, а затем делятся на PT (“тело” актива) и YT (доходность актива). Получается DeFi-версия strip bonds, только подается с AMM и собственным соусом.

В этом разборе объясняю, как Pendle устроен внутри: как работает SY-обёртка, что такое PT и YT, зачем протоколу собственный стандарт ERC-5115, как устроен AMM, ордербук, разные типы APY, как смарт-контракты общаются между собой.

Читать далее

Новости

ERC-6909 vs ERC-1155: простой, как три копейки

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.4K

ERC-6909 – это интересный пример того, что стандарты токенов не всегда становятся сложнее. Этот стандарт сознательно упрощает ERC-1155:
- без batch-вызовов
- без callback’ов
- с гибкой системой апрувов

За счет этого он становится проще для понимания, имеет меньший размер, но сохраняет возможность управлять множеством токенов.

В статье разберем, как устроен стандарт ERC-6909, чем он отличается от ERC-1155, как работает новая система апрувов и почему Uniswap v4 уже использует его внутри протокола.

Читать далее

Анализ смарт-контрактов на примере Solidity

Время на прочтение18 мин
Охват и читатели7.8K

Блокчейн-индустрия переживает период беспрецедентного роста, при этом общая стоимость заблокированных активов (Total Value Locked, TVL) в децентрализованных финансовых протоколах превышает 200 миллиардов долларов по состоянию на 2024 год. Вместе с ростом экосистемы растет и количество инцидентов безопасности, связанных с уязвимостями в смарт-контрактах. Согласно отчету Chainalysis, только в 2023 году потери от хакерских атак на DeFi-протоколы составили более 3.7 миллиардов долларов. История блокчейн-индустрии изобилует громкими случаями эксплуатации уязвимостей смарт-контрактов.

Я Радда Юрьева, работаю в команде AppSec и вместе с коллегами из отдела Web3 исследую вопросы безопасности смарт-контрактов. В этой статье хочу поделиться нашим опытом анализа уязвимостей Solidity-кода и рассказать, какие подходы помогают находить и предотвращать ошибки на ранних этапах разработки Solidity-контрактов.

Читать далее

Прокси контракты, как они работают, какие бывают и как это работает в EVMPack. Часть 1

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели7.1K

Прокси-контракты: Сравнение подходов OpenZeppelin и EVMPack

Обновление смарт-контрактов в mainnet - задача нетривиальная. Развернутый код неизменяем, и любая ошибка или необходимость добавить функционал требуют сложных и рискованных миграций. Для решения этой проблемы используется паттерн "прокси", позволяющий обновлять логику контракта, сохраняя его адрес и состояние.

Что такое прокси-контракт?

Прокси-контракт - это простой контракт-переадресатор. Он хранит адрес основного, "логического" контракта. При вызове функции на прокси, он перенаправляет вызов (через delegatecall) на контракт с логикой.

Особенность delegatecall в том, что код исполняется от имени прокси-контракта, то есть в его контексте хранилища (storage). Это позволяет менять адрес контракта с логикой, в то время как все данные (состояние) остаются на адресе прокси. Для обновления достаточно просто указать прокси новый адрес реализации.

Ну и что дальше?

Как работает CoW DAO: обмен без посредников, свой AMM и защита от MEV

Уровень сложностиСредний
Время на прочтение29 мин
Охват и читатели4K

Представьте, что вы хотите обменять ETH на USDC, а кто-то в этот же момент меняет USDC на ETH. Зачем вообще звать маркетмейкеров и гонять ликвидность по пулу? Можно просто свести эти ордера друг с другом. На этом принципе (Coincidence of Wants или CoW) и построен CoW Protocol.

Читать далее

Aerodrome: MetaDEX, который взял лучшее из Uniswap, Curve и Convex

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели5K

Aerodrome называют MetaDEX не случайно: он объединяет в себе механику Uniswap v2, стабильные пулы Curve и систему стимулов Convex. Протокол работает в сети Base и уже стал главным хабом ликвидности обойдя конкурентов. В этой статье разбираю, почему Aerodrome так быстро выстрелил, как устроена его токеномика AERO/veAERO и какие фичи он унаследовал от своих предшественников.

Читать далее

EVMPack — Управление жизненным циклом блокчейн-проектов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.7K

Так получилось что этот проект внезапно родился пока я создавал другой.

В мире блокчейна, разработка под экосистему ethereum очень сильно развита, много смарт контрактов "готовых", которые прошли аудит, много разных инструментов таких как SlitherFoundryHardhat и т.д., с ними комфортно писать контракты и тестировать.

Что делать со всем этим дальше? Нет инструментов которые бы меня устроили, или я не нашел, все идет на откуп команды разработчиков, то как они построят процесс обновления смарт контрактов, аудит, безопасность и т.д.

Честно говоря, на мой взгляд тут просто какой то бардак. Используются подходы к сопровождению проектов из обычной сферы разработки, но мы же с вами работаем с распределенным компьютером EVM и работаем почему то напрямую, без операционной системы.

Давайте вспомним что должна делать операционная система для классической ЭВМ:

Читать далее

Как я НЕ взломал ED25519

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.4K

В этой статье будет описано, как один чересчур поверивший в себя программист пытался взломать один из фундаментальных алгоритмов криптографии. Эта статья признана огородить других от подобных попыток или наоборот заинтересовать новых смельчаков для подобной авантюры. Сначала я опишу суть алгоритма на простом коде, затем перечислю методы и идеи, которыми я пытался его взломать.

Читать далее

Архитектура Uniswap v4: разбираем основы протокола

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели5.3K

Uniswap V4 — это новая версия Uniswap в которой снова все с ног на голову. В предыдущей версии мы увидели новую математику, а в этой версии новый взгляд на архитектуру смарт‑контрактов. Часть моментов я разбирал в своей прошлой статье, здесь мы углубимся в организацию работы смарт‑контрактов.

В этой статье мы разберем:

— Ключевые смарт‑контракты и библиотеки: репозитории и смарт‑контракты с которых начинать изучение кода

— Менеджер пулов: основной функционал и схема наследования

— Флоу транзакции: точка входа для пользователя и поставщика ликвидности

— Transient Storage: на примере разблокировки пула в качестве защиты от reentrancy

— Хуки: что смарт‑контракт хука использует и как вызывается менеджером пулов

Если вы хотите понять, как Uniswap V4 превратился из обычной DEX в мощную платформу для DeFi‑протоколов, эта статья для вас.

Погнали!

Контракт с одним адресом на все EVM-блокчейны: как работает Safe Singleton Factory

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели4.9K

Когда мне понадобилось задеплоить один и тот же контракт в разные EVM-сети с одинаковым адресом — оказалось, что всё не так просто. Даже если всё заранее посчитать и подготовить, любой лишний nonce может всё сломать.

В этой статье я разбираю, как вообще формируется адрес контракта при деплое (при использовании CREATE и CREATE2), зачем появился Deterministic Deployment Proxy, и почему Safe в итоге сделали свою версию — Safe Singleton Factory.

Расскажу, как ей воспользоваться через Remix, Foundry и Hardhat, на что стоит обратить внимание (например, при работе с байткодом), и какие грабли могут ждать при попытке всё упростить.

Читать далее

Исчерпывающее руководство по разработке смарт-контрактов на Solidity

Время на прочтение8 мин
Охват и читатели7.1K

Solidity — это статически типизированный язык программирования, ориентированный на контракты и используемый в основном для написания и реализации смарт‑контрактов на блокчейне Ethereum. Создание высококачественных смарт‑контрактов обеспечивает безопасность, надежность и эффективность. В этой статье рассматриваются основные концепции, лучшие практики и примеры создания надежных смарт-контрактов с помощью Solidity.

Читать далее

Теория аукционов и как они работают в web3-приложениях

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели991

Если при слове «аукцион» ты представляешь молоток, галерею и ставки на картину — забудь. В Web3 всё иначе: торги может вести смарт‑контракт, ставки могут быть скрыты, а тип аукциона может смениться прямо по ходу торгов.

Я собрал в этой статье всё, что стоит знать про аукционы в блокчейне: какие виды бывают, как устроена логика работы и что с этим делают протоколы вроде MakerDAO, OpenSea, 1inch или Bounce. От классических английских аукционов до китайских лотерей и японского «последнего выжившего» — с примерами контрактов и кейсами из реальных проектов.

Читать далее

Смарт-контрактов ещё нет, а адреса уже есть: зачем нужен CREATE2 (EIP-1014)

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели498

В этой статье я разбираю, как работает CREATE2, чем он отличается от CREATE, зачем нужен в контексте state channels и ERC-4337, и как его можно использовать — от вычисления адресов в Uniswap V2 до взлома Tornado Cash на $1M. Показываю примеры на Solidity и Assembly, а ещё — как на одном и том же адресе можно развернуть два разных смарт-контракта. Да, и такое возможно.

Читать далее

Ближайшие события

Uniswap v3 → v4: Эволюция DEX или фундамент для DeFi будущего?

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели1.8K

Uniswap v4 — не про новую математику, а про архитектурную революцию. Вместо очередного обновления формул разработчики превращают протокол в платформу, где каждый может кастомизировать пулы под свои задачи. В этой статье разбираем, как это работает, какие возможности открывает и какие вызовы приносит с собой.

Читать далее

ERC721C против несправедливости: как Limit Break решает проблему роялти

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели317

Создатели NFT всё чаще теряют доходы: маркетплейсы не платят роялти, пользователи ищут обходы, а стандарты вроде ERC-2981 ничего не гарантируют. ERC-721-C пытается это изменить. Новый набор контрактов от Limit Break предлагает механизмы жёсткого контроля за передачей токенов, валидаторы, whitelist’ы и маршрутизацию через Trusted Forwarder. Но вместе с защитой приходит и риск централизации. В этой статье — полный разбор архитектуры ERC721C, её плюсов, минусов и сценариев использования.

Читать далее

Что скрывается за EIP-712: подробный разбор стандарта

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели738

EIP-712 — это стандарт, который делает подписи в Ethereum не только безопасными, но и человекочитаемыми. Он позволяет кошелькам показывать пользователю, что скрывается под подписью, состоящей из набора байт.

В этой статье разбираем, как устроен EIP-712: от домена и хеширования до тонкостей кодирования различных типов данных. Посмотрим, как правильно реализовать проверку подписи на смарт-контракте, какие ошибки чаще всего допускают солидити разработчики — ведь даже у OpenZeppelin находили баги.

Читать далее

Формальная верификация смарт-контрактов Solidity: SMTChecker

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели230

В данной статье мы делаем поверхностный обзор подходов, обеспечивающих безопасность смарт-контрактов. Разбираем устройство и принцип работы инструмента формальной верификации SMTChecker (встроен в компилятор solc), а также верифицируем с его помощью учебные контракты: находим баги и уязвимости, и доказываем их отсутствие.

Читать далее

Как сделать свое первое омничейн приложение на базе LayerZero v2? Часть 3. Параметры (options), особенности, PreCrime

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели318

Это третья, финальная часть моего цикла про LayerZero v2. В первой части я разобрал, как развернуть простой OApp в Remix, во второй — показал, как сделать оминчейн приложение на примере OFT-токена. Теперь пришло время докрутить детали.

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

Читать далее

ERC-2981 под капотом: зачем он нужен и его ограничения

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели352

ERC-2981 стал важным шагом к тому, чтобы NFT-авторы действительно получали справедливые роялти с перепродаж. Но работает ли это в реальности? В статье разбираемся, как устроен этот стандарт, какие задачи он решает, как его поддерживают маркетплейсы — и почему даже с его появлением вопрос с роялти остаётся открытым.

Читать далее

Магия Curve: обзор протокола и война за ликвидность

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели1.1K

Сегодня, на фоне крупных DEX протоколов, таких как Uniswap и Radium, в тени остается Curve. Я считаю, что это незаслуженно. 

В статье разберем работу StableSwap и других продуктов Curve, комиссии протокола и Curve Wars. Обзор кодовой базы StableSwap будет полезен только разработчикам и может быть сложным для понимания, его можно пропустить в процессе чтения.

Читать далее
1
23 ...