Как стать автором
Обновить

Компания Waves временно не ведёт блог на Хабре

Сначала показывать

Как работает прототип анонимных транзакций на блокчейне Waves

Время на прочтение 5 мин
Количество просмотров 2.1K

image


Мы внедрили прототип анонимных транзакций на базе zkSNARK, чтобы обеспечить конфиденциальные транзакции в блокчейне Waves. В своей реализации мы используем доказательную систему Groth16 на кривой BN254 и DSL circom.
Объясняем, как это работает.

Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 0

Оракулы приходят на помощь

Время на прочтение 4 мин
Количество просмотров 2.3K
image

Блокчейн-оракулы решают проблему доставки в блокчейн информации из внешнего мира. Но нам важно знать, каким из них мы можем доверять.
Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 2
Здесь не будет дворецкого, которого можно во всём обвинить. Но будет загадка, тайна, исчезновение лучшего друга в декорациях высоких технологий. Это настоящий осенне-депрессивный квест. Интересно проверить свою дедукцию?
Добро пожаловать под кат
Всего голосов 69: ↑48 и ↓21 +27
Комментарии 16

RSA-рандом на блокчейне

Время на прочтение 5 мин
Количество просмотров 3.5K
Есть проблема – сложно сгенерировать случайное число в децентрализованной сети. Чуть ли не все блокчейны уже с этим столкнулись. Ведь в сетях, где нет доверия между пользователями, создание неоспоримого случайного числа решает множество задач.

В статье рассказываем, как удалось решить проблему на примере игр. Первой из них стала Waves Xmas Tree. Для разработки нам понадобился генератор случайных чисел.


Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 15

Ловим кота с TLA+

Время на прочтение 4 мин
Количество просмотров 7.6K
Формальные методы считаются эффективным, но неоправданно сложным способом обеспечения надежности программного обеспечения. Используемые при этом инструменты существенно отличаются от привычных программисту. Эта статья написана с целью снизить порог вхождения в этот инструментарий. Я применю систему model checking не для решения сложно формулируемых задач спецификации ПО, а для решения понятной даже школьникам головоломки.

Вы находитесь в прямом коридоре с семью комнатами по одну сторону. В одной из них находится кот. За один шаг можно заглянуть в одну из комнат, если там есть кот, он пойман. Как только дверь закроется, кот перейдет в одну из соседних комнат к той, в которой находился. Задача — поймать кота.
Читать дальше →
Всего голосов 24: ↑22 и ↓2 +20
Комментарии 5

Оседлай волну Web 3.0

Время на прочтение 6 мин
Количество просмотров 4.4K
Разработчик Кристоф Вердо рассказывает об онлайн-курсе ‘Mastering Web 3.0 with Waves’, который он недавно прошел.



Расскажите немного о себе. Чем вас заинтересовал этот курс?
Читать дальше →
Всего голосов 35: ↑16 и ↓19 -3
Комментарии 3

Работа с Worker “как хочется“, а не “как можно”

Время на прочтение 6 мин
Количество просмотров 6.3K

В этой статье будет использоваться ГРЯЗНЫЙ, небезопасный, "костыльный", страшный и т. д. метод eval. Слабонервным не читать!


Сразу скажу, что некоторые проблемы удобства использования решить не удалось: в коде, который будет передан в worker, нельзя использовать замыкание.
Работа с Worker "как хочется", а не "как можно"

Читать дальше →
Всего голосов 25: ↑22 и ↓3 +19
Комментарии 15

Обзор грантовых программ для блокчейн-разработчиков

Время на прочтение 8 мин
Количество просмотров 3.3K
Грантовые программы для блокчейн-разработчиков — довольно распространенная практика. Суть их в общем случае сводится к одному — денежное поощрение активных членов сообщества за участие в развитии экосистемы проекта (в данном случае речь в первую очередь идет о блокчейн-платформах для создания децентрализованных онлайн-сервисов, таких как Waves или Ethereum).

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

