Привет всем! В прошлой статье мы с вами изучили общую механику расчета газа при выполнении транзакций. В этой статье мы сфокусируемся на самых «дорогих» операциях работы с хранилищем смарт‑контракта (storage), а также пройдемся по истории EIPs, связанных с расчетом газа в Ethereum, чтобы увидеть, по каким принципам сообщество принимало решения об изменениях «правил игры» и как сегодня, на основе этой истории, правильно выполнять такие расчеты.
Статья для тех, кто хочет разобраться почему слоты в storage бывают теплыми и холодными, грязными или свежими и за что возвращают газ. Также затронем списки доступа и intrinsic gas. Наконец увидим полную картину учета газа от инициализации транзакции до ее выполнения.
Децентрализованные сети *
Оверлейная компьютерная сеть
Новости
Анонимная P2P-сеть внутри централизованного HTTPS-сервера: вшиваем паразитный трафик всеми правдами и неправдами
Государственная цензура есть многогранный монстр, закрывающий путь не только к зарубежной информации посредством блокировки ресурсов и их методов обхода, в лице Proxy, VPN, Tor, но также и постоянно пытающийся подавлять неподконтрольные безопасные и анонимные коммуникации внутри самого себя. Гос.структуры ради этого готовы пойти буквально на любые ухищрения и запугивания, включая штрафы (дело Threema, отказ передачи ключей шифрования), уголовные преследования (дело Дмитрия Богатова, дело по VIPole), регулирование неконтролируемой криптографии (история запретов до 2016, запрет шифрования доменных имён), а также возможные бэкдоры в собственных криптоалгоритмах (Кузнечик и Стрибог). Рэкет становится для государства нормой жизни.
Обзор Polygon zkEVM: как работает L2 решение для Ethereum
Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов в команде MetaLamp, мой основной стек – Solidity. В этой статье я подробнее расскажу про решение для масштабирования с нулевым разглашением (Zero-knowledge proof), а именно – о блокчейне второго уровня Polygon zkEVM. Как блокчейн решает проблему высокой стоимости газа в транзакциях и использует другие преимущества ZK-Rollups? Ответы на эти и другие вопросы в этой статье.
Для более детального понимания Zero-Knowledge Proofs (ZKP), рекомендую обратиться к этой статье в нашей Blockchain-Wiki на Гитхабе.
Погнали!:)
Расчет количества газа необходимого для выполнения транзакции в Ethereum
Привет, Хабр! Продолжаю серию статей о газе в Ethereum. В этой статье подробно разберем составляющие параметра gasUsed
, без которого невозможно подсчитать стоимость транзакции. Будем разбирать формулы из "желтой бумаги" и копаться в коде клиента "Geth". Это даст основу для понимания, как газ потребляется во время исполнения любой транзакции. Если вы еще не читали статью про то, как рассчитывается комиссия за газ в Ethereum, то она здесь.
Истории
Сможет ли IPFS полностью заменить HTTP?
Меня зовут Виталий Киреев, я руководитель R&D в SpaceWeb. В начале прошлого года мы внедрили IPFS-технологию в работу своего хостинга, и все наши клиенты получили возможность размещать контент в IPFS-сети. Решились на такой шаг не сразу: IPFS — технология пока еще экспериментальная, к ней и у R&D-команды полно вопросов.
В статье расскажем об основных принципах устройства IPFS, обсудим преимущества и недостатки. А еще поделимся, зачем вообще классическому хостинг-провайдеру было внедрять IPFS-технологию и с какими трудностями мы столкнулись в процессе. Статья будет полезна тем, кто только начинает знакомиться с IPFS или планирует использовать технологию для своих проектов.
Что такое DAO?
Если вы что-то слышали о концепции организации без большого босса, где анонимный владелец нескольких токенов может влиять на будущее компании — это скорее всего про DAO. В этой статье ты узнаешь, что такое децентрализованные автономные организации (DAO), как вообще возможно их существование и успешные примеры реализации.
Анонимная P2P-база знаний, где никто не может подделать чужое авторство | Магия асимметричных ключей на практике
На днях, как это обычно и бывает перед сном, мой мозг решил, что было бы очень забавно перед экзаменом не спать, а заняться брейнштормом. Как результат я получил слитую сессию и безумное желание сделать свой P2P WEB 228.0 — ну вы знаете…
Вот вы никогда не задумывались, что Tor является весьма экстраординарным способом преодоления трансляторов сетевых адресов? По сути, он позволяет создавать туннель между двумя любыми удалёнными узлами, находящимися за NAT, выдавая им уникальные onion-адреса из очень большого диапазона.
Аналогичную же задачу решает переход на ipv6, но при этом он требует поддержки со стороны самого транслятора, в то время как Tor абсолютно самостоятелен, хоть он и не является настоящим p2p.
Чисто технически (при должном monkey patch`инге) можно даже заставить его работать как пробрасыватель портов для RDP, онлайн-игр и Vиртуальных Pриватных туннелей, которые нынче нельзя называть.
Как рассчитывается стоимость газа в транзакциях Ethereum
Привет всем! Я — Рома Ярлыков, разработчик смарт‑контрактов на Solidity в команде MetaLamp. В этой статье я исследую механизмы расчета и составляющие цены газа в блокчейне Ethereum, описываю историческое развитие этих методов и их значимость, а также демонстрирую, как вычислить стоимость транзакции на основе ее газовых затрат. Это будет цикл статей, поэтому если вам интересна эта тема — не пропустите следующие:)
Как ZKP и ZK-Rollups помогают в решении проблемы масштабирования: обзор блокчейна zkSync
Привет, Хабр! Меня зовут Рома и я Solidity-разработчик. Вместе с коллегами мы создаем базу знаний по тематике блокчейна и web3-разработке. Меня заинтересовал блокчейн zkSync, т.к. он выделяется среди других Layer 2 решений, но сначала хочу немного рассказать, в чем суть проблемы масштабирования и какие есть особенности L2 в связке с ZK-Rollups. Эта статья будет интересна тем, кто хочет верхнеуровнево разобраться как работают такого рода решения и почему ZK-Rollups очень перспективное направление развития для блокчейнов в целом и Ethereum в частности.
Групповые P2P-чаты и первый мессенджер без ID
Схема маршрутизации по протоколу SimpleX Messaging Protocol (SMP) напоминает луковую маршрутизацию
Недавно в списке защищённых мессенджеров появилось несколько интересных разработок. Среди них первый распределённый групповой P2P-чат Quiet и первый мессенджер без использования идентификаторов пользователей SimpleX, о котором уже упоминали на Хабре.
Анонимный обмен файлами в реалиях глобального наблюдателя
Сегодня уже ни для кого не секрет, что каждое отправляемое нами сообщение из любой точки мира может быть успешно перехвачено, проанализировано и отфильтровано компаниями, корпорациями и государственными спец службами. Каждый наблюдатель в такой ролевой модели преследует выполнение своих, точно заданных задач. Но когда таковые наблюдатели объединяются в одного, сию же минуту рождается, как новая звезда в космическом пространстве, глобальный наблюдатель, противодействий которому будет недостаточно со стороны классических анонимных сетей, будь то Tor, I2P или Mixminion.
Оптимален ли блокчейн для хранения идентификационных данных?
Приветствую, Хабр! Моя предыдущая статья была посвящена формализованным критериям выбора базовой технологии хранения и обработки данных, совокупность которых позволяла ответить на вопрос, использовать ли в конкретной системе блокчейн-технологии или ограничиться хорошо изученными СУБД. При этом ответ на данный вопрос при использовании формализованных методов выбора мог быть получен именно на основе технических факторов, не принимая во внимание различные «политические» аспекты выбора, такие как, например, повышенный информационный шум, продолжающийся вокруг блокчейна.
Приведенная в предыдущей статье классификация известных применений блокчейн-технологий позволила проиллюстрировать, с одной стороны, их широту, а с другой – тот факт, что применения блокчейн-технологий значительно различаются по степени полезности данных технологий для систем, в которых они могут использоваться.
Одним из известных направлений применения блокчейн-технологий является хранение идентификационных данных граждан. Предлагаю далее рассмотреть варианты хранения идентификационных данных на основе блокчейн-технологий и традиционных баз данных и сравнить подобные решения для формулировки вывода об оптимальной технологии для данного применения.
Формальные методы проверки смарт-контрактов. Certora Prover
Друзья, приветствую! Меня зовут Сергей Соболев, я представляю отдел безопасности распределенных систем Positive Technologies. В этой статье начну рассказывать про методы и инструменты формальной верификации, их практическое применение в аудите смарт-контрактов, а также про подводные камни.
Сегодня поговорим про общие теоретические аспекты формальной верификации, проблемы SAT и SMT и закрепим все это на простом примере с использованием хайпового инструмента для анализа смарт-контрактов Certora Prover со своим языком спецификаций.
Ближайшие события
TorrentPier — первый движок торрент-трекера с поддержкой BitTorrent v2
Сегодня состоялся релиз TorrentPier Cattle.
Думаю многие знакомы с порталами Rutracker, NNMClub и т.п., которые оперируют на данном движке, хоть они и давно не обновлялись.
Спустя несколько месяцев разработки, рады вам сообщить о переходе на PHP 8.1, поддержке BitTorrent v2, исправленных уязвимостях, и других новых функциях, которые последуют в этой статье.
Начнём с BitTorrent v2 (статья на русском). Это следующая версия протокола BitTorrent, которая имеет ряд улучшений:
Хочется странного — шифрование и протокол Gemini
Сегодня речь пойдет НЕ о новомодной нейросети, не о космической программе NASA, не о созвездии Близнецов, и даже не об очередной криптобирже. Интернет-протоколу Gemini не повезло с названием, его все время путают с чем-то другим.
А протокол интересный, дело в том, что он (1) минималистичный, как Gopher, а значит, (2) удобный для создания самодельных компьютерных программ, работающих с ним, (3) радикально защищает читателя от скриптов, всплывающих окон и прочего, при этом (4) заточен на параноидальную приватность и безопасность, и еще там (5) непривычный подход к шифрованию канала передачи данных, о чем сейчас и поговорим.
Как я перестал бояться и вышел в Интернет со своей IPv6-сетью
Для личных нужд я использую bare-metal сервер от Hetzner, порезанный на виртуалки и, с недавних времен, VPS на HostHatch для мониторинга и резервирования. Также есть маленькая ВМка у TietoKettu (для ВПН, экспериментов и прочее).
Так как IPv4-адресов мало, то хостинги обычно дают дополнительные айпишки за дополнительные деньги, а вот IPv6-сети выделяют щедро. Изначально, я объединил все виртуалки, у которых был публичный IPv4-адрес в Wireguard mesh сеть, но потом когда выяснилось, что надо бы присоединить ещё одну ВМку, пришлось переделать mesh на IPv6-адреса и тут понеслось...
Сначала выяснилось что у HostHatch нет связности с ElmoNet (TietoKettu использует их адреса), после недели-двух бодания с техподдержкой HostHatch-a связность появилась. Однако недели две назад от них приходит письмо, о техобслуживании нод, где живут мои ВМки. И что вы думаете? После обслуживания туннель до этих ВМок так и не восстановился. В итоге, оказалось что обе вмки исчезли их IPv6-интернета. На этот раз связность починили только через 3 дня, хотя я создал срочный тикет.
В итоге, я перевёл туннели обратно на IPv4 и переключился на DN42, но в один выходной мне на глаза попалась статья на Reddit и я решил воскресить идею о "своем" куске Интернета. Масла в огонь подбавил Vultr, который наглухо заблокировал доступ на свои ресурсы (даже IP calculator) с Hetzner.
В одном из комментов, к вышеупомянутой статье, была ссылка на IPv6-сообщество в Discord. Я присоединился и стал задавать много вопросов в канале #asn-newbies.
Думаю, что кому-нибудь мой опыт и набитые шишки будет полезен. Если это так, то прошу под кат.
Проект Usenet: 60 петабайт текста и полная децентрализация на акустических модемах
Когда Тим Бернерс-Ли в ранних 90-х представил технологии, определившие будущую Всемирную паутину, в мире уже не одно десятилетие существовала по-настоящему децентрализованная компьютерная сеть с довольно богатым контентом и открытым доступом, в отличие от окружённой мифами ARPANET. В этом посте мы вкратце расскажем о Usenet — проекте двух университетских выпускников, который всё ещё живет, не оглядываясь на новые технологии.
Началась эта история в Северной Каролине с двух друзей из Дьюкского университета, Джима Элиса и Тома Траскотта. Они работали над протоколом UUCP, Unix to Unix Copy Protocol. Их друг из университета Северной Каролины Стивен Белловин хотел создать софт, который позволил бы людям пользоваться этим протоколом, и тоже вошёл в основную команду.
Проект оказался довольно успешен: с помощью UUCP стало возможно отправлять файлы и сообщения между компьютерами и мини-компьютерами, соединёнными по сети. И, поскольку речь идёт о 1970-х, под компьютерами подразумеваются мейнфреймы, занимающие целую комнату или этаж. Мини-компьютеры же варьировались по размерам примерно от письменного стола до пары холодильников. Для своего времени они обеспечивали приличную вычислительную мощность, но до мейнфреймов им было далеко.
Пакуем весь трафик в Ping message, чтобы не платить за интернет | ICMP NAT traversal
Бывало ли у вас такое, что вы подключились к общественной сети или мобильному интернету, но он себя странно ведёт. Надпись «Подключено, без доступа к интернету» отсутствует, устройство думает, что всё нормально. Вы открываете браузер и видите «Пройдите проверку личности в сети нашего кафе» или в случае с мобильным интернетом «Пополнить баланс можно тут, тут и тут».
Так вот, переходя ближе к теме. Вы можете воспроизвести подобное поведение очень просто прямо сейчас при помощи вашего мобильного телефона и ноутбука. Я в своём конкретном кейсе буду пользоваться услугами оператора красного цвета, однако проблема актуальна для всех текущих 4 монополистов рынка сотовой связи. Как вам, скорее всего, уже известно, они около года меняют свою политику, внедряя одно интересное нововведение — с вас требуют дополнительной платы за раздачу интернета поверх основного пакета. То есть вы не можете взять и использовать свои 7 гигов на месяц как ресурс для раздачи при помощи точки доступа. Для точки доступа вам предлагают отдельный, зачастую совсем невыгодный тариф. Конечно, можно сменить основной тариф на специальный «тариф для раздачи» и платить втридорога, но, как вы понимаете, сегодня мы в потребителя будем играть совсем недолго. Сейчас по пунктам нужно доказать нечестность подобной политики и с чувством завершённого введения перейдём к непосредственно технотексту.
Подобные условия пользования, само собой, порождают внутреннее недовольство пользователей:
За интернет они платят? — Да.
Раздача как-либо использует ресурсы провайдера сверх нормы? — Нет.
Пишем минимальный ActivityPub-сервер с нуля
Mastodon — это децентрализованная социальная сеть, работающая по модели федерации, как email. Протокол федерации называется ActivityPub и является стандартом W3C, а Mastodon — далеко не единственная его реализация, но самая популярная. Различные реализации протокола, как правило, совместимы друг с другом, настолько, насколько им позволяют их совпадения в функциональности. У меня есть и мой собственный проект ActivityPub-сервера — Smithereen, такой зелёный децентрализованный ВК, где я когда-нибудь таки верну стену.
В этой статье мы рассмотрим основы протокола ActivityPub и напишем минимально возможную реализацию сервера, позволяющую отправлять посты в сеть («fediverse»), подписываться на других пользователей и получать от них обновления.
Yggdrasil-mesh глазами пентестера
В наше время растет популярность децентрализованных альтернатив современным подходам к маршрутизации трафика в вычислительных сетях (например, для обхода санкционных блокировок недружественных стран и анонимизации трафика). Одним из примеров такого подхода является Yggdrasil. Новые подходы обещают нам инновации, децентрализации и конечно же гарантии безопасности. Но так ли это на самом деле? И хотя многие опытные пользователи и так знают о проблемах безопасности подобных сетей, мне бы хотелось подсветить их сильнее на одном конкретном примере, не претендуя на звание создателя rocket science.
ПРЕДУПРЕЖДЕНИЕ. Все совпадения вымышлены. Автор не ставил своей целью просканировать весь Yggdrasil и проэксплуатировать все уязвимости безопасности.
Вклад авторов
-
alizar 3802.0 -
marks 886.0 -
Shapelez 662.0 -
Temych 568.0 -
CodeDroidX 483.0 -
rutracker 412.0 -
ID_Daemon 390.4 -
ValdikSS 382.0 -
sardarbinyan 359.0 -
jeston 354.0