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

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

Сначала показывать
  • Новые
  • Лучшие

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

Блог компании WavesДецентрализованные сетиИнформационная безопасностьКриптография

image


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

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

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

Блог компании WavesДецентрализованные сетиКриптовалюты
image

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

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

Блог компании WavesДецентрализованные сетиКриптографияКриптовалюты
Из песочницы
Есть проблема – сложно сгенерировать случайное число в децентрализованной сети. Чуть ли не все блокчейны уже с этим столкнулись. Ведь в сетях, где нет доверия между пользователями, создание неоспоримого случайного числа решает множество задач.

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


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

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

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

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

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

Блог компании WavesДецентрализованные сетиПрограммированиеРазвитие стартапа
Разработчик Кристоф Вердо рассказывает об онлайн-курсе ‘Mastering Web 3.0 with Waves’, который он недавно прошел.



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

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

Блог компании WavesJavaScriptTypeScript

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


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

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

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

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

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

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

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

Блог компании WavesДецентрализованные сетиПрограммированиеКриптовалюты
Tutorial
Здравствуйте! В статье я покажу, как написать и запустить на ноде 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
Просмотры3K
Комментарии 0

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

Блог компании WavesРазработка веб-сайтовJavaScriptTypeScript

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


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


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


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


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

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

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

Блог компании WavesДецентрализованные сетиJavaScriptРасширения для браузеровБраузеры
Tutorial


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


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

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


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


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

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

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

Блог компании WavesДецентрализованные сетиПрограммированиеРазработка игрКриптовалюты


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

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

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

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

Блог компании WavesДецентрализованные сетиКриптографияПрограммированиеКриптовалюты
image

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

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

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

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

Блог компании WavesДецентрализованные сетиКриптографияПрограммированиеКриптовалюты
image

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

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

Блог компании WavesДецентрализованные сетиКриптографияПрограммированиеКриптовалюты
image

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

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

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

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

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

Блог компании WavesДецентрализованные сетиКриптография


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


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

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

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

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

image

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

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

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

Блог компании WavesУправление e-commerceФинансы в ITКриптовалюты
В мае далекого 2010 года произошло легендарное для криптовалютного мира событие. Молодой биткоин-майнер Ласло Ханеш тогда вошел в историю как первый человек, оплативший покупку реальных товаров с помощью биткоинов (BTC).

image

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

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

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

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

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

image

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

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

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

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

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


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