Доброго всем! Мы тут потихоньку начали исследовать новое совсем для нас направление для обучения — блокчейны и нашли то, что оказалось интересным в рамках нашего курса по Python, в том числе. Чем, собственно, и хотим поделиться с вами.

Доброго всем! Мы тут потихоньку начали исследовать новое совсем для нас направление для обучения — блокчейны и нашли то, что оказалось интересным в рамках нашего курса по Python, в том числе. Чем, собственно, и хотим поделиться с вами.

Недавно в мире Bitcoin произошло довольно примечательное событие. Был добыт блок, в котором премиальные 12.5 BTC за блок оказались меньше, чем премиальные за транзакции 13.4 BTC. Конечно, такие ситуации случались и раньше в результате ошибок, щедрости или разных экспериментов на Blockchain, но впервые такая ситуация стала результатом тренда на стоимость транзакций.

Возможно Bitcoin требуются банки или их аналоги?
Читать полностью »

В статье мы рассмотрим технические аспекты подготовки и проведения ICO. Это продолжение статьи моего коллеги «Технические особенности проведения ICO. Начало», и здесь мы поговорим подробнее о некоторых технических вопросах, связанных со смарт-контрактами сети Ethereum.
В конце сентября 2017 года мне и gelbplaneten удалось поучаствовать в подготовке и проведении первой в России сделки по ценным бумагам с использованием блокчейн-технологии.
Проект проводился НРД под руководством Александра Яковлева, программная реализация была разработана компанией Altoros, архитектор — Олег Абдрашитов.
Под катом мой рассказ о технических и некоторых юридических аспектах подготовки и проведения сделки.
Читать полностью »

7 8 Ноября Parity объявила о критической ошибке в коде, отвечающим за работу их multi-sig кошелька в основе которого лежит общедоступный смарт-котракт. Это уже второй подобный случай, первый произошел 19/07/2017, когда из-за найденной уязвимости смарт-контракта были выведены 150000 ETH (Подробнее на Хабре).
Попробуем описать в чем заключалась проблема и почему стали недоступны около $300 млн.
Читать полностью »
Почти перед каждым программистом, который пишет смарт-контракты Ethereum встают вопросы: «Что делать, если нужно будет расширить функционал контрактов? Как быть, если в контракте найдется баг, который повлечет за собой потерю средств? Что делать, если обнаружится уязвимость в компиляторе solidity (что бывало уже не раз)?» Ведь, контракты, которые мы загружаем в сеть, не могут быть изменены. Поначалу довольно сложно осознать: как это код нельзя обновить? Почему? Но в этом отчасти и сила смарт-контрактов Ethereum — пользователи, возможно, меньше бы стали доверять контрактам, которые можно менять.
Постараемся разобрать несколько подходов, которые все же позволяют менять смарт-контракты.
Читать полностью »

Привет! Сегодня мой рассказ пойдёт о техническом опыте проведения ICO на платформе Ethereum перед и во время ICO. Я поучаствовал пока в небольшом количестве проектов, но уже успел собрать некоторый технический бэкграунд. Могу поспорить, технический roadmap по проведению ICO аудитории Хабра будет интересен. Прошу под кат всех заинтересованных.
Всё биткоин-сообщество с некоторым опасением ожидало проведения хардфорка в течение этого месяца. Цель хардфорка — использовать преимущества нового протокола Segwit2x в обновлённой инфраструктуре биткоина. Этот протокол позволяет избавиться от ряда существующих проблем, например, увеличить производительность сети. Сейчас она ограничена рядом правил работы блокчейна биткоина.

Неожиданно авторы проекта хардфорка отказались от своих намерений, решив не проводить его для увеличения размера блока. Основная причина — далеко не все представители блокчейн сферы считают нужным проводить хардфорк именно так, как его запланировали разработчики Segwit2x. Это расхождение во взглядах повлияло на то, что даже те игроки рынка, которые поддерживали форк, приветствовали его отмену. В их числе Xapo, Bitmain, Bloq, Blockchain, Shapeshift и ряд других организаций.
Читать полностью »

Смарт-контракты — это фрагменты кода, которые используют возможности технологии блокчейн и служат для облегчения, проверки или гарантированного выполнения заключенных соглашений или контрактов. Впервые концепция смарт-контрактов была сформулирована Ником Забо в 1996 году. Он назвал «умный» контракт «набором обещаний, сформулированных в цифровом виде, включая протоколы, в рамках которых стороны выполняют эти самые обещания».
С тех про смарт-контракты захватили умы многих визионеров. В пример можно привести Виталика Бутерина, русско-канадского программиста и одного из сооснователей Ethereum — самой популярной децентрализованной платформы смарт-контрактов на базе блокчейна. Но технология развивается, причем стремительно, и уже сейчас существуют десятки других блокчейн-проектов, способных создавать «умные» контракты.
По словам специалистов сферы Джона Рима, Ян Чу и Дэвида Шацкого «смарт-контракты представляют собой следующий шаг в деле продвижения технологии блокчейн от протокола финансовых транзакций к универсальной утилите», — пишет Deloitte Insights. «Они (смарт-контракты, — прим. ред.) являются частью программного обеспечения, а не контрактами в юридическом смысле. При этом „умные“ контракты расширяют возможности блокчейна в плане сохранения записей о финансовых транзакциях, что автоматически дает гарантии выполнения многосторонних соглашений. Они используют компьютерную сеть, которая, в свою очередь, опирается на согласованные протоколы для обеспечения выполнения условий, заложенных в коде контракта, в верной последовательности».
Читать полностью »
В последнее время все чаще в новостях можно услышать слова "криптовалюта" и "блокчейн" и, как следствие, наблюдается приток большого количества заинтересованных этими технологиями людей, а вместе с этим и огромное количество новых продуктов. Зачастую, для реализации какой-то внутренней логики проекта или же для сбора средств используются "умные контракты" — особые программы, созданные на платформе Ethereum и живущие внутри его блокчейна. В сети уже существует достаточно материала, посвященного созданию простых смарт-контрактов и базовым принципам, однако практически нету описания работы виртуальной машины Ethereum (далее EVM) на более низком уровне, поэтому в этой серии статей я бы хотел разобрать работу EVM более детально.
Solidity — язык, созданный для разработки умных контрактов, существует относительно недавно — его разработка началась только в 2014 году и, как следствие, местами он ''сыроват''. В этой статье я начну с более общего описания работы EVM и некоторых отличительных особенностей solidity, которые нужны для понимая более низко-уровневой работы.
P.s Статья предпологает наличие некоторых базовых знаний о написании смарт-контрактов, а также о блокчейне Ethereum'a в целом, так что если вы слышите об этом в первый раз, то рекомендую сначала ознакомиться с основами, например, здесь: