Рубрика «смарт-контракт»

Тема блокчейна не перестает быть источником не только всяческого хайпа, но и весьма ценных с технологической точки зрения идей. Посему не обошла она стороной и жителей солнечного города. Присматриваются люди, изучают, пытаются переложить свою экспертизу в традиционном инфобезе на блокчейн-системы. Пока что точечно: одна из разработок «Ростелеком-Солар» умеет проверять безопасность софта на базе блокчейна. А попутно возникают некоторые мысли по решению прикладных задач блокчейн-сообщества. Одним из таких лайфхаков – как определить адрес смарт-контракта до деплоя с помощью CREATE2 – сегодня хочу с вами поделиться под катом.

imageЧитать полностью »

«Программисты тратят огромное количество времени беспокоясь о скорости работы своих программ, и попытки достичь эффективности зачастую оказывают резко негативное влияние на возможность их отладки и поддержки. Необходимо забыть о маленьких оптимизациях, скажем, в 97% случаев. Преждевременная оптимизация это корень всех зол! Но мы не должны упускать из виду те 3%, где это действительно важно!».
Дональд Кнут.

Ethereum gas

Проводя аудиты смарт-контрактов, мы иногда задаём себе вопрос относится ли их разработка к тем 97%, где нет необходимости думать об оптимизации или мы имеем дело как раз с теми 3% случаев, где она важна. На наш взгляд, скорее второе. В отличие от других приложений, смарт-контракты не обновляемы, их невозможно оптимизировать «на ходу» (при условии, если в их алгоритм это не заложено, но это отдельная тема). Второй довод в пользу ранней оптимизации контрактов — то, что, в отличие от большинства систем, где неоптимальность проявляется только в масштабе, связана со спецификой железа и окружения, измеряется колоссальным количеством метрик, смарт-контракт обладает по сути единственной метрикой производительности — потребление газа.

Поэтому эффективность контракта оценить технически проще, но разработчики зачастую продолжают полагаться на свою интуицию и делают ту самую, слепую «преждевременную оптимизацию», о которой говорил профессор Кнут. Мы проверим насколько интуитивное решение соответствует реальности на примере выбора разрядности переменной. В данном примере, как и в большинстве практических случаев, мы не добьёмся экономии, и даже наоборот, наш контракт получится более дорогим в плане потребляемого газа.
Читать полностью »

Идея смарт-контрактов появилась еще в далеком 1994 году, когда Ник Сабо предложил использовать распределенный глобальный код для хранения информации о сделках. На сегодняшний день они считаются очень перспективной технологией, которая сможет значительно упростить и обезопасить многие сферы жизни. Давайте разберемся, как устроены «умные» контракты и зачем они нужны.

Что такое смарт-контракты: краткое руководство - 1
Читать полностью »

Эксперименты с контрактами Solidity в тестовой сети Rinkeby блокчейна Ethereum - 1

Эта статья представляет собой небольшое практическое руководство, которое поможет вам быстро настроить среду разработки смарт-контрактов на языке Solidity для блокчейна Ethereum. Вы опубликуете первый контракт, сохраните его в тестовом блокчейне Rinkeby и научитесь вызывать методы контракта. Это будет ваш первый шаг на пути создания децентрализованных приложений DApp (Decentralized Application).

Несмотря на обилие книг, статей и руководств, посвященной теме этой статьи, новичку довольно трудно приступить к публикации контрактов и работе с ними. При попытке что-то сделать по книгам, руководствам и статьям нередко оказывается, что примеры не работают, а команды возвращают непонятные ошибки. Я попытаюсь в некоторой степени упростить первый этап освоения, отразив в этой статье свой опыт изучения Ethereum.

При погружении в эту тему я использовал приложение (браузер) Mist в среде Microsoft Windows, а также интерфейс командной строки Geth узла Ethereum в среде Ubuntu. В этой статье мы расскажем о работе с Geth, а также немного о том, как вызывать методы контрактов из Node.js.

С благодарностью приму замечания и пожелания по дальнейшим статьям про блокчейн Ethereum, разработку контрактов на языке Solidity и приложений DApp.
Читать полностью »

Создаём собственный блокчейн на Ethereum - 1

Как создать приватный блокчейн Ethereum с нуля?

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

Инструкция включает в себя следующее:

  • Создание приватного блокчейна Ethereum с помощью geth.
  • Создание кошелька MetaMask для работы с приватным блокчейном.
  • Перевод средств между несколькими аккаунтами.
  • Создание, развёртывание и вызов смарт-контракта в приватном блокчейне с помощью remix.
  • Создание обозревателя блоков Ethereum поверх приватного блокчейна.

Читать полностью »

Разбираемся со смарт-контрактами: действительно ли они могут помочь вашему бизнесу? - 1

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

С тех про смарт-контракты захватили умы многих визионеров. В пример можно привести Виталика Бутерина, русско-канадского программиста и одного из сооснователей Ethereum — самой популярной децентрализованной платформы смарт-контрактов на базе блокчейна. Но технология развивается, причем стремительно, и уже сейчас существуют десятки других блокчейн-проектов, способных создавать «умные» контракты.

По словам специалистов сферы Джона Рима, Ян Чу и Дэвида Шацкого «смарт-контракты представляют собой следующий шаг в деле продвижения технологии блокчейн от протокола финансовых транзакций к универсальной утилите», — пишет Deloitte Insights. «Они (смарт-контракты, — прим. ред.) являются частью программного обеспечения, а не контрактами в юридическом смысле. При этом „умные“ контракты расширяют возможности блокчейна в плане сохранения записей о финансовых транзакциях, что автоматически дает гарантии выполнения многосторонних соглашений. Они используют компьютерную сеть, которая, в свою очередь, опирается на согласованные протоколы для обеспечения выполнения условий, заложенных в коде контракта, в верной последовательности».
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js