Bitcoin Forum
August 31, 2024, 09:58:25 PM *
News: Latest Bitcoin Core release: 27.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Проект BLOQLY - Конструктор Блокчейн  (Read 314 times)
Slava79 (OP)
Member
**
Offline Offline

Activity: 182
Merit: 17

¯\_(ツ)_/¯


View Profile
July 20, 2018, 11:58:19 AM
Last edit: August 08, 2018, 07:49:55 AM by Slava79
 #1



БЛОКЧЕЙН-КОНСТРУКТОР или 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: slavasn@pm.me

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

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






Building a JavaScript Smart Contracts Engine
Github | Site | Chat
Slava79 (OP)
Member
**
Offline Offline

Activity: 182
Merit: 17

¯\_(ツ)_/¯


View Profile
July 21, 2018, 10:13:37 AM
Last edit: July 21, 2018, 11:32:23 PM by Slava79
 #2

Из текущих задач: решаем вопрос как секретные ключи валидаторов (аккаунтов, принимающих решение о консенсусе)

Варианты:

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

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

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

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

Building a JavaScript Smart Contracts Engine
Github | Site | Chat
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
July 21, 2018, 10:47:10 AM
 #3

Из текущих задач: решаем вопрос как секретные ключи валидаторов (аккаунтов, принимающих решение о консенсусе)

Варианты:

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

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

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

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

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

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

OpenTrade - Open Source Cryptocurrency Exchange
Slava79 (OP)
Member
**
Offline Offline

Activity: 182
Merit: 17

¯\_(ツ)_/¯


View Profile
July 21, 2018, 11:37:45 AM
Last edit: July 21, 2018, 11:44:14 PM by Slava79
 #4

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

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

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

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

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

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

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


Building a JavaScript Smart Contracts Engine
Github | Site | Chat
Tretyakovsky
Jr. Member
*
Offline Offline

Activity: 224
Merit: 1


View Profile WWW
July 21, 2018, 11:59:51 PM
 #5

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

Activity: 17
Merit: 0


View Profile WWW
July 22, 2018, 04:40:22 AM
 #6

Идея просто замечательная и очень нужная, но только если получится у Вас сделать конструктор для "не продвинутых" пользователей, программисты и сами код напишут..
Slava79 (OP)
Member
**
Offline Offline

Activity: 182
Merit: 17

¯\_(ツ)_/¯


View Profile
July 22, 2018, 06:34:30 AM
Last edit: November 28, 2021, 05:10:14 PM by xandry
 #7

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

Вот пример кода на 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 },
    ];
}


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

Да для чего угодно! Хоть КриптоКиттис  новые писать на своем блокчейне, хоть что хотите. Блокчейн в каждый дом!

Building a JavaScript Smart Contracts Engine
Github | Site | Chat
Nikita K
Newbie
*
Offline Offline

Activity: 157
Merit: 0


View Profile
July 22, 2018, 08:20:40 AM
 #8

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

Всем привет, когда alpha в планах?  Smiley Когда наглядность?  Smiley
Пока не профи тяжело хоть что-то понять. Но если это как WP, только для блокчейна, думаю интерес у многих появиться к экспериментам 
Slava79 (OP)
Member
**
Offline Offline

Activity: 182
Merit: 17

¯\_(ツ)_/¯


View Profile
July 22, 2018, 08:36:11 AM
 #9

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

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

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

Building a JavaScript Smart Contracts Engine
Github | Site | Chat
Nikita K
Newbie
*
Offline Offline

Activity: 157
Merit: 0


View Profile
July 22, 2018, 10:32:19 AM
 #10

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

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

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

а для большей мотивации параллельно платные допы какие-то продумать можно. ведь деньги получить за свой труд как ни крути нужно
Slava79 (OP)
Member
**
Offline Offline

Activity: 182
Merit: 17

¯\_(ツ)_/¯


View Profile
July 23, 2018, 11:55:14 AM
 #11

Вопрос с шифрованием пароля валидаторов решился следующим образом:

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

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

Следующий этап - сделать API для вызова методов смарт контрактов и скриптов (по сути - создания транзакций).

Building a JavaScript Smart Contracts Engine
Github | Site | Chat
alex_sysadm
Member
**
Offline Offline

Activity: 106
Merit: 11


View Profile
July 23, 2018, 12:26:19 PM
 #12

Первый интересный проект, который я встретил за месяц. Smiley
Поздравляю. Идея здравая. Применений может быть море.
Главное - осилить начальный этап. Пока инвесторы подтянутся.
Slava79 (OP)
Member
**
Offline Offline

Activity: 182
Merit: 17

¯\_(ツ)_/¯


View Profile
July 23, 2018, 02:52:26 PM
Last edit: July 23, 2018, 06:39:26 PM by Slava79
 #13

Первый интересный проект, который я встретил за месяц. Smiley

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

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

Организации благотворительные, но я считаю что такой опыт был бы просто бесценен для проекта.

Building a JavaScript Smart Contracts Engine
Github | Site | Chat
Tretyakovsky
Jr. Member
*
Offline Offline

Activity: 224
Merit: 1


View Profile WWW
July 23, 2018, 11:59:46 PM
 #14

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

Да для чего угодно! Хоть КриптоКиттис  новые писать на своем блокчейне, хоть что хотите. Блокчейн в каждый дом!
Согласитесь, звучит слишком претенциозно и сложно с точки зрения реализации. Думаю работы еще ого-го предстоит в реализации конструктора
Nikita K
Newbie
*
Offline Offline

Activity: 157
Merit: 0


View Profile
July 24, 2018, 07:17:14 AM
 #15

Quote
Организации благотворительные, но я считаю что такой опыт был бы просто бесценен для проекта.
а подобных организациях блокчейн и нужен... живут за счет пожертвований, видеть траты и реальное положение дел важно в таких проектах. хорошее начинание!
Blockchain.Artificial
Jr. Member
*
Offline Offline

Activity: 76
Merit: 1


View Profile
July 24, 2018, 02:53:02 PM
 #16

Вы пишете, что это конструктор, а у Вас только один алгоритм консенсуса, PoA.

Где PoW, Pos, dPoS?
Slava79 (OP)
Member
**
Offline Offline

Activity: 182
Merit: 17

¯\_(ツ)_/¯


View Profile
July 24, 2018, 03:00:52 PM
 #17

Вы пишете, что это конструктор, а у Вас только один алгоритм консенсуса, PoA.

Где PoW, Pos, dPoS?

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

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

Building a JavaScript Smart Contracts Engine
Github | Site | Chat
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
July 24, 2018, 06:31:25 PM
 #18

зачем такая навороченная база данных? Что в ней будет храниться кроме блоков и контрактов?

OpenTrade - Open Source Cryptocurrency Exchange
Slava79 (OP)
Member
**
Offline Offline

Activity: 182
Merit: 17

¯\_(ツ)_/¯


View Profile
July 25, 2018, 05:23:10 AM
 #19

зачем такая навороченная база данных? Что в ней будет храниться кроме блоков и контрактов?

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

Еще, мне очень нравится Postgres )

Building a JavaScript Smart Contracts Engine
Github | Site | Chat
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
July 25, 2018, 07:48:57 AM
 #20

зачем такая навороченная база данных? Что в ней будет храниться кроме блоков и контрактов?

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

Еще, мне очень нравится Postgres )
А зачем блокчейн приложению нужна масштабируемая база, однопоточному яваскрипту параллельные запросы, п2п архитектуре хостинг амазона?

OpenTrade - Open Source Cryptocurrency Exchange
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!