Как стать автором
Обновить
5
Рейтинг

Solidity *

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

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

2000000$ за найденную уязвимость

Блог компании ДОМ.РФ Децентрализованные сети Информационная безопасность *Solidity *Криптовалюты

Эксперт в области информационной безопасности Гехард Вагнер получил рекордное вознаграждение в размере 2000000$ от команды блокчейн проекта Polygon. Найденная исследователем уязвимость угрожала потерей 850000000$. Вознаграждение стало рекордным в истории DeFi. Гехард Вагнер обратил внимание на баунти-программу, которую Polygon запустил сентябре. Он отметил, что Polygon использует для защиты транзакций между своими сетями и Ethereum систему защиты Plasma, которую, по его мнению, сложно надежно реализовать. Вагнер подробно рассказал о том, как обнаружил уязвимость в «мосте» Plasma Bridge. С помощью ошибки в коде злоумышленник мог бы вывести сумму, в 223 раза превышающую первоначальную стоимость токенов. Внесение каждых $200 тыс. могло бы принести потенциальному хакеру $44,6 млн. В случае эксплуатации уязвимости потери протокола могли составить $850 млн. Вагнер предположил, что проблема возникла «из-за использования стороннего кода без его полного понимания».

Вагнер отметил, что ранее уже работал над системами защиты от мошенничества, в частности над «Плазмой» и знал основные сложности, с которыми сталкиваются разработчики. Поэтому сразу начал проверять опубликованные контракты, чтобы найти тот, который блокирует средства на L1, когда пользователи переводят средства в сеть Polygon и из нее. Он быстро нашел нужный контракт Deposit Manager Proxy, и на момент написания он содержал токены стоимостью около миллиарда долларов США.

Далее разберем найденную уязвимость.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 7K
Комментарии 5

Новости

Как закопать и найти клад на Solidity

Solidity *

Ни для кого не секрет, что блокчейн является весьма публичной системой, а значит, вся попадающая в него информация, становится незамедлительно доступна всем желающим. Это делает реализацию, казалось бы, простой игровой механики «загадать – дать поотгадывать – дать правильный ответ» не такой уж тривиальной задачей, т.к. на этапе «загадать» можно случайно сообщить всем правильный ответ. Если интересно, как мы это сделали на Solidity, читай под катом.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.4K
Комментарии 2

Учебник по Solidity. Всё про библиотеки

Программирование *Solidity *
Перевод

“Библиотеки можно рассматривать, как неявные базовые смарт-контракты для смарт-контрактов, которые их используют” из документации языка Solidity

Библиотека в Solidity - это тип смарт-контракта, содержащий многократно используемый код. После развертывания в блокчейне (развёртывается только один раз) ему присваивается определённый адрес, а его свойства / методы могут многократно использоваться другими смарт-контрактами в сети Ethereum.

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 3.7K
Комментарии 0

Программирование DeFi: Uniswap. Часть 3

Децентрализованные сети Программирование *Solidity *Криптовалюты
Перевод

Мы продолжаем создавать клон Uniswap V1!

Наша реализация почти готова: мы реализовали все основные механики смарт-контракта Биржи, включая функции ценообразования, обмена, выпуска LP-токенов и сбора комиссии. Похоже, что наш клон завершен, однако нам не хватает смарт-контракта Фабрики.

Сегодня мы реализуем его и наш клон Uniswap V1 будет завершен.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 2.5K
Комментарии 3

Учебник по Solidity. Все об адресах

Децентрализованные сети Программирование *Solidity *
Перевод

Продолжаем серию статей про язык Solidity и платформу Ethereum. В этой статье будет рассказываться про адреса в Ethereum. Статья была написана в августе 2019 года, с той порой язык изменился, поэтому несоответствия в описании автора были исправлены.

Во введении проведено сравнение Ethereum адресов с почтовыми адресами в реальном мире.

Техническая часть начинается с раздела "Что такое (технически) адрес в Ethereum?"

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 4K
Комментарии 0

