InVM - изнутри о Web3
320 subscribers
45 photos
5 files
69 links
Про тонкости работы Defi в EVM-блокчейнах глазами solidity разработчика.

Админ @zerofuz
Download Telegram
#EVM #DEFI

EVM - Ethereum Virtual Machine - среда исполнения смартконтрактов, который комплируются таким путем: solidity -> opcode -> bytecode. Самое близкое по смыслу это исполнение ассемблера, только на распределенном компьютере

CEX - Centralized EXchange - централизованная площадка, с базой данных, серверами, сотрудниками, регистрацией в дружелюбных странах, платит налоги (наверное), больше похоже на легальную компанию. Нужно KYC. Имеют возможность ограничивать свободы граждан отдельных стран.

DEX - Decentralized EXchange - несколько связанных по смыслу смарт-контрактов, загруженных в блокчейн сеть (ETH). Для пользователей есть stateless сайтик на vuejs/react, который подключается к eth по rpc-url, исходный код на гитхабе. Технически нельзя остановить* или забанить пользователя*, KYC не нужно.

*=если не заложено такого функционала в смарт-контракте
#EVM

Не так давно нужны были недели, чтобы обработать вручную тысячи токенов, читать их код на bscscan, искать скрытые комиссии, это работа обезьянки, а не разработчика))

Встретил проект TokenChecks и понял, что именно это я давно искал))

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

Это не защитит от скам-токенов, которые может выключить админ, но для большинства токенов в сети это здорово помогает.

Что изменилось:
- Легко добавлять блокчейн сети и параметры DEX’ов. Протестировал в сети ETH, BSC, работает.
- Есть вычисления сколько скрытых комиссий в токене при обмене в обе стороны.

Приглашаю затестить https://github.com/0fuz/TokenChecks
#HACK

Скам-токен - смарт-контракт, основанный на интерфейсе ERC20, с которым конечный пользователь взаимодействует как с обычным токеном (BNB,USDT). Но возможны разные хитрости для обмана пользователей, разберем на примере токена SCAM:

- Контракт разрешает направления обмена BNB->SCAM но запрещает SCAM->BNB. За счет дикой эмиссии фантиков SCAM можно создать искусственный, очень привлекательный курс обмена (сверх дешевый или сверх дорогой)

- Контракт разрешает обмен своего токена в оба направления, но в один прекрасный момент админ щелкает переключателем и контракт становится тыквой, когда только админ может обменять свои токены, а «инвесторы» остаются ни с чем

- Контракт не виден конечному пользователю, но обладает привлекательными характеристиками для «перелива ликвидности», когда есть две пары BNB-SCAM в разных DEX с разным курсом обмена. Бот, работающий по стратегии сандвича покупает SCAM но продать уже не в состоянии, админ токена выводит заработок

- Зачастую в эксплорерах типа bscscan у своего кошелька видно всякие малоизвестные токены с кучей циферок, будто вот так забесплатно пользователю перевели миллионы долларов. В действительности это способ пиарить свой скам-токен, который в лучшем случае уже исполнил свое предназначение, в худшем еще принимает новичков в свои объятия. Например, отправляем SCAM всем пользоветелям блока 123123 на сумму 100$ (наш искусственный курс), пользователи это видят, но чтобы получить право тратить SCAM им нужно совершить покупку на 50$, они платят, а обменять все равно не могут.
Есть два полезных ресурса для составления общей картины по тому, в каких сетях много денег

https://chainlist.org
Позволяет искать сеть по chainId или названию и выдает работающие ссылки для взаимодействия с сетью

https://defillama.com/chains
⁃ Обзор сетей с поддержкой смарт-контрактов (EVM, TVM, tendermint, и тд)
⁃ Обзор протоколов (dex, landing, insurance, yield farming, bridge и тд) с разных сторон

До defilama был популярен defipulse, но случилась твиттер баталия и defipulse проиграл, показав предвзятость в добавлении проектов.
Скоро узнаем, повторится ли история)

Начало серой зоны 17 450 $
#DEFI

Токен - смарт-контракт, который соблюдает стандарт ERC20. Хранит балансы своих пользователей в «словаре» ключ(адрес):значение(баланс). Имеет функционал передачи токенов другим кошелькам. Технически, токены никуда дальше контракта не уходят, просто меняется владелец некоторого числа токенов.

Но что делать, если админу нужно сжечь токен?

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

Адреса, куда попадают «сожженные» токены:
⁃ 0x0000000000000000000000000000000000000000
⁃ 0x000000000000000000000000000000000000dEaD

Посмотреть актуальную стоимость адресов можно в сканерах блокчейна:
Сорок ноликов
Деед в конце
Индикатор «бары справа» называется VRVP. отражает объем покупок по этим ценам за видимую область дат.

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

Два бара, начиная от 19500$ до 17112$ выглядят сильным сопротивлением

Или это все гадание на кофейной гуще и тут нет правильного видения)
#DEFI

Landing protocol - Defi проект, где есть две стороны: залоги и займы. Популярные протоколы AAVE, Compound, Vires Finance, Venus. Актуальность их курсов обмена зависит от Chainlink контрактов, которые предоставляют не предвзятые и рыночно средние актуальные цены.

Годовые в займах всегда немного выше чем в залогах.

Ликвидация это когда залог стоит меньше займа пользователя и его health factor негативный. Landing контракт позволяет выкупить инициатору транзакции ликвидации залог со скидкой в >5%. Пользователь с ликвидированной позицией теряет залог, но остается с займом, который не нужно возвращать.

Чтобы не ликвидировало, важно следить за health factor и уровнем обеспечения, если можно взять 80% от залога, то безопаснее брать 50%. Когда btc просел на 10%, 50% превратятся в 60%.

В теории, если позицию пользователя нужно ликвидировать, но инициировать такую транзакцию некому, то и ликвидация не наступит))

Сценарии использования:
⁃ Внести залог $, взять заем в 50% в btc, поторговать, погасить заем в btc+комиссия, вернуть свои $.
⁃ Внести залог $ и получать годовые
⁃ Участвовать в ликвидации чужих позиций и получать залог по скидке от рыночной цены только за то, что помогли очистить позицию с низким health factor
⁃ Когда денег много, можно займом давать нужный импульс токенам с низкой капитализацией и извлекать из этого выгоду.
⁃ Шортить, когда зарабатываем на понижении цены токена
Создатель deepfake опубликовал deepFaceLive, где лицо подменяется в реальном времени, по ссылке есть пример работы https://github.com/iperov/DeepFaceLive
#DEFI
Как шортить в defi через landing

1btc = 20000$

Вносим залог 1000$usdt
Заем (80% максимальный, возьмем 60% в btc) 1000$/20000$/btc*60% = 0,03 btc // получили на свой кошелек
Продали мгновенно 0,03btc->600$

1btc = -10%, 18000$

0.3btc->0.03333btc(659$)
Вернули заем в 0,03btc + мизерные проценты годовых, разлочили свой залог

Владеем 1000$, 0,0033btc(59,4$) = 1059,4$ или прибыль в 6% при падении цены на 10%

Важно, чтобы ценность залога всегда была выше 80% чтобы не произошло ликвидации
#DEFI
Команда проекта Uniswap первой разработала и внедрила DEX на AMM с возможностью FlashSwap, именно ее в свое время форкнул проект SushiSwap. Большинство AMM DEX это форки Uniswap v2.

Существует Uniswap v3, но исходный код временно закрыт, из нововведений там введен функционал частичных обменов, например вместо 1bnb->100$, можно сделать два обмена c v2 и v3 парами: 0.5bnb->55$, 0.5bnb->49$, чтобы по итогу получить 104$.

Uniswap v2 стостоит из таких контрактов:
1. Deployer - деплоит Factory и Router
2. Factory - создает и хранит адреса задеплоеных Pair
3. Router - содержит упрощенные методы для совершения обменов любой длины, например bnb->usdc->cake->wbnb, которые задействуют factory и factory.pairs.
4. Pair - самая важная часть dex’a, потому что этот контракт владеет erc20 токенами, которые пользователи передают паре, чтобы получать комиссионные, пропорционально доле их капитала в паре. Pair содержит низкоуровневые функции swap, mint, burn. Внутри pair.swap возможно заказать flashSwap(когда сначала пара одалживает контракту токенов, но ожидает их возврата в той же транзакции).

