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

Компания 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.7K
Формальные методы считаются эффективным, но неоправданно сложным способом обеспечения надежности программного обеспечения. Используемые при этом инструменты существенно отличаются от привычных программисту. Эта статья написана с целью снизить порог вхождения в этот инструментарий. Я применю систему 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.9K

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


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


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


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


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

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

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

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


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


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

Существует 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 мин
Количество просмотров5.1K
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.4K
В мае далекого 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
Изменить настройки темы