Программирование DeFi: Uniswap. Часть 2

Децентрализованные сети Программирование *Solidity *Криптовалюты
Перевод

Это вторая часть серии статей о программировании DeFi смарт-контрактов. В предыдущей части мы впервые соприкоснулись с Uniswap, его основной механикой и начали создавать контракт Биржи. Контракт Биржи может принимать ликвидность от пользователей, рассчитывать суммы вывода и выполнять обмены.

Сегодня мы собираемся закончить реализацию Uniswap V1. Хотя это не будет полная копия Uniswap V1, но она будет иметь все основные функции.

Эта часть наполнена новым кодом, поэтому давайте перейдем непосредственно к нему.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 2.2K
Комментарии 0

Программирование DeFi: Uniswap. Часть 1

Децентрализованные сети Программирование *Solidity *Криптовалюты
Перевод

Лучший способ научиться чему-то - научить других. Второй лучший способ научиться чему-то - сделать это самому. Я решил объединить эти два способа и научить себя и вас программировать DeFi сервисы на Ethereum (и любых других блокчейнах, основанных на EVM - Ethereum Virtual Machine).

Мы сосредоточимся на том, как работают эти сервисы, попытаемся понять экономическую механику, которая делает их такими, какие они есть (а все они основаны на экономической механике). Мы будем выяснять, разбирать, изучать и создавать основные механизмы DeFi.

Давайте начнем наше путешествие с Uniswap!

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 6.4K
Комментарии 6

Учебник по Solidity: Все о модификаторах

Децентрализованные сети Программирование *Solidity *Распределённые системы *Криптовалюты
Перевод

В документации Solidity модификаторы определяются следующим образом:

Модификаторы можно использовать для изменения поведения функций декларативным способом.

Из этого определения можно понять, что модификатор направлен на изменение поведения функции, к которой он присоединен.

Например, автоматическая проверка условий перед выполнением функции (для этого модификаторы в основном и используются).

Модификаторы уменьшают избыточность кода. Вы можете повторно использовать один и тот же модификатор в нескольких функциях, если вы проверяете одно и то же условие в смарт-контракте.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 2.6K
Комментарии 0

Ресурсономика и многомерные деньги — ч.2

Венчурные инвестиции Развитие стартапа Solidity *Криптовалюты Будущее здесь

Часть 2. Возможное решение проблемы монетарного дефицита.

Спойлер: это IOUномика - экономика долговых обязательств.

Здесь часть 1, где ставится проблема денежного дефицита и автор пытается найти ее причины.

Читать далее
Всего голосов 11: ↑6 и ↓5 +1
Просмотры 1.5K
Комментарии 12

Ресурсономика и многомерные деньги

Венчурные инвестиции Развитие стартапа Solidity *Криптовалюты Будущее здесь

Как уменьшить бедность и при помощи технологий индивидуальных “прозрачных денег” и ресурсной кооперации.

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

нырнуть в кроличью нору новой экономики...
Всего голосов 11: ↑7 и ↓4 +3
Просмотры 2.7K
Комментарии 42

Способы снизить потребление газа смарт-контрактами

Информационная безопасность *Solidity *Распределённые системы *Криптовалюты
Из песочницы
Перевод

Комментарий от переводчика: статья по меркам Ethereum и языка Solidity относительно старая, аж 2018 года, но ряд идей и подходов будут полезны начинающим.

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

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 2.8K
Комментарии 0

Self-Sovereign Identity + smart-contracts, дешево и сердито

Децентрализованные сети Solidity *

Идентификация пользователей на сайтах без "зарегистрироваться", "забыл пароль" с помощью пары кликов в браузере. Один или сто аккаунтов одного пользователя на одном или ста проектах под его собственным контролем. Так это делают в децентрализованных сетях и DeFi. Простота и доступность этого паттерна позволяет использовать для авторизации пользователей почти любой блокчейн, даже самый простой, так как абсолютно любой блокчейн использует приватные и публичные ключи для идентификации своих пользователей. Но при использовании полноценных смарт-контрактов, эта схема может быть доработана до любого уровня сложности и иметь любые административные функции, присущие централизованным identity системам. Поехали...

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.7K
Комментарии 11