Принцип работы грантовых программ на разных платформах не имеет существенных отличий. Блокчейн-компания определяет наиболее приоритетные для себя направления и выделяет бюджет на выплату грантов, как правило, в собственной криптовалюте.
Читать дальше →
Всего голосов 18: ↑12 и ↓6 +6
Комментарии 6

Как строить, развертывать и тестировать Waves RIDE dApp

Время на прочтение 6 мин
Количество просмотров 4K
Здравствуйте! В статье я покажу, как написать и запустить на ноде Waves обычный dApp. Рассмотрим необходимые инструменты, методы и пример разработки.



Схема разработки dApps и обычных приложений почти не отличается:

  • Пишем код
  • Пишем автоматизированное тестирование
  • Запускаем приложение
  • Тестируем

Инструменты


1. docker для запуска ноды и Waves Explorer

Если не хотите запускать ноду, можете пропустить этот шаг. Ведь есть тестовая и экспериментальная сеть. Но без развертывания своей ноды процесс тестирования может затянуться.

  • Вам постоянно будут нужны новые аккаунты с тестовыми токенами. Кран тестовой сети переводит по 10 WAVES каждые 10 минут.
  • Среднее время блоков в тестовой сети – 1 минута, в ноде – 15 секунд. Это особенно ощутимо, когда транзакция требует нескольких подтверждений.
  • В общедоступных тестовых нодах возможно агрессивное кэширование.
  • Еще они могут быть временно недоступны из-за технического обслуживания.

Далее буду считать, что вы работаете со своей нодой.

2. Инструмент командной строки Surfboard

  • Скачайте и установите Node.js с помощью ppa, homebrew или exe здесь: https://nodejs.org/en/download/.
  • Установите Surfboard – инструмент, который позволит запустить тесты на существующей ноде.

npm install -g @waves/surfboard

3. Плагин Visual Studio Code

Шаг необязателен, если вы – не фанат IDE и предпочитаете текстовые редакторы. Все необходимые инструменты – это утилиты командной строки. Если используете vim, обратите внимание на плагин vim-ride.
Читать дальше →
Всего голосов 24: ↑21 и ↓3 +18
Комментарии 0

Протокол для общения между iframe и основным окном браузера

Время на прочтение 4 мин
Количество просмотров 7.8K

Многим разработчикам периодически требуется наладить общение между несколькими вкладками браузера: возможность посылать сообщения из одной в другую и получать ответ. Такая задача встала и перед нами.


Существуют стандартные решения вроде BroadcastChannel, однако поддержка в браузерах сейчас оставляет желать лучшего, поэтому мы решили реализовать свою библиотеку. Когда библиотека была готова, выяснилось, что такая функциональность уже не нужна, зато появилась другая задача: нужно было общаться между iframe и основным окном.


При ближайшем рассмотрении выяснилось, что две трети библиотеки при этом можно не менять, необходимо только немного порефакторить код. Библиотека представляет из себя скорей ПРОТОКОЛ общения, который может работать с текстовыми данными. Его можно применять во всех случаях, если есть возможность передавать текст (iframe, window.open, worker, вкладки браузера, WebSocket).


Как это работает


На данный момент в протоколе есть две функциональности: отправка сообщения и подписка на события. Любое сообщение в протоколе — это объект с данными. Главное поле этого объекта — поле type, которое говорит нам, что это за сообщение. Поле type — это enum со значениями:

Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 8

Пишем безопасное браузерное расширение

Время на прочтение 25 мин
Количество просмотров 16K


В отличие от распространенной "клиент-серверной" архитектуры, для децентрализованных приложений характерно:


  • Отсутствие необходимости хранить базу данных с логинами и паролями пользователя. Информация для доступа хранится исключительно у самих пользователей, а подтверждение их достоверности происходит на уровне протокола.
  • Отсутствие необходимости использовать сервер. Логика приложения может выполняться в блокчейн-сети, где возможно и хранение необходимого количества данных.

Существует 2 относительно безопасных хранилища для ключей пользователей — хардверные кошельки и браузерные расширения. Хардверные кошельки в большинстве своем максимально безопасны, однако сложны в использовании и далеко не бесплатны, а вот браузерные расширения являются идеальным сочетанием безопасности и простоты в использовании, а еще могут быть совершенно бесплатны для конечных пользователей.


