Author

Topic: Проект BLOQLY - Конструктор Блокчейн (Read 312 times)

member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Новости проекта:

Bloqly в качестве платформы для создания смарт контрактов примет участие во всеукраинском blockchain хакатоне

http://blockchainua-hackathon.com/

Также, подробности нового релиза:

https://github.com/bloqly/bloqly/releases/tag/v0.1.4

Изменения:

- Улучшение производительности, пакетное сохранение данных.

- Безопасная арифметика для JavaScript смарт контрактов - safeAdd, safeSubtract, safeMultiply.

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

- Реализован метод "set" для демонстрации использования  хранилища данных ключ/значение

План на соедующий релиз:

- Добавить verify(), hash() методы в API смарт контрактов

- Начать работу по реализации пакетной проверки Schnorr подписей

- Тесты, багфиксинг
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Обновления по проекту:

Выпущена новая версия 0.1.3

https://github.com/bloqly/bloqly/releases/tag/v0.1.3

Изменения:

- Улучшена обработка параллельных запросов
- Пофикшены баги, добавлено много тестов
- Подготовлена первая версия API для blockchain explorer https://github.com/bloqly/bloqly/wiki/API-documentation

Ближайшие планы:
- Написание Whitepaper
- Багфикс и работа над улучшением производительности
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Новая версия 0.1.2

https://github.com/bloqly/bloqly/releases/tag/v0.1.2

- Уменьшено время финализации блоков
- Переработан API


Ближайшие планы:
- Работа над тестовой сетью
- Старт работ над кошельком
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Как это часто бывает, за первой версией выходит версия с фиксами найденных пользователями багов Smiley

https://github.com/bloqly/bloqly/releases/tag/v0.1.1

Также обновлена документация, добавлена инструкция по установке и запуску тестовой сети

https://github.com/bloqly/bloqly
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Сегодня выпущен первый пре-релиз Bloqly: https://github.com/bloqly/bloqly/releases

Основная цель - тестирование собственно процесса релиза и создание базы для подготовки документации.
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Здравствуйте, если вы до сих пор нуждается в инвестировании, то напишите на этот e-mail: [email protected] , спасибо.

Здравствуйте, нуждаемся.

Telegram: @vsnezhkov, email: [email protected]
newbie
Activity: 6
Merit: 0
Здравствуйте, если вы до сих пор нуждается в инвестировании, то напишите на этот e-mail: [email protected] , спасибо.
newbie
Activity: 17
Merit: 0
Идея просто замечательная и очень нужная, но только если получится у Вас сделать конструктор для "не продвинутых" пользователей, программисты и сами код напишут..

Вот пример кода на JavaScript, реализующего часть простейшей логики криптовалюты. У меня конечно, возможно что профессиональная деформация программиста Smiley, но мне кажется что достаточно просто. А как вы думаете?
 
Code:

function contract(context, orig, dest, amount) {

    let origBalance = getProperty(orig, 'balance', zero);
    let destBalance = getProperty(dest, 'balance', zero);

    let newOrigBalance = origBalance.subtract(amount);
    let newDestBalance = destBalance.add(amount);

    return [
        { target: orig, balance: newOrigBalance },
        { target: dest, balance: newDestBalance },
    ];
}



У Вас как раз "возможно что профессиональная деформация программиста", мне не чего не понятно, и не будет понятно миллионам пользователей, зачем делать коммерческий проект понятный только ограниченному кругу людей с специальным образованием, которым данный проект и не нужен? 
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Quote from: kzv
Не подумайте, что я специально придираюсь только.

Придирайтесь пожалуйста если хотите, это очень круто! "Тяжело на BitcoinTalk, легко с инвесторами" как говорил Суворов)

Quote from: kzv
Просто для меня лично стек очень неудобный у вас: чтобы воспользоваться сервисом, нужно установить к себе прожорливую (хоть что вы говорите) JVM и не менее монстроуозную Postgres. Потом непонятно - как распространять получившийся форк для виндовс? Вместе с дистрибутивами JVM и Postgre? Сколько будет весить инсталятор и сколько в итоге форк с нулем блоков займет места на диске?

