-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
22 changed files
with
204 additions
and
203 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,16 @@ | ||
# Are dApps Censorable? | ||
# Можно ли цензурировать dApps? | ||
|
||
While dApps are designed to be censorship-resistant, in practice, censorship is more nuanced. | ||
Хотя dApps разработаны как устойчивые к цензуре, на практике цензура более нюансирована. | ||
|
||
Once a smart contract is deployed on Ethereum, it operates independently and cannot be restricted by any single entity. However, censorship can still occur at certain access points: | ||
После развертывания smart contract в Ethereum он работает независимо и не может быть ограничен каким-либо отдельным субъектом. Однако цензура все еще может происходить в определенных точках доступа: | ||
|
||
- Most users access dApps through websites, which can be taken down, blocked, or geo-restricted. | ||
- Webiste domain names can be seized, or DNS access blocked. | ||
- Website interfaces can be modified to prevent certain interactions. | ||
- Большинство пользователей получают доступ к dApps через веб-сайты, которые могут быть отключены, заблокированы или географически ограничены. | ||
- Доменные имена веб-сайтов могут быть изъяты, или доступ DNS может быть заблокирован. | ||
- Веб-интерфейсы могут быть изменены для предотвращения определенных взаимодействий. | ||
|
||
However, even if a main dApp website is censored, users still have options: | ||
Однако даже если основной веб-сайт dApp подвергается цензуре, у пользователей все еще есть варианты: | ||
|
||
- The smart contract remains fully functional on the blockchain. | ||
- Alternative websites can provide access to the dApp. | ||
- Users can interact directly with the contract through blockchain tools like block explorers. | ||
- Tech-savvy users can access the dApp’s full functionality independently. | ||
- Smart contract остается полностью функциональным в блокчейне. | ||
- Альтернативные веб-сайты могут предоставить доступ к dApp. | ||
- Пользователи могут взаимодействовать напрямую с контрактом через инструменты блокчейна, такие как block explorers. | ||
- Технически подкованные пользователи могут получить доступ к полной функциональности dApp самостоятельно. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,26 @@ | ||
# Building with dApps | ||
# Создание с помощью dApps | ||
|
||
One of Ethereum’s most powerful features is **composability**—dApps can work together like building blocks, much like LEGO pieces that can be combined in endless ways: | ||
Одна из самых мощных особенностей Ethereum — это **композируемость** — dApps могут работать вместе как строительные блоки, подобно деталям LEGO, которые можно комбинировать бесконечными способами: | ||
|
||
- A gaming dApp can use a marketplace dApp for trading items. | ||
- A lending dApp can use currency price feeds from another dApp. | ||
- Multiple dApps can be integrated together to create entirely new services. | ||
- Игровой dApp может использовать dApp marketplace для торговли предметами. | ||
- Кредитный dApp может использовать фиды цен валют из другого dApp. | ||
- Несколько dApps можно интегрировать вместе для создания совершенно новых сервисов. | ||
|
||
This composability allows complex transactions that can interact with multiple dApps in a single execution, which isn’t possible on simpler blockchains like Bitcoin. | ||
Эта композируемость позволяет выполнять сложные транзакции, которые могут взаимодействовать с несколькими dApps в одном выполнении, что невозможно в более простых блокчейнах, как Bitcoin. | ||
|
||
For example, a user could perform a series of actions in one transaction: | ||
Например, пользователь мог бы выполнить серию действий в одной транзакции: | ||
|
||
1. Borrow 1,000 USDT from a lending dApp. | ||
2. Use the USDT to buy ETH on a DEX (decentralized exchange). | ||
3. Swap the ETH for a different token on another DEX (decentralized exchange). | ||
4. Repay the 1,000 USDT loan. | ||
5. Keep the remaining balance as profit. | ||
1. Взять в долг 1,000 USDT из кредитного dApp. | ||
2. Использовать USDT для покупки ETH на DEX (децентрализованной бирже). | ||
3. Обменять ETH на другой токен на другом DEX (децентрализованной бирже). | ||
4. Погасить заем в 1,000 USDT. | ||
5. Оставить оставшийся баланс как прибыль. | ||
|
||
All steps occur atomically—meaning they either all succeed or fail together. While powerful, complex multi-dApp transactions require more resources and result in higher transaction fees, which can reach $500 or more during peak network activity. | ||
Все шаги происходят атомарно — то есть они либо все успешно выполняются, либо все проваливаются вместе. Хотя это мощно, сложные мульти-dApp транзакции требуют больше ресурсов и приводят к более высоким комиссиям за транзакции, которые могут достигать $500 и более во время пиковой активности сети. | ||
|
||
In addition to blockchain transaction fees, dApps may charge their own fees for specific actions. For example, when swapping tokens on a DEX like Uniswap, you pay: | ||
Помимо комиссий за транзакции в блокчейне, dApps могут взимать свои собственные комиссии за определенные действия. Например, при обмене токенов на DEX, как Uniswap, вы платите: | ||
|
||
1. The transaction fee (gas fee) to Ethereum network validators. | ||
2. A 0.3% trading fee that goes to Uniswap’s smart contract. | ||
1. Комиссию за транзакцию (комиссию за gas) валидаторам сети Ethereum. | ||
2. Торговую комиссию 0.3%, которая идет в smart contract Uniswap. | ||
|
||
These fees may be designed to support the dApp’s protocol. In case of DEXes fees typically reward liquidity providers. It changes from dApp to dApp, based on how it was built. | ||
Эти комиссии могут быть разработаны для поддержки протокола dApp. В случае DEX комиссии обычно вознаграждают поставщиков ликвидности. Это меняется от dApp к dApp, в зависимости от того, как он был построен. |
28 changes: 14 additions & 14 deletions
28
src/edu/ru/ethereum/dapps/censorship-in-smart-contracts.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,20 @@ | ||
# Censorship in Smart Contracts | ||
# Цензура в Smart Contracts | ||
|
||
While smart contracts themselves are generally resistant to censorship, certain design choices introduced by smart contract builders can introduce control points. Infact, the dApp may be deliberately built to be restrictive from the very beginning. Nothing prevents people from building any kind of dApp they want. | ||
Хотя сами smart contracts обычно устойчивы к цензуре, определенные проектные решения, внедренные создателями smart contracts, могут вводить точки контроля. Фактически, dApp может быть намеренно построен как ограничительный с самого начала. Ничто не мешает людям создавать любой тип dApp, который они хотят. | ||
|
||
**Contract Design Choices**: | ||
**Варианты дизайна контрактов**: | ||
|
||
- There are many smart contracts that include restrictions, such as blacklisting features. | ||
- Some contracts have admin users allowing certain addresses to manage functionality. | ||
- Some stablecoin token contracts (e.g., USDT) have functions to freeze accounts. | ||
- Some contracts can allow developers to modify or pause the contract behavior after deployment. | ||
- Существует много smart contracts, которые включают ограничения, такие как функции черного списка. | ||
- Некоторые контракты имеют админ-пользователей, позволяющих определенным адресам управлять функциональностью. | ||
- Некоторые контракты стейблкоинов (например, USDT) имеют функции для заморозки счетов. | ||
- Некоторые контракты могут позволять разработчикам изменять или приостанавливать поведение контракта после развертывания. | ||
|
||
True censorship resistance in a dApp usually requires: | ||
Истинная устойчивость к цензуре в dApp обычно требует: | ||
|
||
- No admin users or minimal administrative control. | ||
- Limited or no upgradeability. | ||
- Fully autonomous operations. | ||
- Decentralized hosting of the website. | ||
- Multiple access points for users. | ||
- Отсутствия админ-пользователей или минимального административного контроля. | ||
- Ограниченной или отсутствующей возможности обновления. | ||
- Полностью автономных операций. | ||
- Децентрализованного хостинга веб-сайта. | ||
- Множества точек доступа для пользователей. | ||
|
||
Understanding these aspects can help users assess the true censorship resistance of any dApp they wish to use. | ||
Понимание этих аспектов может помочь пользователям оценить истинную устойчивость к цензуре любого dApp, который они хотят использовать. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,23 @@ | ||
# DAOs | ||
|
||
Decentralized Autonomous Organizations (DAOs) represent one of Ethereum's most innovative applications, demonstrating how blockchain technology can transform traditional organizational structures. | ||
Decentralized Autonomous Organizations (DAOs) представляют одно из самых инновационных применений Ethereum, демонстрируя, как технология блокчейн может трансформировать традиционные организационные структуры. | ||
|
||
A DAO is an organization (a virtual one) that runs on rules encoded in smart contracts, eliminating the need for traditional management hierarchies. Many dApps operate in a from of a DAO. | ||
DAO — это организация (виртуальная), которая работает по правилам, закодированным в smart contracts, устраняя необходимость в традиционных управленческих иерархиях. Многие dApps работают в форме DAO. | ||
|
||
Typically, DAOs operate through governance tokens (implemented as ERC20 tokens) that grant voting rights to members. | ||
Обычно DAO работают через токены управления (реализованные как токены ERC20), которые предоставляют права голоса членам. | ||
|
||
These tokens can typically be: | ||
Эти токены обычно можно: | ||
|
||
- Bought and sold on exchanges | ||
- Acquired through contribution to the project | ||
- Покупать и продавать на биржах | ||
- Получать через вклад в проект | ||
|
||
When decisions need to be made - whether about treasury spending, or strategic directions - token holders can vote on proposals. All votes are recorded on the blockchain, and approved decisions execute automatically through smart contracts. | ||
Когда необходимо принимать решения — будь то о расходовании средств или стратегических направлениях — держатели токенов могут голосовать по предложениям. Все голоса записываются в блокчейн, и одобренные решения автоматически выполняются через smart contracts. | ||
|
||
Notable examples in practice: | ||
Заметные примеры на практике: | ||
|
||
- Uniswap: UNI token holders vote on protocol changes and fee structures | ||
- MakerDAO: MKR holders govern the DAI stablecoin. | ||
- Uniswap: держатели токенов UNI голосуют за изменения протокола и структуры комиссий | ||
- MakerDAO: держатели MKR управляют стейблкоином DAI | ||
|
||
DAOs demonstrate Ethereum's potential for true decentralization. With no central authority, rules enforced by code rather than individuals, and community ownership, DAOs can operate continuously and transparently as long as Ethereum exists. | ||
DAO демонстрируют потенциал Ethereum для истинной децентрализации. Без центрального органа, с правилами, обеспечиваемыми кодом, а не отдельными лицами, и с общественной собственностью, DAO могут работать непрерывно и прозрачно, пока существует Ethereum. | ||
|
||
As the technology matures, DAOs are becoming more user-friendly and efficient, while working to address legal compliance and integration with traditional systems. They represent a fundamental shift in organizational structure, removing the need for trusted intermediaries in complex organizational processes. | ||
По мере развития технологии DAO становятся более удобными для пользователей и эффективными, работая над соблюдением юридических требований и интеграцией с традиционными системами. Они представляют фундаментальный сдвиг в организационной структуре, устраняя необходимость в доверенных посредниках в сложных организационных процессах. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,20 @@ | ||
# Interacting with dApps | ||
Взаимодействие с dApps | ||
|
||
Most Ethereum wallet apps are designed for basic functions like storing, sending, and receiving ETH and ERC-20 tokens, but they don’t inherently support direct interaction with dApps. **WalletConnect** is a protocol that bridges this gap, allowing non-custodial wallets to connect and interact with any dApp on Ethereum. | ||
Большинство приложений-кошельков Ethereum разработаны для базовых функций, таких как хранение, отправка и получение ETH и токенов ERC-20, но они изначально не поддерживают прямое взаимодействие с dApps. **WalletConnect** — это протокол, который устраняет этот разрыв, позволяя некастодиальным кошелькам подключаться и взаимодействовать с любым dApp в Ethereum. | ||
|
||
For WalletConnect to work, both the wallet and dApp need to support it. Here’s how it works in practice: | ||
Чтобы WalletConnect работал, и кошелек, и dApp должны поддерживать его. Вот как это работает на практике: | ||
|
||
1. **Initiating Connection**: | ||
- The user visits a dApp’s website, clicks “Connect Wallet,” and selects WalletConnect. | ||
- A QR code appears (or a link activates if using a mobile device). | ||
2. **Establishing Connection**: | ||
- The user scans the QR code with their wallet app or clicks the link. | ||
- The wallet app displays the connection request details. | ||
3. **Ongoing Interaction**: | ||
- After connection is stablsihed the user appears “logged in” into the dApp. | ||
- One every action, the dApp requests transaction approvals, which appear in the wallet app. | ||
- The user reviews and approves or rejects transactions directly from their wallet. | ||
WalletConnect provides enhanced security by keeping private keys within the wallet and eliminates the need to enter sensitive information on dApp websites. More importantly, it enables user to use their mobile wallet to interact with any dApp on Ethereum blockchain. | ||
1. **Инициация подключения**: | ||
- Пользователь посещает веб-сайт dApp, нажимает "Connect Wallet" и выбирает WalletConnect. | ||
- Появляется QR-код (или активируется ссылка при использовании мобильного устройства). | ||
|
||
2. **Установление соединения**: | ||
- Пользователь сканирует QR-код своим приложением-кошельком или нажимает на ссылку. | ||
- Приложение-кошелек отображает детали запроса на подключение. | ||
|
||
3. **Текущее взаимодействие**: | ||
- После установления соединения пользователь появляется "вошедшим в систему" в dApp. | ||
- При каждом действии dApp запрашивает одобрения транзакций, которые появляются в приложении-кошельке. | ||
- Пользователь просматривает и одобряет или отклоняет транзакции прямо из своего кошелька. | ||
|
||
WalletConnect обеспечивает повышенную безопасность, сохраняя приватные ключи внутри кошелька и устраняет необходимость вводить конфиденциальную информацию на веб-сайтах dApp. Что еще важнее, это позволяет пользователю использовать свой мобильный кошелек для взаимодействия с любым dApp в блокчейне Ethereum. |
Oops, something went wrong.