Рубрика «blockchain»

«Среда продакшна вне вашего контроля»: Риан Льюис о тестировании блокчейн-проектов - 1

Может показаться, что сейчас уже поздно обсуждать криптовалюты и блокчейн-проекты: мол, пару лет назад было сказано всё возможное, а потом завышенные ожидания не оправдались, ажиотаж спал и тема стала неактуальна.

Но на самом деле как раз сейчас можно говорить о ней серьёзно. На пике ажиотажа сложно было пробиться через вопли «ВЛОЖИСЬ В НАШЕ ICO ПОКА НЕ ПОЗДНО» к чему-то рассудительнее, и в соотношении «сигнал/шум» зашкаливала вторая составляющая. Зато теперь, когда шумиха схлынула и любители быстрой наживы переключились на что-то другое, стало можно поговорить нормально. И когда вопрос «во что вложить деньги» перестал затмевать всё остальное, стало проще затрагивать технические аспекты.

Риан Льюис (известная, например, небольшим сервисом CountMyCrypto) видит блокчейн-экосистему и с ракурса энтузиаста, и с ракурса технического специалиста: ей интересно и «что вообще происходит», и тестирование блокчейн-проектов. И мы решили задать ей вопросы сначала о первом, а затем перейти к второму.
Читать полностью »

Как обновлять код смарт-контрактов в Ethereum / Часть 1

Статья подразумевает, что у читателя есть базовое понимание того, как работают Ethereum, EVM (Ethereum Virtual Machine) и смарт-контракты на техническом уровне, а также понимание основ языка программирования смарт-контрактов — Solidity.

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

На самом деле это всё о смартконтрактах.

Но если вы не совсем представляете себе что такое смартконтракт, и вообще далеки от крипты, то что такое хранимая процедура в базе данных, представляете себе вполне. Пользователь создаёт кусочки кода, которые потом работают на нашем сервере. Пользователю удобно их писать и публиковать, а нам безопасно их исполнять. Читать полностью »

image

В апреле 2018 года команда Waves представила свои не тьюринг-полные смарт-контракты.

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

Статья будет полезна разработчикам для реализации собственных смарт-контрактов и знакомства с технологией
Читать полностью »

Наверняка многие из вас задумывались, зачем вообще понадобился блокчейн и Ethereum в частности. Кто-то возможно пошел дальше и нашел множество красивых характеристик: децентрализация, прозрачность, доверие без посредников, взломостойкость. Это же просто отлично, правда? Да, но…
Погружение в разработку на Ethereum. Часть 0: блокчейн не нужен - 1
Читать полностью »

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

Управляемые токенами реестры 1.0 - 1

Идея управляемых токенами реестров (TCR) зародилась в блокчейн-сообществе не менее года назад. По крайней мере, эта статья была опубликована автором еще в сентябре 2017 года. А недавно я был на конференции DappCon 2018 в Берлине и увидел большой интерес к этой теме, а также несколько ранних набросков на основе TCR. Поэтому предполагаю, что пик интереса еще впереди.

Мне TCR-контракты представляются крайне интересными, поскольку они являют собой пример наиболее простой замкнутой системы, управляемой децентрализованно и на основе экономических стимулов. Если немного пофантазировать, становится понятно, что на основе этой идеи можно децентрализовать очень многое, возможно даже всё в нашей социально-экономической жизни. И это уже не просто галлюцинации сумасшедших криптанов, а вполне неплохо сформулированный протокол. Более подробно читайте под катом.

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

В этой статье мы постараемся детально описать основную задачу комиссий в Биткоине, как они работают и на что влияют. Мы объясним причины волатильности комиссий, задержки в подтверждении транзакций и опишем подходы к решению этих проблем. Кроме того, проясним, как именно обновление Segregated Witness способствует снижению стоимости транзакций. А в качестве бонуса поделимся мыслями по поводу того, как дружба с майнерами снижает комиссии до нуля и к чему такая тенденция может привести в будущем. Итак, приступим.
Читать полностью »

Проверка временем: Timejacking против Bitcoin - 1

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

В этой статье мы рассмотрим атаку «Timejacking», основанную на уязвимости в обработке временных меток блоков в системе криптовалюты Bitcoin, и попытаемся объяснить, почему атака есть, а ее успешной реализации нет.

P.S. Тут будет много производных от слова «время». Очень много.
Читать полностью »

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

Ethereum gas

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

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