Рубрика «Ethereum» - 5

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

Ethereum gas

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

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

По материалам моего доклада на конференции «Цифровая трансформация» в Москве 16 апреля 2018 г

Мне интересно, как работает блокчейн. Не только какие там алгоритмы, криптография, платформы и криптовалюты. Для меня блокчейн — не только технология, но и новый вид жизни, новая вселенная. Если вы в этом сомневаетесь, посмотрите на этот граф распродажи токенов Aragon:

Анализ блокчейн, или почему сломался миксер? - 1

Все эти адреса, смарт-контракты, токены постоянно взаимодействуют друг с другом, и за ними стоят действия людей, организаций и роботов. Без этого взаимодействия блокчейн и криптовалюты не имели бы никакого смысла и ценности.

Как работают бизнесы в блокчейн, что там делают люди и роботы — эти вопросы заставили меня заняться исследованием блокчейна.

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

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

В конце статьи я резюмирую свои размышления краткой инструкцией по написанию безопасных смарт-контрактов.

image

Ремарки

  1. Речь в статье пойдёт только о смарт-контрактах Ethereum. Сообщество молчаливо отождествило «smart contracts» с «Ethereum smart contracts». Меж тем первое — скорее концепция, а второе — реализация, и вопрос о том, насколько эта реализация отвечает концепции, можно обсуждать (как и в принципе саму концепцию смарт-контрактов и другие возможные имплементации). Это тема сложная, недооценённая и интересная, но это не тема данной статьи, поэтому интересующихся отошлю к работам Nick Szabo. Соответственно, везде далее, где я говорю «смарт-контракты», я на самом деле имею в виду «смарт-контракты Ethereum».
  2. Речь в статье пойдёт только о языке смарт-контрактов Solidity как о самом популярном и для пользователя Ethereum по сути единственном на данный момент.Читать полностью »

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

Multisig-контракты и адреса в Bitcoin и Ethereum - 1

Multisig-контракты в современных децентрализованных сетях — это мощный инструмент, который позволяет просто и надёжно защищать средства на коллективных счетах, а также проводить сделки с несколькими участниками. Если вам интересно, как использовать такие адреса, то вы попросту обязаны понимать механику владения ими и прекрасно представлять себе порядок транзакций. Для работы с такими адресами требуется участие нескольких аккаунтов.

Несмотря на одинаковое название и схожую логику работы, внутренние алгоритмы и способы взаимодействия с адресами, защищёнными мультиподписью, довольно сильно различаются в Bitcoin и Ethereum. Именно об этом внутреннем устройстве и пойдёт речь в данной статье.

Мы будем говорить о двух сетях: Bitcoin и Ethereum. В других блокчейнах multisig-доступ к криптоактивам может быть реализован совершенно иначе.

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

Простые и мощные краткосрочные смарт-контракты - 1

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

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

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

О грядущем внедрении Casper или виртуозной попытке команды Ethereum усидеть сразу на двух стульях


Модель добычи криптовалют Proof-of-Work подвергалась критике еще на самых ранних этапах развития технологии. Кроме очевидного преимущества в виде «вычислительных мощностей», которые невозможно подделать и с которыми невозможно смухлевать, есть целый сонм недостатков. Это и стоимость оборудования, и доминирование капитала над рядовыми майнерами, и даже вред экологии. То есть за все время своего существования PoW-модель нажила себе много противников.

С другой стороны альтернативные способы добычи пока как-то в крупных блокчейнах не особо прижились. Многие коммерчески успешные криптовалюты майнятся, причем по протоколу Proof-of-Work. Но есть ли этому «варварству» альтернативы?

Дружелюбное привидение, которое хочет всем понравиться - 1

Конечно есть. В первую очередь речь идет о способе добычи Proof-of-Stake или «подтверждение владением». И первые шаги по внедрению этого алгоритма среди популярных криптовалют сделали разработчики Ethereum во главе с Владом Замфиром. Фактически, именно он является автором протокола Casper. Но во всей этой истории есть пару «НО», потому что Casper, хоть и «дружелюбное привидение», но слишком сильно пытается понравиться всем и сразу.
Читать полностью »

ASIC-майнеры стали потенциально крупной проблемой еще в момент своего появления на рынке. Возникновение специализированного майнингового оборудования для протокола SHA256, которое было на порядок эффективнее майнинга на CPU или GPU, значительно усложнило жизнь копателям биткоина и вынудило крупных «старателей» втянуться в гонку за вычислительными мощностями и дешевой электроэнергией.

Но в чем конкретно проблема ASIC-майнеров? Почему новые популярные блокчейны заявляют о стойкости к ASIC, а Ethereum проводит голосование, делать ли форк, чтобы защититься от ASIC или нет? Из-за чего сообщество так неоднозначно относится к ASIC — шайтан-коробкам, созданным специально для майнинга конкретных криптовалют?

Блокчейн-сообщество наращивает борьбу с ASIC, а Бутерин вроде и не против - 1

Если немного отмотать назад и вспомнить заветы отцов-основателей, то криптовалюты затевались как децентрализованные одноранговые сети с коллективным подтверждением операций. Очевидно, что чем больше децентрализация, тем стабильнее и эффективнее вся система. Однако курс криптовалют на рынке внес в эту парадигму свои коррективы.
Читать полностью »

Учтя комментарии к моей предыдущей статье я решил написать вторую часть, где будут более подробна рассмотрена техническая составляющая игры.
Читать полностью »

Реестр пакетов на Ethereum - 1

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

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


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