Учитывая все это, мы захотели сделать максимально безопасное расширение, которое упрощает разработку децентрализованных приложений, предоставляя простой API для работы с транзакциями и подписями.
Об этом опыте мы вам и расскажем ниже.


В статье будет пошаговая инструкция как написать браузерное расширение, с примерами кода и скриншотами. Весь код вы можете найти в репозитории. Каждый коммит логически соответствует разделу данной статьи.

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 2

«Игры на деньги вне блокчейна должны умереть»

Время на прочтение 4 мин
Количество просмотров 4.4K


Дмитрий Пичулин, известный под ником «deemru», стал победителем игры Fhloston Paradise, разработанной Tradisys на блокчейне Waves.

Чтобы победить в игре, игрок должен был сделать самую последнюю ставку во время периода из 60 блоков — до того, как ставку сделает другой игрок, обнулив тем самым счетчик. Победителю доставались все деньги, поставленные другими игроками.

Победу Дмитрию принес созданный им бот Patrollo. Дмитрий сделал всего восемь ставок по одному WAVES и в итоге выиграл 4700 WAVES (836300 руб.). В интервью Дмитрий рассказал о своем боте и перспективах игр на блокчейне.
Читать дальше →
Всего голосов 40: ↑22 и ↓18 +4
Комментарии 7

Смарт-ассеты Waves: «черные» и «белые» списки, интервальный трейдинг

Время на прочтение 4 мин
Количество просмотров 2.9K
image

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

Сейчас мы рассмотрим смарт-ассеты и несколько кейсов их применения, включая замораживание активов и создание ограничений на транзакции по заданным адресам.

Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 0

Применение смарт-аккаунтов и смарт-ассетов Waves в финансовых инструментах

Время на прочтение 10 мин
Количество просмотров 2.9K
image

В предыдущей статье мы рассмотрели несколько кейсов применения смарт-аккаунтов в бизнесе – включая аукционы и программы лояльности.
Сегодня мы поговорим о том, как смарт-аккаунты и смарт-ассеты могут повысить прозрачность и надежность таких финансовых инструментов, как опционы, фьючерсы и векселя.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 3

Применение смарт-аккаунтов Waves: от аукционов до бонусных программ

Время на прочтение 12 мин
Количество просмотров 5K
image

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

RIDE – язык для смарт-контрактов

Waves разработала специальный язык для смарт-контрактов – RIDE. Его полная документация находится здесь. А вот – статья на эту тему на Хабре.

Контракт на RIDE является предикатом и возвращает на выходе «true» или «false». Соответственно, транзакция либо записывается в блокчейн, либо отвергается. Смарт-контракт полностью гарантирует исполнение заданных условий. Генерация транзакций из контракта в RIDE на данный момент невозможна.
Читать дальше →
Всего голосов 20: ↑17 и ↓3 +14
Комментарии 13

Осторожно — ГАЗ! или Как мы делали негазированные смарт-контракты

Время на прочтение 12 мин
Количество просмотров 5.3K


Блокчейн и смарт-контракты все еще остаются горячей темой среди разработчиков и технических специалистов. Существует много исследований и рассуждений об их будущем и о том, куда это все движется и куда приведет. У нас в Waves Platform свой взгляд на то, какими должны быть смарт-контракты, и в этой статье я расскажу, как мы их делали, с какими проблемами сталкивались и почему они не похожи на смарт-контракты других блокчейн-проектов (в первую очередь Ethereum).


Эта статья также является руководством для тех, кто хочет разобраться в том, как работают смарт-контракты в сети Waves, попробовать написать свой контракт и ознакомиться с инструментами, которые уже есть в распоряжении разработчиков.

Читать дальше →
Всего голосов 28: ↑22 и ↓6 +16
Комментарии 2

Механизмы достижения консенсуса в блокчейне

Время на прочтение 5 мин
Количество просмотров 13K
Криптовалюты используют распределенные регистры или блокчейны для записи информации — в первую очередь, о балансе каждого адреса на платформах передачи ценности (например, Биткоина и большинства криптовалют), хотя такой подход может применяться к любой информации.

image

Ключевое условие — сеть должна коллективно согласовывать содержимое регистра: он распределен между всеми участниками цепочки вместо того, чтобы передать централизованное ведение счетов одному субъекту — например, банку.

Для этого сети требуется поддерживать консенсус вокруг информации, записанной в блокчейне. Способ достижения этого консенсуса влияет на безопасность и экономические параметры протокола. Вот пять примеров его достижения.
Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 7

Итальянская пиццерия горячо поддержала криптовалюту

Время на прочтение 4 мин
Количество просмотров 7.3K
В мае далекого 2010 года произошло легендарное для криптовалютного мира событие. Молодой биткоин-майнер Ласло Ханеш тогда вошел в историю как первый человек, оплативший покупку реальных товаров с помощью биткоинов (BTC).

image

Ласло был одним из первопроходцев GPU-майнинга, что позволило ему скопить большой запас криптовалюты. Он заплатил Джереми Стурдиванту 10 тыс. BTC за покупку двух пицц с доставкой на дом. В то время столь внушительное количество коинов было эквивалентно всего лишь нескольким долларам, однако сегодня на открытом рынке за него можно получить целое состояние — 20 млн долларов.

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

Сегодня, когда на дворе 2017 год, появилась новость, что итальянский ресторан и пиццерия под названием Gusto DiVino объявил о начале приема токенов нашей блокчейн-платформы Waves в качестве предпочтительной валюты для оплаты заказов. Местечко расположено в Санта-Понса, на Майорке — величественном острове цепи испанских Балеарских островов в Средиземном море. Ее владелец — Марко Аволедо, также известный как @deepred86. Марко — активный член Telegram-сообщества Waves, вносящий свой вклад в глобальное распространение криптовалюты.
Читать дальше →
Всего голосов 18: ↑12 и ↓6 +6
Комментарии 9

Блокчейн на ПМЭФ

Время на прочтение 2 мин
Количество просмотров 6.3K
1-3 июня в Санкт-Петербурге проходит международный экономический форум ПМЭФ-2017 — площадка для общения представителей деловых кругов и обсуждения ключевых экономических вопросов.

image

Сегодня в рамках ПМЭФ прошла панельная сессия «Блокчейн — рождение новой экономики», участие в которой принял Александр Иванов, гендиректор и основатель нашей блокчейн-платформы Waves Platform. В дискуссии также участвовали министр связи и массовых коммуникаций РФ Николай Никифоров, заместитель председателя ЦБ РФ Ольга Скоробогатова, первый заместитель Председателя Правительства РФ Игорь Шувалов, Основатель Ethereum Виталик Бутерин, Основатель, главный исполнительный директор The BitFury Group Валерий Вавилов и другие ключевые фигуры банковского и государственного секторов.
Всего голосов 19: ↑16 и ↓3 +13
Комментарии 5

Централизованные криптовалюты

Время на прочтение 5 мин
Количество просмотров 17K
imageНа написание этой статьи меня вдохновили недавнее ​​посещение конференции «Технологии Блокчейна» и обсуждение идей по улучшению блокчейна с коллегами. Большинство докладчиков конференции были из крупных российских банков, и их выступления касались области применения блокчейна в основном в качестве баз данных или платформ смарт-контрактов. Однако большинство из них с трудом могли ответить на вопрос: «Зачем им вообще нужен блокчейн?». Ответ недавно был дан консорциумом R3 CEV: «У нас нет блокчейна, потому что он нам не нужен». Блокчейн не нужен банкам, он нужен вместо банков. Он нужен только для децентрализованных систем, в то время, как приложения с доверенной стороной всегда будут более эффективными, простыми и т.д.

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

Централизация управления и развития


Приятно думать, что никто не контролирует блокчейн, т.е. участники сети (майнеры) действуют как децентрализованное сообщество, которое обслуживает блокчейн и выбирает направление его дальнейшего развития. На самом деле, все гораздо хуже.
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 47