ЗЫ Сейчас глянул ради интереса: запакованные Postgres для винды весит 174 мегабайта (((


Конечно, всегда есть спорные вопросы. Но при старте проекта важным моментом является не только выбор технологии, но и экспертиза команды, верно?
И так исторически получилось что я, как инициатор проекта, имею эту самую экспертизу в Java. Но так как Java мягко говоря как язык немного надоела (особенно расстроила история с var и отсутствием val в последней версии), проект пишется на Kotlin.

Кроме того, в Kotlin с моей точки зрения достигнут идеальный баланс "фич" функциональных языков программирования и практичности, очень все удобно и логично получается.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Не подумайте, что я специально придираюсь только.
Просто для меня лично стек очень неудобный у вас: чтобы воспользоваться сервисом, нужно установить к себе прожорливую (хоть что вы говорите) JVM и не менее монстроуозную Postgres. Потом непонятно - как распространять получившийся форк для виндовс? Вместе с дистрибутивами JVM и Postgre? Сколько будет весить инсталятор и сколько в итоге форк с нулем блоков займет места на диске?

ЗЫ Сейчас глянул ради интереса: запакованные Postgres для винды весит 174 мегабайта (((
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Quote from: kzv
А зачем блокчейн приложению нужна масштабируемая база

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

Блокчейн приложение - это server-side приложение, правильно? А вопрос "зачем server-side приложению нужна масштабируемая база", как мне кажется, уже звучит немного иначе?

Quote from: kzv
однопоточному яваскрипту параллельные запросы

JavaScript используется только для создания смарт контрактов и скриптов с помощью которых настраивается поведение системы. Все ядро реализовано на многопоточной JVM.

Кроме того, если представить что ядро было бы написано на JavaScript (NodeJS), многопоточная база данных очень даже будет иметь преимущества, так как NodeJS однопоточен только с точки зрения главного процесса, запросы к сторонним ресурсам (здесь - база данных), могут выполняться конкурентно, подробнее можно почитать здесь  https://medium.com/the-node-js-collection/what-you-should-know-to-really-understand-the-node-js-event-loop-and-its-metrics-c4907b19da4c

Quote from: kzv
п2п архитектуре хостинг амазона?


Ну а почему бы и нет?

kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
зачем такая навороченная база данных? Что в ней будет храниться кроме блоков и контрактов?

Postgres не просто навороченная база, но еще и очень масштабируемая, с очень эффективной реализацией параллельных запросов и нативной поддержкой на таких площадках хостинга как Amazon, Google Cloud, Azure (минимальная стоимость  devops).

Еще, мне очень нравится Postgres )
А зачем блокчейн приложению нужна масштабируемая база, однопоточному яваскрипту параллельные запросы, п2п архитектуре хостинг амазона?
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
зачем такая навороченная база данных? Что в ней будет храниться кроме блоков и контрактов?

Postgres не просто навороченная база, но еще и очень масштабируемая, с очень эффективной реализацией параллельных запросов и нативной поддержкой на таких площадках хостинга как Amazon, Google Cloud, Azure (минимальная стоимость  devops).

Еще, мне очень нравится Postgres )
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
зачем такая навороченная база данных? Что в ней будет храниться кроме блоков и контрактов?
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Вы пишете, что это конструктор, а у Вас только один алгоритм консенсуса, PoA.

Где PoW, Pos, dPoS?

Отличный вопрос! Хоть это и конструктор, все же приходится выбирать какую-то специализацию - нельзя же с помощью радио-конструктора собрать работающую кофеварку, правда?

Bloqly не реализует PoW, только специфический PoA алгоритм, который по сути является миксом dPoS и pBFT.
Все же что касается логики работы и количества валидаторов, процентов за транзакции и самого содержимого транзакций - пожалуйста, можно реализовать с помощью конструктора.
jr. member
Activity: 76
Merit: 1
Вы пишете, что это конструктор, а у Вас только один алгоритм консенсуса, PoA.

Где PoW, Pos, dPoS?
newbie
Activity: 157
Merit: 0
Quote
Организации благотворительные, но я считаю что такой опыт был бы просто бесценен для проекта.
а подобных организациях блокчейн и нужен... живут за счет пожертвований, видеть траты и реальное положение дел важно в таких проектах. хорошее начинание!
jr. member
Activity: 224
Merit: 1
одновременно странная и интересная тема. я так понимаю это как конструктор для игр или что-то в этом роде?

Да для чего угодно! Хоть КриптоКиттис  новые писать на своем блокчейне, хоть что хотите. Блокчейн в каждый дом!
Согласитесь, звучит слишком претенциозно и сложно с точки зрения реализации. Думаю работы еще ого-го предстоит в реализации конструктора
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Первый интересный проект, который я встретил за месяц. Smiley

Спасибо, это приятно слышать.

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

Организации благотворительные, но я считаю что такой опыт был бы просто бесценен для проекта.
member
Activity: 106
Merit: 11
Первый интересный проект, который я встретил за месяц. Smiley
Поздравляю. Идея здравая. Применений может быть море.
Главное - осилить начальный этап. Пока инвесторы подтянутся.
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Вопрос с шифрованием пароля валидаторов решился следующим образом:

1. Зашифрованные пароли (AES шифрование) хранятся в базе данных
2. Ключи к шифрам хранятся в  отдельном конфигурационном файле в виде

Code:
# 10CA5388 - первые 8 символов аккаунта валидатора.
keys:
  passphrase_10CA5388: "validator1 password"

Следующий этап - сделать API для вызова методов смарт контрактов и скриптов (по сути - создания транзакций).
newbie
Activity: 157
Merit: 0
Quote
Статус проекта - активная разработка прототипа, можно сказать pre-alpha )

Всем привет, когда alpha в планах?  Smiley Когда наглядность?  Smiley

Привет! Первое "что-то" планируется недели через 2. Тоже кстати интересный вопрос - в каком виде? Можно как npm модуль, можно как просто бинарники для каждой платформы, можно в докере, можно просто git clone &&  ./make.sh. Вот  думаю, что с одной стороны лучше для разработчиков/пользователей а с другой реально успеть силами нашей пока не очень многочисленной команды...

а для большей мотивации параллельно платные допы какие-то продумать можно. ведь деньги получить за свой труд как ни крути нужно
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Quote
Статус проекта - активная разработка прототипа, можно сказать pre-alpha )

Всем привет, когда alpha в планах?  Smiley Когда наглядность?  Smiley

Привет! Первое "что-то" планируется недели через 2. Тоже кстати интересный вопрос - в каком виде? Можно как npm модуль, можно как просто бинарники для каждой платформы, можно в докере, можно просто git clone &&  ./make.sh. Вот  думаю, что с одной стороны лучше для разработчиков/пользователей а с другой реально успеть силами нашей пока не очень многочисленной команды...
newbie
Activity: 157
Merit: 0
Quote
Статус проекта - активная разработка прототипа, можно сказать pre-alpha )

Всем привет, когда alpha в планах?  Smiley Когда наглядность?  Smiley
Пока не профи тяжело хоть что-то понять. Но если это как WP, только для блокчейна, думаю интерес у многих появиться к экспериментам 
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Идея просто замечательная и очень нужная, но только если получится у Вас сделать конструктор для "не продвинутых" пользователей, программисты и сами код напишут..

Вот пример кода на JavaScript, реализующего часть простейшей логики криптовалюты. У меня конечно, возможно что профессиональная деформация программиста Smiley, но мне кажется что достаточно просто. А как вы думаете?
 
Code:

function contract(context, orig, dest, amount) {

    let origBalance = getProperty(orig, 'balance', zero);
    let destBalance = getProperty(dest, 'balance', zero);

    let newOrigBalance = origBalance.subtract(amount);
    let newDestBalance = destBalance.add(amount);

    return [
        { target: orig, balance: newOrigBalance },
        { target: dest, balance: newDestBalance },
    ];
}


одновременно странная и интересная тема. я так понимаю это как конструктор для игр или что-то в этом роде?

Да для чего угодно! Хоть КриптоКиттис  новые писать на своем блокчейне, хоть что хотите. Блокчейн в каждый дом!
newbie
Activity: 17
Merit: 0
Идея просто замечательная и очень нужная, но только если получится у Вас сделать конструктор для "не продвинутых" пользователей, программисты и сами код напишут..
jr. member
Activity: 224
Merit: 1
одновременно странная и интересная тема. я так понимаю это как конструктор для игр или что-то в этом роде?
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Quote
Чета когда я adduser в линуксе делаю и ввожу пароль, то ни в какой истории пароль не сохраняется...

Согласен, можно запрашивать пароль из консоли при старте и не отображать символы. С этим подходом две сложности:
1. Это не очень практично, требует вмешательства человека при каждом рестарте.
2. На одной ноде могут быть несколько аккаунтов валидаторов для разных подсетей, несколько паролей.

Quote
Идея хорошая...
Спасибо

Quote
...  если бы не ява (
Эта ваша ява слишком требовательна к памяти на хостинге, так что я бы предложил в топку ее и писать на сях как обычно.

Си и Си++ очень уважаю, но - Java сейчас совсем не та что была в то время когда родилось мнение о её сверх-требовательности к памяти (~1.5 версия), тогда да, все было очень печально.

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

Другими словами, Java уже не та - в хорошем смысле.

kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Из текущих задач: решаем вопрос как секретные ключи валидаторов (аккаунтов, принимающих решение о консенсусе)

Варианты:

1. В базе данных, в открытом виде. Не принимается по очевидным причинам.
2. Передавать параметром скрипта или в переменных окружения при старте программы.
3. В базе данных в зашифрованном виде и пароль передавать как в 2.
4. С помощью "хардварного" ключа типа  Tezor (в конечном итоге идем к этому, но потом)

В итоге больше всего баллов получает  п.3, но все равно пока счастья нет - переменные окружения не очень безопасны, файл на диске тоже.
Возможно, стоит реализовать что то типа команды консоли  "unlock account".

Но получается, что пароль придется вводить каждый раз пре рестарте, значит он будет оставаться в в истории консоли...

Интересно, пока окончательного ответа нет...

Чета когда я adduser в линуксе делаю и ввожу пароль, то ни в какой истории пароль не сохраняется...

Идея хорошая если бы не ява (
Эта ваша ява слишком требовательна к памяти на хостинге, так что я бы предложил в топку ее и писать на сях как обычно.
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯
Из текущих задач: решаем вопрос как секретные ключи валидаторов (аккаунтов, принимающих решение о консенсусе)

Варианты:

1. В базе данных, в открытом виде. Не принимается по очевидным причинам.
2. Передавать параметром скрипта или в переменных окружения при старте программы.
3. В базе данных в зашифрованном виде и пароль передавать как в 2.
4. С помощью "хардварного" ключа (в конечном итоге идем к этому, но потом)

В итоге больше всего баллов получает  п.3, но все равно пока счастья нет - переменные окружения не очень безопасны, файл на диске тоже.
Возможно, стоит реализовать что то типа команды консоли  "unlock account".

Но получается, что пароль придется вводить каждый раз пре рестарте, значит он будет оставаться в в истории консоли...

Интересно, пока окончательного ответа нет...
member
Activity: 182
Merit: 17
¯\_(ツ)_/¯


БЛОКЧЕЙН-КОНСТРУКТОР или WORDPRESS для БЛОКЧЕЙН




Всем привет. Мы создаем новую блокчейн платформу, было бы  очень здорово получить отзывы от коммюнити Bitcointalk  Cool
BLOQLY помогает разработчикам строить свой блокчейн с нуля с помощью готовых блоков кода.
Все особенности, трудные в реализации - алгоритм консенсуса, безопасность, работа с базой данных и другие  - предоставляются Bloqly "из коробки".

Создателю нового проекта остается только настроить основные параметры и/или дописать недостающие функции на JavaScript.

 Отличительной особенностью Bloqly является то, что система "заточена" для создания платформ для безопасного обмена данными и может быть использована для:


✅Написания своей криптовалюты
✅Написания системы обмена секретными данными в компании
✅Создания мессенджера на блокчейн
✅Разработки системы для нотариата документов на блокчейн


Характеристики системы

Язык программирования: Kotlin (JVM)

База данных: Postgres

Алгоритм консенсуса: Proof of Authority  (Aura) + некоторые улучшения, здесь можно почитать подробнее https://github.com/bloqly/bloqly/wiki/Bloqly-Consensus-Algorithm

Язык написания смарт котрактов и "скриптования" блочейн: - JavaScript, подробнее о том как это реализовано https://github.com/bloqly/bloqly/wiki/PureAttributes

Алгоритмы шифрования: реализован алгоритм Schnorr, согласно новому предложению по улучшению криптографической подписи в Bitcoin, подробнее здесь https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki

Работающие примеры кода простейшего смарт контракта: https://github.com/bloqly/bloqly

Статус проекта - активная разработка прототипа, можно сказать pre-alpha )

В качестве демонстрации возможностей мы разработаем и запустим на нашей платформе простую криптовалюту.

Код: https://github.com/bloqly/bloqly
Группа Телеграм (RU)
Группа Телеграм (EN)

Тех. вопросы: Telegram: @vsnezhkov, Email: [email protected]

Также этот топик будет обновляться последними новостями о ходе разработки.

Будем благодарны за любые отзывы, замечания, мнения Smiley





Jump to: