Новый блок майнится или генерируется за 10 минут. Однако, когда майнер создает новый блок, он начинает его передачу другим узлам (пирам) в сети по p2p протоколу. Эти узлы затем передают блоки друг другу, и таким образом, блок в течении нескольких секунд распространяется по всей планете.
Если новый блок найдут одновременно 2 независимых майнера, появится 2 версии блоков. Они распространят свою версию блоков на пол мира, куда успеют. Каждый узел будет придерживаться своей версии блокчейна. Это называется Fork. (рис 1)
Но как только любой из майнеров найдет следующий блок - все узлы возьмут самую длинную версию блокчейна. Красный блок будет забыт, его называют orphaned. (рис 2)
Транзакции что попали в красный, скорее всего на 95% повторяли транзакции зеленого блока. Но даже если их исполнение отменилось, они попадут назад в мемпул и в любом случае окажутся в блокчейне.
Бывают ситуации, когда ветвление случается больше чем на 1 блок. За всю историю 1 раз осиротевшая цепочка была из 4 блоков.
#введение
Если новый блок найдут одновременно 2 независимых майнера, появится 2 версии блоков. Они распространят свою версию блоков на пол мира, куда успеют. Каждый узел будет придерживаться своей версии блокчейна. Это называется Fork. (рис 1)
Но как только любой из майнеров найдет следующий блок - все узлы возьмут самую длинную версию блокчейна. Красный блок будет забыт, его называют orphaned. (рис 2)
Транзакции что попали в красный, скорее всего на 95% повторяли транзакции зеленого блока. Но даже если их исполнение отменилось, они попадут назад в мемпул и в любом случае окажутся в блокчейне.
Бывают ситуации, когда ветвление случается больше чем на 1 блок. За всю историю 1 раз осиротевшая цепочка была из 4 блоков.
#введение
🔥2👍1
Proof of stake (PoS) - это механизм для обеспечения консенсуса и поддержания безопасности сети. Вместо того чтобы требовать вычислительную мощность для решения сложных задач, как в Proof Of Work (PoW), стейкинг требует от участников блокчейн сети владеть определенным количеством монет (стейка) и участвовать в процессе голосования или создания блоков.
Владельцы монет, участвующие в стейкинге, получают вознаграждения в виде новых монет или комиссий за транзакции. За некорректное поведения или за пропуск слота предусмотрен штраф - называется slashing.
В PoS время создание блока не ограничено физически, поэтому:
- правило выбора чейна не может полагаться на "самую длинную цепочку", в PoS этот механизм значительно сложнее.
- стабильные интервалы между блоками заданы константой, и могут быть обеспечены в виде эпох и слотов. Эпоха - это определенное количество блоков или времени, а слот - это небольшой временной интервал внутри эпохи, в течение которого валидатор должен создать блок.
#введение
Владельцы монет, участвующие в стейкинге, получают вознаграждения в виде новых монет или комиссий за транзакции. За некорректное поведения или за пропуск слота предусмотрен штраф - называется slashing.
В PoS время создание блока не ограничено физически, поэтому:
- правило выбора чейна не может полагаться на "самую длинную цепочку", в PoS этот механизм значительно сложнее.
- стабильные интервалы между блоками заданы константой, и могут быть обеспечены в виде эпох и слотов. Эпоха - это определенное количество блоков или времени, а слот - это небольшой временной интервал внутри эпохи, в течение которого валидатор должен создать блок.
#введение
🔥4
Смарт-контракт - это программа, которая выполняется автоматически в блокчейне. Она позволяет автоматизировать сделки в децентрализованной среде.
Исходный код смарт контракта после написания компилируется в байт-код. Который помещается в специальное поле транзакции и публикуется в блокчейне.
В отличии от обычной программы смарт контракт имеет ряд свойств:
• После публикации в блокчейне, его код нельзя поменять, обновить или откатить.
• Исходный код или, по крайней мере, байт-код виден в сети любому желающему.
• Контракт при вызове, выполняется сразу на всех узлах сети, сверяя результат.
• Не предназначены для выполнения вычислительно сложных операций и хранения большего объема данных.
• Могут взаимодействовать с данными только внутри блокчейн среды. Например, нельзя напрямую узнать текущий курс валют.
• Можно генерировать только псевдослучайные числа. Одинаковые входные данные всегда должны давать одинаковый результат.
• Смарт контракт может вызвать другие, ранее опубликованные смарт контракты.
#введение
Исходный код смарт контракта после написания компилируется в байт-код. Который помещается в специальное поле транзакции и публикуется в блокчейне.
В отличии от обычной программы смарт контракт имеет ряд свойств:
• После публикации в блокчейне, его код нельзя поменять, обновить или откатить.
• Исходный код или, по крайней мере, байт-код виден в сети любому желающему.
• Контракт при вызове, выполняется сразу на всех узлах сети, сверяя результат.
• Не предназначены для выполнения вычислительно сложных операций и хранения большего объема данных.
• Могут взаимодействовать с данными только внутри блокчейн среды. Например, нельзя напрямую узнать текущий курс валют.
• Можно генерировать только псевдослучайные числа. Одинаковые входные данные всегда должны давать одинаковый результат.
• Смарт контракт может вызвать другие, ранее опубликованные смарт контракты.
#введение
👍4
Fungible Token
Смарт контракт помимо выполнения кода, может хранить данные в блокчейне.
Если эти данные представить как таблицу (_balances) с адресом кошелька и балансом, то мы получим учет некой цифры для каждого адреса.
По сути, передача активов (метод transfer) - это уменьшить цифру у одного адреса и добавить другому в таблице _balances.
Блокчейн со смарт-контрактами позволяют создать валюту внутри криптовалюты. Такие цифровые балансы называют токенами.
Для того чтобы другие смарт контракты могли взаимодействовать с любыми токенами - придумали стандарт, например, в Ethereum - ERC-20. Другими словами - это интерфейс, который должен реализовывать каждый токен.
Смарт контракт в EVM (Ethereum Virtual Machine) - подобных сетях может взаимодействовать с токенами пользователя, только забирая их самостоятельно (метод transferFrom). Поэтому владелец токенов сначала должен предоставить разрешение, используя метод approve, указав адрес, который может перемещать токены от его имени.
#введение
Смарт контракт помимо выполнения кода, может хранить данные в блокчейне.
Если эти данные представить как таблицу (_balances) с адресом кошелька и балансом, то мы получим учет некой цифры для каждого адреса.
По сути, передача активов (метод transfer) - это уменьшить цифру у одного адреса и добавить другому в таблице _balances.
Блокчейн со смарт-контрактами позволяют создать валюту внутри криптовалюты. Такие цифровые балансы называют токенами.
Для того чтобы другие смарт контракты могли взаимодействовать с любыми токенами - придумали стандарт, например, в Ethereum - ERC-20. Другими словами - это интерфейс, который должен реализовывать каждый токен.
Смарт контракт в EVM (Ethereum Virtual Machine) - подобных сетях может взаимодействовать с токенами пользователя, только забирая их самостоятельно (метод transferFrom). Поэтому владелец токенов сначала должен предоставить разрешение, используя метод approve, указав адрес, который может перемещать токены от его имени.
#введение
👍2🤯1
Невзаимозаменяемый токен (NFT) используется для уникальной идентификации чего-либо. Если взаимозаменяемые токены это как деньги в реальном мире, то NFT больше похожи на коллекционные монеты.
ERC-721 представляет собой стандарт NFT в EVM блокчейнах, где все NFT имеют переменную типа uint256 с именем tokenId, поэтому, для любого контракта ERC-721 пара "адрес контракта, uint256 tokenId" должна быть уникальной.
Наиболее часто NFT используется в блокчейне для утилитарных задач. Зачастую, пользователи не знают, что они владеют NFT, например, предоставляя ликвидность в uniswap v3. Широкому обществу чаще известно о произведениях искусства в виде NFT.
Есть 3 варианта как связать арт искусства с токеном:
1. С токеном NFT в том же блокчейне. Примеры реализаций: AutoGlyphs, Chainfaces. Это дорого, но арт будет жить столько же времени сколько блокчейн.
2. В другом блокчейне или децентрализованном хранилище, например технология IPFS.
3. На частном или централизованном сервере. Самый ненадежный вариант.
#введение
ERC-721 представляет собой стандарт NFT в EVM блокчейнах, где все NFT имеют переменную типа uint256 с именем tokenId, поэтому, для любого контракта ERC-721 пара "адрес контракта, uint256 tokenId" должна быть уникальной.
Наиболее часто NFT используется в блокчейне для утилитарных задач. Зачастую, пользователи не знают, что они владеют NFT, например, предоставляя ликвидность в uniswap v3. Широкому обществу чаще известно о произведениях искусства в виде NFT.
Есть 3 варианта как связать арт искусства с токеном:
1. С токеном NFT в том же блокчейне. Примеры реализаций: AutoGlyphs, Chainfaces. Это дорого, но арт будет жить столько же времени сколько блокчейн.
2. В другом блокчейне или децентрализованном хранилище, например технология IPFS.
3. На частном или централизованном сервере. Самый ненадежный вариант.
#введение
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
P2P (Peer-to-Peer) - это архитектурная модель сети, в которой участники (пиры) взаимодействуют напрямую друг с другом, без центрального сервера. Этот децентрализованный подход позволяет обмениваться данными и ресурсами между пирами непосредственно.
В отличие от клиент-серверной модели, узлу невозможно достичь другой узел, если у последнего нет публичного адреса и он скрыт за NAT. Для обхода NAT в P2P используются такие протоколы и техники как: Hole Punching, UPnP, STUN, NAT-PMP.
На гифке: при первом подключении клиенту или узлу не известно ни одного другого узла, поэтому он запрашивает информацию у DNS seeds. Это изначально предопределенные надежные блокчейн узлы или просто серверы, которые после первого подключения предоставят информацию об остальных узлах.
Однако, не все криптовалютные кошельки используют прямые P2P-соединения. Многие клиенты подключаются к центральному серверу, который, в свою очередь, может быть связан с узлами блокчейн-сети. Это сильно ускоряет работу кошелька.
#технологии
В отличие от клиент-серверной модели, узлу невозможно достичь другой узел, если у последнего нет публичного адреса и он скрыт за NAT. Для обхода NAT в P2P используются такие протоколы и техники как: Hole Punching, UPnP, STUN, NAT-PMP.
На гифке: при первом подключении клиенту или узлу не известно ни одного другого узла, поэтому он запрашивает информацию у DNS seeds. Это изначально предопределенные надежные блокчейн узлы или просто серверы, которые после первого подключения предоставят информацию об остальных узлах.
Однако, не все криптовалютные кошельки используют прямые P2P-соединения. Многие клиенты подключаются к центральному серверу, который, в свою очередь, может быть связан с узлами блокчейн-сети. Это сильно ускоряет работу кошелька.
#технологии
👍1🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Gossip - алгоритм распространения транзакций
Для обмена сообщениями в большинстве блокчейнов за основу взят протокол Gossip, где каждый узел периодически обменивается информацией с несколькими случайно выбранными соседними узлами. (Рисунок)
Каждое сообщение распространяется от узла к узлу определенное количество раз, получается что-то наподобие волн.
Видя как транзакция распространяется такими волнами, можно деанонимизировать источник транзакции. Поэтому протокол был прокачан такими приемами как:
- Diffusion - где вместо немедленной массовой рассылки каждому узлу, клиент выжидает случайную задержку, прежде чем передать сообщение каждому из своих соседей.
- Dandelion Protocol (одуванчик) - здесь, если узел получил новую транзакцию, он не распространяет ее своим соседям сразу, а передает только одному, тот в свою очередь другому. После случайного количества прыжков конечный узел сообщит о транзакции уже всем.
Больше картинок здесь.
#технологии
Для обмена сообщениями в большинстве блокчейнов за основу взят протокол Gossip, где каждый узел периодически обменивается информацией с несколькими случайно выбранными соседними узлами. (Рисунок)
Каждое сообщение распространяется от узла к узлу определенное количество раз, получается что-то наподобие волн.
Видя как транзакция распространяется такими волнами, можно деанонимизировать источник транзакции. Поэтому протокол был прокачан такими приемами как:
- Diffusion - где вместо немедленной массовой рассылки каждому узлу, клиент выжидает случайную задержку, прежде чем передать сообщение каждому из своих соседей.
- Dandelion Protocol (одуванчик) - здесь, если узел получил новую транзакцию, он не распространяет ее своим соседям сразу, а передает только одному, тот в свою очередь другому. После случайного количества прыжков конечный узел сообщит о транзакции уже всем.
Больше картинок здесь.
#технологии
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Автоматизированный маркет-мейкер (AMM) является частью экосистемы децентрализованных финансов (DeFi). AMM позволяет торговать цифровыми активами, используя пулы ликвидности, а не традиционный рынок покупателей и продавцов.
Пул ликвидности - это общий фонд, куда поставщики ликвидности предоставляют свои криптовалютные активы.
Цены на торгуемые активы в пуле определяются пропорцией предоставленных активов.
Поставщики ликвидности зарабатывают комиссии от торговли в соответствии с их вкладом в пул.
Возьмем за пример пул ETH и USDT:
1. Участники внесли туда 1 ETH и 2000 USDT.
2. Формула в смарт-контракте установила цену
3. Пользователь решил обменять свои 222 USDT на ETH из пула.
4. Если пренебречь комиссиями, то ровно на 0.1 ETH из пула убавилось, а 222 USDT добавилось.
5. Новая цена стала
Можно заметить, что в итоге пользователь совершил обмен по курсу 222 / 0.1 = 2220 за 1 ETH. Что сильно отличается от начальной цены - это называется проскальзывание.
#defi
Пул ликвидности - это общий фонд, куда поставщики ликвидности предоставляют свои криптовалютные активы.
Цены на торгуемые активы в пуле определяются пропорцией предоставленных активов.
Поставщики ликвидности зарабатывают комиссии от торговли в соответствии с их вкладом в пул.
Возьмем за пример пул ETH и USDT:
1. Участники внесли туда 1 ETH и 2000 USDT.
2. Формула в смарт-контракте установила цену
1 ETH = 2000 USDT3. Пользователь решил обменять свои 222 USDT на ETH из пула.
4. Если пренебречь комиссиями, то ровно на 0.1 ETH из пула убавилось, а 222 USDT добавилось.
5. Новая цена стала
1 ETH = 2469 USDTМожно заметить, что в итоге пользователь совершил обмен по курсу 222 / 0.1 = 2220 за 1 ETH. Что сильно отличается от начальной цены - это называется проскальзывание.
#defi
🔥2👍1
Асимметричное шифрование.
При симметричном шифровании для шифрования и дешифрования данных используется один ключ. Он называется «симметричным», поскольку обе стороны имеют зеркальную копию одного и того же ключа. Однако, возникают проблемы с обменом этим ключом между сторонами.
Асимметричное шифрование - это метод криптографии, при котором используется пара ключей: открытый и закрытый. Открытый ключ используется для шифрования данных, а закрытый — для их дешифровки. Зная открытый ключ, трудно (или математически невозможно) вычислить закрытый ключ, что обеспечивает безопасность системы.
Этот метод криптографии используется в блокчейне в основном для подписи транзакций. Каждый участник сети имеет свою уникальную пару ключей, что обеспечивает безопасный обмен информацией и подлинность транзакций.
Основные алгоритмы асимметричного шифрования - это RSA, ECC, протокол Диффи- Хеллмана и их различные вариации и комбинации.
#введение
При симметричном шифровании для шифрования и дешифрования данных используется один ключ. Он называется «симметричным», поскольку обе стороны имеют зеркальную копию одного и того же ключа. Однако, возникают проблемы с обменом этим ключом между сторонами.
Асимметричное шифрование - это метод криптографии, при котором используется пара ключей: открытый и закрытый. Открытый ключ используется для шифрования данных, а закрытый — для их дешифровки. Зная открытый ключ, трудно (или математически невозможно) вычислить закрытый ключ, что обеспечивает безопасность системы.
Этот метод криптографии используется в блокчейне в основном для подписи транзакций. Каждый участник сети имеет свою уникальную пару ключей, что обеспечивает безопасный обмен информацией и подлинность транзакций.
Основные алгоритмы асимметричного шифрования - это RSA, ECC, протокол Диффи- Хеллмана и их различные вариации и комбинации.
#введение
👍5🔥2👌1
MEV (Maximal Extractable Value) - это способ увеличить прибыль от создания блока в блокчейне, помимо стандартного вознаграждения и комиссий за газ. Первоначально термин MEV использовался в контексте консенсуса Proof-of-Work (PoW) и назывался "Miner Extractable Value". Это связано с тем, что в PoW именно майнеры контролируют включение, исключение и порядок транзакций в блоке. Однако сейчас - это любое автоматизированное взаимодействие, которое вы можете совершить в блокчейне и извлечь прибыль. Это не спекуляции на курсах активов или какие-либо инвестиционные стратегии.
Теоретически валидаторы, обладая возможностью определять порядок транзакций, могут извлекать всю MEV-прибыль. Однако на практике, значительная часть MEV извлекается независимыми участниками сети, называемыми "поисковиками" (searchers). Поисковики - это программы, которые находят выгодные MEV-возможности и отправляют транзакций в сеть.
#MEV
Теоретически валидаторы, обладая возможностью определять порядок транзакций, могут извлекать всю MEV-прибыль. Однако на практике, значительная часть MEV извлекается независимыми участниками сети, называемыми "поисковиками" (searchers). Поисковики - это программы, которые находят выгодные MEV-возможности и отправляют транзакций в сеть.
#MEV
👍6
Сэндвич-атака - злонамеренная стратегия, которая напрямую вредит пользователям, торгующим на блокчейне.
Атака осуществляется, когда пользователь совершает обмен токенов на децентрализованной бирже (DEX).
Представим, что Боб покупает много ETH за много USDC на DEX. Из-за объема его транзакции Боб соглашается с тем, что столкнется с увеличенным уровнем проскальзывания цены (разница между ожидаемой и фактической ценой). Именно это и позволяет провести сэндвич-атаку.
MEV бот, наблюдает за этой транзакцией в mempool (временном хранилище транзакций) и создает две транзакции, которые вставляются до и после сделки Боба.
Первая транзакция - покупает значительное количество ETH, в результате чего цена в DEX поднимается. Важно отметить, что измененная цена останется в пределах диапазона проскальзывания, который принял Боб.
Затем вторая транзакция MEV бота продает свои недавно приобретенные ETH назад в DEX за USDC по более высокой цене. Разница в цене составляет прибыль бота.
#MEV
Атака осуществляется, когда пользователь совершает обмен токенов на децентрализованной бирже (DEX).
Представим, что Боб покупает много ETH за много USDC на DEX. Из-за объема его транзакции Боб соглашается с тем, что столкнется с увеличенным уровнем проскальзывания цены (разница между ожидаемой и фактической ценой). Именно это и позволяет провести сэндвич-атаку.
MEV бот, наблюдает за этой транзакцией в mempool (временном хранилище транзакций) и создает две транзакции, которые вставляются до и после сделки Боба.
Первая транзакция - покупает значительное количество ETH, в результате чего цена в DEX поднимается. Важно отметить, что измененная цена останется в пределах диапазона проскальзывания, который принял Боб.
Затем вторая транзакция MEV бота продает свои недавно приобретенные ETH назад в DEX за USDC по более высокой цене. Разница в цене составляет прибыль бота.
#MEV
👍3