Сказки про NFT для самых маленьких

Децентрализованные сети IT-стандарты *Solidity *Криптовалюты Будущее здесь

Гифка за 580 000$, набор пиксельных панков за 7.5mil$ и Kings of Leon выпускающие свой альбом прямо на нем. О дивный новый мир искусства и какого черта в нем вообще происходит?

Читать далее
Всего голосов 18: ↑10 и ↓8 +2
Просмотры 7.4K
Комментарии 16

Dapp. Vue.js + ethers.js

JavaScript *Solidity *VueJS *
Из песочницы

В этой статье я попытаюсь максимально кратко и информативно пройтись по всем пунктам создания создания полноценного Децентрализованного приложения в сети Ethereum используя JavaScript фреймворк - Vue для создания веб-приложения и библиотеку ethers.js для общения со смарт контрактом. Также будут рассмотрены некоторые моменты о том, как установить и подключить кошелек, как задеплоить контракт в сеть используя truffle и др.

Некоторые пункты могут показаться очень очевидными и не сложными, потому вы их можете пропустить.

Читать далее...
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 4.6K
Комментарии 0

Основы программирования смарт-контрактов TON (FreeTON)

Solidity *Криптовалюты

Перед тем как мы начнем писать свой токен, а затем систему смарт-контрактов, давайте проведем краткий обзор важных элементов смарт-контрактов для FreeTON.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 3.6K
Комментарии 3

Hello Word смарт-контракт для TON (FreeTON)

Solidity *Криптовалюты

Одна из интересных тем, о которой мне хотелось бы сегодня рассказать - это программирование смарт-контрактов. За язык на котором мы будем программировать свой смарт возьмем Solidity, а в качестве платформы будем использовать FreeTON

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 5.2K
Комментарии 3

Ненормальная криптография, или как я проверял подписи Ed25519 на Solidity

Блог компании Near Ненормальное программирование *Криптография *Solidity *Криптовалюты

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

Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 2.5K
Комментарии 2

Разбираемся с форматами токенов на Ethereum

Децентрализованные сети Solidity *Криптовалюты
Из песочницы
Со временем блокчейн всё сильнее проникает в нашу жизнь, и появляется необходимость понимать основные его технологии, в том числе работу децентрализованных приложений (dApps). Большинство dApps в данный момент создано на Ethereum, возможности которого гораздо более гибкие, чем выпуск привычных ERC20 токенов.

Зачем нужны стандарты


Внутри смарт-контракта (что это?) можно прописать уникальную механику токена. Он будет работать, но другие разработчики (и смарт-контракты) не смогут обращаться к нему с помощью универсальной логики.

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

На помощь приходят стандарты. Зная способы взаимодействия с ними, создатели других dApps заложили в код всё необходимое для работы с токеном на опредёленном стандарте.
Читать дальше →
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 16K
Комментарии 1

Ethereum + Python = Brownie

Solidity *
Из песочницы

Салют, дорогой криптоэнтузиаст!


Сегодня речь пойдёт о Brownie — аналоге фреймворка Truffle, который часто используется для разработки умных контрактов на Solidity, их тестирования и развёртывания (о чём можно почитать в цикле соответствующих статей здесь).

Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 5.7K
Комментарии 0

Разработать софт для децентрализованного проката скутеров. Кто сказал, что будет легко?

Блог компании Deutsche Telekom IT Solutions Solidity *
В этой статье я расскажу о том, как мы пытались построить децентрализованный прокат скутеров на смарт контрактах и почему нам все равно понадобился централизованный сервис.


Читать дальше →
Всего голосов 13: ↑10 и ↓3 +7
Просмотры 4.1K
Комментарии 11