Slava79 (OP)
Member
Offline
Activity: 182
Merit: 17
¯\_(ツ)_/¯
|
|
July 20, 2018, 11:58:19 AM Last edit: August 08, 2018, 07:49:55 AM by Slava79 |
|
БЛОКЧЕЙН-КОНСТРУКТОР или WORDPRESS для БЛОКЧЕЙН
Всем привет. Мы создаем новую блокчейн платформу, было бы очень здорово получить отзывы от коммюнити Bitcointalk 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
Также этот топик будет обновляться последними новостями о ходе разработки.
Будем благодарны за любые отзывы, замечания, мнения
|
|
|
|
Slava79 (OP)
Member
Offline
Activity: 182
Merit: 17
¯\_(ツ)_/¯
|
|
July 21, 2018, 10:13:37 AM Last edit: July 21, 2018, 11:32:23 PM by Slava79 |
|
Из текущих задач: решаем вопрос как секретные ключи валидаторов (аккаунтов, принимающих решение о консенсусе)
Варианты:
1. В базе данных, в открытом виде. Не принимается по очевидным причинам. 2. Передавать параметром скрипта или в переменных окружения при старте программы. 3. В базе данных в зашифрованном виде и пароль передавать как в 2. 4. С помощью "хардварного" ключа (в конечном итоге идем к этому, но потом)
В итоге больше всего баллов получает п.3, но все равно пока счастья нет - переменные окружения не очень безопасны, файл на диске тоже. Возможно, стоит реализовать что то типа команды консоли "unlock account".
Но получается, что пароль придется вводить каждый раз пре рестарте, значит он будет оставаться в в истории консоли...
Интересно, пока окончательного ответа нет...
|
|
|
|
kzv
Legendary
Offline
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
|
|
July 21, 2018, 10:47:10 AM |
|
Из текущих задач: решаем вопрос как секретные ключи валидаторов (аккаунтов, принимающих решение о консенсусе)
Варианты:
1. В базе данных, в открытом виде. Не принимается по очевидным причинам. 2. Передавать параметром скрипта или в переменных окружения при старте программы. 3. В базе данных в зашифрованном виде и пароль передавать как в 2. 4. С помощью "хардварного" ключа типа Tezor (в конечном итоге идем к этому, но потом)
В итоге больше всего баллов получает п.3, но все равно пока счастья нет - переменные окружения не очень безопасны, файл на диске тоже. Возможно, стоит реализовать что то типа команды консоли "unlock account".
Но получается, что пароль придется вводить каждый раз пре рестарте, значит он будет оставаться в в истории консоли...
Интересно, пока окончательного ответа нет...
Чета когда я adduser в линуксе делаю и ввожу пароль, то ни в какой истории пароль не сохраняется... Идея хорошая если бы не ява ( Эта ваша ява слишком требовательна к памяти на хостинге, так что я бы предложил в топку ее и писать на сях как обычно.
|
|
|
|
Slava79 (OP)
Member
Offline
Activity: 182
Merit: 17
¯\_(ツ)_/¯
|
|
July 21, 2018, 11:37:45 AM Last edit: July 21, 2018, 11:44:14 PM by Slava79 |
|
Чета когда я adduser в линуксе делаю и ввожу пароль, то ни в какой истории пароль не сохраняется...
Согласен, можно запрашивать пароль из консоли при старте и не отображать символы. С этим подходом две сложности: 1. Это не очень практично, требует вмешательства человека при каждом рестарте. 2. На одной ноде могут быть несколько аккаунтов валидаторов для разных подсетей, несколько паролей. Идея хорошая...
Спасибо ... если бы не ява ( Эта ваша ява слишком требовательна к памяти на хостинге, так что я бы предложил в топку ее и писать на сях как обычно.
Си и Си++ очень уважаю, но - Java сейчас совсем не та что была в то время когда родилось мнение о её сверх-требовательности к памяти (~1.5 версия), тогда да, все было очень печально. Сейчас доступны очень многие оптимизации начиная с урезанного дистрибутива и до нативной пре-компиляции кода, контроль памяти и сборка мусора тоже на совершенно другом уровне. Другими словами, Java уже не та - в хорошем смысле.
|
|
|
|
Tretyakovsky
Jr. Member
Offline
Activity: 224
Merit: 1
|
|
July 21, 2018, 11:59:51 PM |
|
одновременно странная и интересная тема. я так понимаю это как конструктор для игр или что-то в этом роде?
|
|
|
|
Maksim24
Newbie
Offline
Activity: 17
Merit: 0
|
|
July 22, 2018, 04:40:22 AM |
|
Идея просто замечательная и очень нужная, но только если получится у Вас сделать конструктор для "не продвинутых" пользователей, программисты и сами код напишут..
|
|
|
|
Slava79 (OP)
Member
Offline
Activity: 182
Merit: 17
¯\_(ツ)_/¯
|
|
July 22, 2018, 06:34:30 AM Last edit: November 28, 2021, 05:10:14 PM by xandry |
|
Идея просто замечательная и очень нужная, но только если получится у Вас сделать конструктор для "не продвинутых" пользователей, программисты и сами код напишут..
Вот пример кода на JavaScript, реализующего часть простейшей логики криптовалюты. У меня конечно, возможно что профессиональная деформация программиста , но мне кажется что достаточно просто. А как вы думаете? 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 }, ]; }
одновременно странная и интересная тема. я так понимаю это как конструктор для игр или что-то в этом роде?
Да для чего угодно! Хоть КриптоКиттис новые писать на своем блокчейне, хоть что хотите. Блокчейн в каждый дом!
|
|
|
|
Nikita K
Newbie
Offline
Activity: 157
Merit: 0
|
|
July 22, 2018, 08:20:40 AM |
|
Статус проекта - активная разработка прототипа, можно сказать pre-alpha ) Всем привет, когда alpha в планах? Когда наглядность? Пока не профи тяжело хоть что-то понять. Но если это как WP, только для блокчейна, думаю интерес у многих появиться к экспериментам
|
|
|
|
Slava79 (OP)
Member
Offline
Activity: 182
Merit: 17
¯\_(ツ)_/¯
|
|
July 22, 2018, 08:36:11 AM |
|
Статус проекта - активная разработка прототипа, можно сказать pre-alpha ) Всем привет, когда alpha в планах? Когда наглядность? Привет! Первое "что-то" планируется недели через 2. Тоже кстати интересный вопрос - в каком виде? Можно как npm модуль, можно как просто бинарники для каждой платформы, можно в докере, можно просто git clone && ./make.sh. Вот думаю, что с одной стороны лучше для разработчиков/пользователей а с другой реально успеть силами нашей пока не очень многочисленной команды...
|
|
|
|
Nikita K
Newbie
Offline
Activity: 157
Merit: 0
|
|
July 22, 2018, 10:32:19 AM |
|
Статус проекта - активная разработка прототипа, можно сказать pre-alpha ) Всем привет, когда alpha в планах? Когда наглядность? Привет! Первое "что-то" планируется недели через 2. Тоже кстати интересный вопрос - в каком виде? Можно как npm модуль, можно как просто бинарники для каждой платформы, можно в докере, можно просто git clone && ./make.sh. Вот думаю, что с одной стороны лучше для разработчиков/пользователей а с другой реально успеть силами нашей пока не очень многочисленной команды... а для большей мотивации параллельно платные допы какие-то продумать можно. ведь деньги получить за свой труд как ни крути нужно
|
|
|
|
Slava79 (OP)
Member
Offline
Activity: 182
Merit: 17
¯\_(ツ)_/¯
|
|
July 23, 2018, 11:55:14 AM |
|
Вопрос с шифрованием пароля валидаторов решился следующим образом: 1. Зашифрованные пароли (AES шифрование) хранятся в базе данных 2. Ключи к шифрам хранятся в отдельном конфигурационном файле в виде # 10CA5388 - первые 8 символов аккаунта валидатора. keys: passphrase_10CA5388: "validator1 password"
Следующий этап - сделать API для вызова методов смарт контрактов и скриптов (по сути - создания транзакций).
|
|
|
|
alex_sysadm
Member
Offline
Activity: 106
Merit: 11
|
|
July 23, 2018, 12:26:19 PM |
|
Первый интересный проект, который я встретил за месяц. Поздравляю. Идея здравая. Применений может быть море. Главное - осилить начальный этап. Пока инвесторы подтянутся.
|
|
|
|
Slava79 (OP)
Member
Offline
Activity: 182
Merit: 17
¯\_(ツ)_/¯
|
|
July 23, 2018, 02:52:26 PM Last edit: July 23, 2018, 06:39:26 PM by Slava79 |
|
Первый интересный проект, который я встретил за месяц. Спасибо, это приятно слышать. Насчет инвесторов и вообще реальных применений проекта - сейчас общаемся с несколькими благотворительными организациями, они хотят попробовать вести публичную отчетность на блокчейн и рассматривают Bloqly как вариант. Организации благотворительные, но я считаю что такой опыт был бы просто бесценен для проекта.
|
|
|
|
Tretyakovsky
Jr. Member
Offline
Activity: 224
Merit: 1
|
|
July 23, 2018, 11:59:46 PM |
|
одновременно странная и интересная тема. я так понимаю это как конструктор для игр или что-то в этом роде?
Да для чего угодно! Хоть КриптоКиттис новые писать на своем блокчейне, хоть что хотите. Блокчейн в каждый дом! Согласитесь, звучит слишком претенциозно и сложно с точки зрения реализации. Думаю работы еще ого-го предстоит в реализации конструктора
|
|
|
|
Nikita K
Newbie
Offline
Activity: 157
Merit: 0
|
|
July 24, 2018, 07:17:14 AM |
|
Организации благотворительные, но я считаю что такой опыт был бы просто бесценен для проекта. а подобных организациях блокчейн и нужен... живут за счет пожертвований, видеть траты и реальное положение дел важно в таких проектах. хорошее начинание!
|
|
|
|
Blockchain.Artificial
Jr. Member
Offline
Activity: 76
Merit: 1
|
|
July 24, 2018, 02:53:02 PM |
|
Вы пишете, что это конструктор, а у Вас только один алгоритм консенсуса, PoA.
Где PoW, Pos, dPoS?
|
|
|
|
Slava79 (OP)
Member
Offline
Activity: 182
Merit: 17
¯\_(ツ)_/¯
|
|
July 24, 2018, 03:00:52 PM |
|
Вы пишете, что это конструктор, а у Вас только один алгоритм консенсуса, PoA.
Где PoW, Pos, dPoS?
Отличный вопрос! Хоть это и конструктор, все же приходится выбирать какую-то специализацию - нельзя же с помощью радио-конструктора собрать работающую кофеварку, правда? Bloqly не реализует PoW, только специфический PoA алгоритм, который по сути является миксом dPoS и pBFT. Все же что касается логики работы и количества валидаторов, процентов за транзакции и самого содержимого транзакций - пожалуйста, можно реализовать с помощью конструктора.
|
|
|
|
kzv
Legendary
Offline
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
|
|
July 24, 2018, 06:31:25 PM |
|
зачем такая навороченная база данных? Что в ней будет храниться кроме блоков и контрактов?
|
|
|
|
Slava79 (OP)
Member
Offline
Activity: 182
Merit: 17
¯\_(ツ)_/¯
|
|
July 25, 2018, 05:23:10 AM |
|
зачем такая навороченная база данных? Что в ней будет храниться кроме блоков и контрактов?
Postgres не просто навороченная база, но еще и очень масштабируемая, с очень эффективной реализацией параллельных запросов и нативной поддержкой на таких площадках хостинга как Amazon, Google Cloud, Azure (минимальная стоимость devops). Еще, мне очень нравится Postgres )
|
|
|
|
kzv
Legendary
Offline
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
|
|
July 25, 2018, 07:48:57 AM |
|
зачем такая навороченная база данных? Что в ней будет храниться кроме блоков и контрактов?
Postgres не просто навороченная база, но еще и очень масштабируемая, с очень эффективной реализацией параллельных запросов и нативной поддержкой на таких площадках хостинга как Amazon, Google Cloud, Azure (минимальная стоимость devops). Еще, мне очень нравится Postgres ) А зачем блокчейн приложению нужна масштабируемая база, однопоточному яваскрипту параллельные запросы, п2п архитектуре хостинг амазона?
|
|
|
|
|