Для рядового пользователя совершить обмен в Uniswap v2 означает открыть из stateless сайт, выбрать направление обмена и создать транзакцию, которая взаимодействует с Router контрактом, который в свою очередь с fаctory.pairs.

В протоколе не заложен функционал blacklist, который есть в usdt,usdc.

Ознакомиться с кодом factory

Посмотреть на популярность router (много pending транзакций)
#HACK
19 часов назад произошла атака на мост между harmony.one-ethereum блокчейнами. Атакующий получил примерно 100 000 000$ в сети эфириума.

https://twitter.com/harmonyprotocol/status/1540110924400324608

Почитал, что делали три адреса атакующего:
первый - распределил ETH для комиссий между тремя адресами, на этот адрес приходили разные токены от контракта моста
второй и третий - помогали обменивать полученные токены USDC/USDT/… на ETH по частям, чтобы не спровоцировать резкого дисбаланса ликвидности в парах

В итоге атаки на первом адресе 85,867 ETH.


В эфириум сети мост представляет из себя два смартконтракта:
Harmony ERC20 Bridge - хранил все токены, любой пользователь мог пополнять его, чтобы перевести токены в сеть harmony. Но выводить из контракта может только Multisig контракт с тремя владельцами.

В общем и целом, на стороне эфириум блокчейна проблем не замечено.

Github bridge репозиторий

Осталось проверить такие векторы атаки как:
- в сети harmony что-то эдакое произошло
- оракула-владельца-multisig ввели в замешательство программно (например перезаписали получателя транзакцией)
Есть такое явление, которому наверняка есть научное название, сейчас напишу три примера

1 Вчера
⁃ В одном тг канале вычитал что позитивно мыслящие люди живут на 5% дольше, выборка там огромная, временной интервал сбора данных больше 20лет. Идея что нужно стараться позитивнее смотреть на вещи
⁃ В большом тг чате пользователь описал свою историю как он совершил все возможные ошибки с инвестициями в крипту (занимал деньги, покупал на хаях рынка, использовал кредитное плечо, сейчас в долгах и на таблетках). Лучший совет что ему дали звучит коротко так: думай позитивней, таблетки забрось, попробуй аффирмации, многие миллионеры через такое проходят. Посыл такой же, быть более позитивным.

2 Про пятницу
⁃ На пятницу 24 июня ожидается закрытие биржи CME (конец недели) и есть вероятность повторить падение битка на выходных
⁃ МЧС предупредило о плохой погоде и ветре (символизм)
⁃ Какие-то опционы истекают 24 июня на deribit, и чем ниже цена битка тем больше потеряют покупатели опционов от 30000$
⁃ Карта ликвидаций от kingfisher показывает, что биткоину нужно подорожать до 21500 или подешеветь до 16500 чтобы ликвидировать большинство (плечи, фьючерсы, нехватка обеспечения займа)

3 случай, тут обрывки. В конце апреля подмечал несколько сигналов что ожидается снижение биткоина, которое произошло ближе к 12 мая.
⁃ Некий индикатор впервые за кучу лет показывает вход в стадию экономической рецессии
⁃ МЧС предупредило о похолодании (читай биткоин дешевеет)
⁃ Уважаемый блоггер придерживался идеи о скором снижение цен
⁃ Близилось заседание ФРС по ключевой ставке (первая неделя мая) и ожидания заседания тоже способны повлиять на цены

Как такое называется? Источники не пересекаются, а идеи смотрят в одну сторону. Или это подгонка фактов под гипотезу?
Есть такая компания Electric Capital, которая выпускает аналитику блокчейнов и web3. Последний отчет впущен в январе 2022 года.

Их гитхаб

Прикрепил несколько интересных слайдов, с оговоркой что данные устарели на 6 месяцев.

Web3 это общее название всего что про блокчейн и крипту.

Web2 все что не web3: банки, сервисы заказа такси и еды и т.д.