Почти перед каждым программистом, который пишет смарт-контракты Ethereum встают вопросы: «Что делать, если нужно будет расширить функционал контрактов? Как быть, если в контракте найдется баг, который повлечет за собой потерю средств? Что делать, если обнаружится уязвимость в компиляторе solidity (что бывало уже не раз)?» Ведь, контракты, которые мы загружаем в сеть, не могут быть изменены. Поначалу довольно сложно осознать: как это код нельзя обновить? Почему? Но в этом отчасти и сила смарт-контрактов Ethereum — пользователи, возможно, меньше бы стали доверять контрактам, которые можно менять.
Постараемся разобрать несколько подходов, которые все же позволяют менять смарт-контракты.
Читать полностью »
Рубрика «Ethereum» - 8
Обновляемые смарт-контракты Ethereum
2017-11-12 в 13:26, admin, рубрики: blockchain, Ethereum, open source, solidity, децентрализация, криптовалюта, ПрограммированиеSecurity Week 45: Эфир замерз в кошельках, миллион фальшивых WhatsApp, бесполезная защита интеллектуальной собственности
2017-11-10 в 16:54, admin, рубрики: Ethereum, Google Play, IEEE P1735, parity, Unicode, WhatsApp, Блог компании «Лаборатория Касперского», информационная безопасностьВ мире фанатов технологии блокчейн все очень просто и безопасно. Еще бы, ведь блокчейн так надежен сам по себе, что для обеспечения любых финансовых операций не требует ни регулятора в лице государства, ни банков, ни других надстроек. Мы не будем спорить с тем, что технология лишена многих недостатков и уязвимостей старого мира. Но это вовсе не означает отсутствия у нее собственных слабых мест, которые раньше и вообразить-то было невозможно. В общем, такое дело: из-за уязвимости, обнаруженной в популярном Ethereum-кошельке Parity, замороженными оказались средства в криптовалюте, которые, по разным оценкам, эквивалентны 150-300 миллионам долларов США.Читать полностью »
Технические особенности проведения ICO. Начало
2017-11-10 в 10:27, admin, рубрики: bitcoin, blockchain, crowdsale, Ethereum, ico, open source, solidity, Алгоритмы, децентрализация, информационная безопасность, Криптовалюты, криптография
Привет! Сегодня мой рассказ пойдёт о техническом опыте проведения ICO на платформе Ethereum перед и во время ICO. Я поучаствовал пока в небольшом количестве проектов, но уже успел собрать некоторый технический бэкграунд. Могу поспорить, технический roadmap по проведению ICO аудитории Хабра будет интересен. Прошу под кат всех заинтересованных.
Универсальный cмарт-контракт мультиподписи в Ethereum
2017-11-10 в 9:41, admin, рубрики: Ethereum, multisig, smart contracts, solid, solidity, криптография, ПрограммированиеНесколько дней назад мы в компании BitClave прочли о недавнем инциденте с мультиподписными кошельками компании Parity Technologies, решили пригляделся к коду их смарт-контракта. Свежий пост в блоге компании Zeppelin Solutions детально описывает произошедший инцидент с технической стороны, поэтому мы хотели бы в нашей статье больше сфокусироваться на принципах проектирования смарт-контрактов.
Разбираемся со смарт-контрактами: действительно ли они могут помочь вашему бизнесу?
2017-11-01 в 7:05, admin, рубрики: blockchain, Ethereum, ico, jincor, Блог компании Jincor, блокчейн, децентрализованные системы, Криптовалюты, перевод, смарт-контракт, умный контракт, электронная коммерция, электронное правительство
Смарт-контракты — это фрагменты кода, которые используют возможности технологии блокчейн и служат для облегчения, проверки или гарантированного выполнения заключенных соглашений или контрактов. Впервые концепция смарт-контрактов была сформулирована Ником Забо в 1996 году. Он назвал «умный» контракт «набором обещаний, сформулированных в цифровом виде, включая протоколы, в рамках которых стороны выполняют эти самые обещания».
С тех про смарт-контракты захватили умы многих визионеров. В пример можно привести Виталика Бутерина, русско-канадского программиста и одного из сооснователей Ethereum — самой популярной децентрализованной платформы смарт-контрактов на базе блокчейна. Но технология развивается, причем стремительно, и уже сейчас существуют десятки других блокчейн-проектов, способных создавать «умные» контракты.
По словам специалистов сферы Джона Рима, Ян Чу и Дэвида Шацкого «смарт-контракты представляют собой следующий шаг в деле продвижения технологии блокчейн от протокола финансовых транзакций к универсальной утилите», — пишет Deloitte Insights. «Они (смарт-контракты, — прим. ред.) являются частью программного обеспечения, а не контрактами в юридическом смысле. При этом „умные“ контракты расширяют возможности блокчейна в плане сохранения записей о финансовых транзакциях, что автоматически дает гарантии выполнения многосторонних соглашений. Они используют компьютерную сеть, которая, в свою очередь, опирается на согласованные протоколы для обеспечения выполнения условий, заложенных в коде контракта, в верной последовательности».
Читать полностью »
Смарт-контракт Ethereum для расчета бонусов используя дробные степени
2017-10-26 в 3:17, admin, рубрики: Ethereum, smart-contract, solidity, Программирование, Учебный процесс в IT, финансы в IT
Начну с того, что всем известно. ICO повсюду, все предлагают разные проекты, все продают токены. И у всех есть какая-то модель продаж со скидками, бонусами, сроками и т.п.
Как ни странно хоть область и достаточно экспериментальная, модель бонусов достаточно примитивна. Просто есть разные объемы или временные интервалы и проценты в них. Да и зачем усложнять? А я все таки попробую. Эксперимента ради. Новое всегда привлекает.
Читать полностью »
Под капотом Ethereum Virtual Machine. Часть 1 — Solidity basics
2017-10-25 в 11:35, admin, рубрики: blockchain, Ethereum, solidity, ПрограммированиеВ последнее время все чаще в новостях можно услышать слова "криптовалюта" и "блокчейн" и, как следствие, наблюдается приток большого количества заинтересованных этими технологиями людей, а вместе с этим и огромное количество новых продуктов. Зачастую, для реализации какой-то внутренней логики проекта или же для сбора средств используются "умные контракты" — особые программы, созданные на платформе Ethereum и живущие внутри его блокчейна. В сети уже существует достаточно материала, посвященного созданию простых смарт-контрактов и базовым принципам, однако практически нету описания работы виртуальной машины Ethereum (далее EVM) на более низком уровне, поэтому в этой серии статей я бы хотел разобрать работу EVM более детально.
Solidity — язык, созданный для разработки умных контрактов, существует относительно недавно — его разработка началась только в 2014 году и, как следствие, местами он ''сыроват''. В этой статье я начну с более общего описания работы EVM и некоторых отличительных особенностей solidity, которые нужны для понимая более низко-уровневой работы.
P.s Статья предпологает наличие некоторых базовых знаний о написании смарт-контрактов, а также о блокчейне Ethereum'a в целом, так что если вы слышите об этом в первый раз, то рекомендую сначала ознакомиться с основами, например, здесь:
- Hello world на solidity и деплой контракта в сеть
- Подборка инструментов для разработки
- Описание работы Ethereum и его блокчейна
Table of contents
- Memory
- Storage
- Memory
- Stack
- Data location of complex types
- Transactions and message calls
- Visibility
- LinksЧитать полностью »
Blockchain глазами разработчика
2017-10-25 в 9:24, admin, рубрики: bitcoin, blockchain, Ethereum, ico, open source, solidity, Алгоритмы, децентрализация, Криптовалюты, криптография, Программирование
Зачем этот рассказ? Когда я изучал blockchain по открытым источникам, например по Википедии, информация казалась отрывочной и бессвязной. Прошло время, прежде чем она сложилась в целостную картину. Кажется, я знаю, в каком порядке и какими словами описать введение в blockchain, чтобы любой профессиональный разработчик смог понять общую картину за 1—1,5 часа. В тексте будут некоторые упрощения. Понятно, что в любой теме есть много деталей, куда можно при желании погрузиться.
Как работает Эфириум (Ethereum)?
2017-10-21 в 14:16, admin, рубрики: Ethereum, криптовалюта, Криптовалюты, Эфириум
Введение
Наверняка некоторые из вас знают, что такое блокчейн Эфириум (с англ. Ethereum), другие, напротив, не имеют даже малейшего представления о нем. Так или иначе, и первые и вторые что-нибудь да слышали о данной платформе. В последнее время этой теме было посвящено множество статей в различных крупных журналах, однако для тех людей, кто мало что слышал об Эфириуме, все статьи на эту тему представляются чем-то мистическим и совершенно непонятным. Тогда, что же собой представляет данная платформа? Если вкратце: Эфириум – это общедоступная база данных с возможностью хранения цифровых транзакций в течение неограниченного времени. Важно также отметить, что для обслуживания и защиты такой базы данных не требуется каких-либо систем управления ключами. Вместо этого данная платформа работает как «беззащитная» транзакционная система – фреймворк, в котором физические лица могут совершать одноранговые транзакции, при этом ни одна из сторон не несет перед другой или третьей сторонами каких-либо обязательств.
Я не удивлюсь, если вы мало что поняли. Собственно, цель данной статьи – объяснить, каким образом блокчейн Эфириум функционирует на техническом уровне, не прибегая для этого к сложным математическим расчетам или ужасающим своей величиной формулам. Даже если вы и не программист, у меня есть полная уверенность в том, что данная статья поможет вам понять принципы технологии Эфириума. И даже если некоторые части данной статьи будут напичканы техническими определениями, которые могут показаться вам чересчур сложными для восприятия, вам не стоит отчаиваться, ведь ее цель – донести до вас понимание данной платформы в целом, не вдаваясь в технические и математические тонкости.
Читать полностью »