Author

Topic: Гибрид POW (Read 289 times)

full member
Activity: 322
Merit: 102
July 31, 2018, 03:29:08 PM
#14
Мне одно время для построения отказоустойчивого кластера пришлось применять kubernetes , так вот в одной из его реализаций была схема с использованием так называемого Consul  это отдельная машина (или группа машин) которая должна следить кто в кластере жив а кто умер и соотвественно перемещать контейнеры на живые ноды. Это упрощенно.

Но это может применится  и в вашем случае, например у Вас три группы нод (отдельные чейны) , для каждого блока вы отбираете (хз как пусть даже рандомно) три ноды которые будут консулами в этой итерации, их задача разделить транзакции блока на три части и поочередно отдать победителю POW в каждой группе которые разгадали предыдущий блок их часть транзакций для записи, первая группа запишет с 0 по 1000 вторая с 1001 по 2000 и третья с 2001 по 3000


Не пинайте если что то не учел, я больше админ чем программист)
member
Activity: 202
Merit: 27
Atom foundation
May 19, 2018, 03:00:58 AM
#13

В моем случае нод будет мало, так как блокчейн будет использоваться для нужд компании и разделен допустим на 50 компьютеров и во втором департаменте 50 компьютеров. У каждых свой блокчейн, для внутренних нужд. Поэтому POW должен быть практически моментальным, так как в цепочки будут паковаться каждая отдельная транзакция, а не тысячи, как в блокчейн биткоин.

Так а зачем это Вам, что-то изобретать. Все уже продумано. Это частный блокчейн, он не открыт. А потому возьмите готовые технологии на том же Azure, там есть разные блокчейны.



Он будет открыть, в том-то и дело, допустим фрилансеры смогут подключаться и отключаться от системы и базы
legendary
Activity: 2744
Merit: 1588
May 19, 2018, 02:23:14 AM
#12

В моем случае нод будет мало, так как блокчейн будет использоваться для нужд компании и разделен допустим на 50 компьютеров и во втором департаменте 50 компьютеров. У каждых свой блокчейн, для внутренних нужд. Поэтому POW должен быть практически моментальным, так как в цепочки будут паковаться каждая отдельная транзакция, а не тысячи, как в блокчейн биткоин.

Так а зачем это Вам, что-то изобретать. Все уже продумано. Это частный блокчейн, он не открыт. А потому возьмите готовые технологии на том же Azure, там есть разные блокчейны.

member
Activity: 202
Merit: 27
Atom foundation
May 18, 2018, 07:41:50 PM
#11
Я Вам предлагаю рассмотреть не POW, а аналог DPOS только с POW назовем его DPOW. Суть в том, что в каждую подсеть (у Вас она состоит из 6 компьютеров, я же считаю, что должна быть минимум из 100) выбираются делегаты по наибольшей мощности. Т.е. раз в определенное время проводиться конкурс или выборы и выбираются в каждой подсети 100 делегатов, по максимальной мощности майнинга.

А дальше все просто, используем как в алгоритме DPOS производство блоков, только каждый делегат ещё подписывает этот блок. При наборе подписей более 51% или же в нашем случае подписи 51 делегата, блок становиться необратимым и возможность форка исключается.


Раз у Вас подсети, то это скорее такая возможность шардинга. А потому каждая подсеть хранит свою информацию, но также включает конечный хеш блоков с других сетей. Таким образом конкретная информация находиться только в одной подсети, но её необратимость распределена по всем подсетям.


Спасибо за развернутый ответ!
Процитирую соседний пост:
В моем случае нод будет мало, так как блокчейн будет использоваться для нужд компании и разделен допустим на 50 компьютеров и во втором департаменте 50 компьютеров. У каждых свой блокчейн, для внутренних нужд. Поэтому POW должен быть практически моментальным, так как в цепочки будут паковаться каждая отдельная транзакция, а не тысячи, как в блокчейн биткоин.

Соответсвенно:
1. сложность майнинга будет одинаковая (это большой вопрос, но теоретически хотелось бы минимальную, хотя скорее всего это создает много дыр в безопасности)
2. DPOS - если в системе нет или малая ценность криптовалюты, тогда раздавать майнерам криптовалюту для pos?
full member
Activity: 411
Merit: 139
May 18, 2018, 06:19:59 AM
#10

Привет еще раз, да, давай я другими словами скажу  Smiley

Нужен коллективный разум для решения задачи:
- есть 6 компьютеров (далее ноды) объединенных между собой
- эти 6 нод имеют общую базу данных
- если в базе данных одной ноды происходит изменение, то остальные так же меняют у себя данные и пишут изменения в блокчейн

Вопросы:
- как этим 6 нодам быстро достигнуть консенсуса? с помощью POW? допустим нужен только 1 ноль в начале хеша (хорошая ли это идея?)

Надеюсь понятно сформулировал, если нет, могу еще раз попробовать  Cheesy

Я Вам предлагаю рассмотреть не POW, а аналог DPOS только с POW назовем его DPOW. Суть в том, что в каждую подсеть (у Вас она состоит из 6 компьютеров, я же считаю, что должна быть минимум из 100) выбираются делегаты по наибольшей мощности. Т.е. раз в определенное время проводиться конкурс или выборы и выбираются в каждой подсети 100 делегатов, по максимальной мощности майнинга.

А дальше все просто, используем как в алгоритме DPOS производство блоков, только каждый делегат ещё подписывает этот блок. При наборе подписей более 51% или же в нашем случае подписи 51 делегата, блок становиться необратимым и возможность форка исключается.


Раз у Вас подсети, то это скорее такая возможность шардинга. А потому каждая подсеть хранит свою информацию, но также включает конечный хеш блоков с других сетей. Таким образом конкретная информация находиться только в одной подсети, но её необратимость распределена по всем подсетям.



Но только обрати обязательно внимание на то, что это ненадёжно с точки зрение переписываниях истории задним числом
legendary
Activity: 2744
Merit: 1588
May 18, 2018, 04:49:41 AM
#9

Привет еще раз, да, давай я другими словами скажу  Smiley

Нужен коллективный разум для решения задачи:
- есть 6 компьютеров (далее ноды) объединенных между собой
- эти 6 нод имеют общую базу данных
- если в базе данных одной ноды происходит изменение, то остальные так же меняют у себя данные и пишут изменения в блокчейн

Вопросы:
- как этим 6 нодам быстро достигнуть консенсуса? с помощью POW? допустим нужен только 1 ноль в начале хеша (хорошая ли это идея?)

Надеюсь понятно сформулировал, если нет, могу еще раз попробовать  Cheesy

Я Вам предлагаю рассмотреть не POW, а аналог DPOS только с POW назовем его DPOW. Суть в том, что в каждую подсеть (у Вас она состоит из 6 компьютеров, я же считаю, что должна быть минимум из 100) выбираются делегаты по наибольшей мощности. Т.е. раз в определенное время проводиться конкурс или выборы и выбираются в каждой подсети 100 делегатов, по максимальной мощности майнинга.

А дальше все просто, используем как в алгоритме DPOS производство блоков, только каждый делегат ещё подписывает этот блок. При наборе подписей более 51% или же в нашем случае подписи 51 делегата, блок становиться необратимым и возможность форка исключается.


Раз у Вас подсети, то это скорее такая возможность шардинга. А потому каждая подсеть хранит свою информацию, но также включает конечный хеш блоков с других сетей. Таким образом конкретная информация находиться только в одной подсети, но её необратимость распределена по всем подсетям.

member
Activity: 202
Merit: 27
Atom foundation
May 17, 2018, 11:06:42 AM
#8

Вот с этим проблемы, я читал в исходниках Yiimp.
Вообщем фишка в том, что если ты два раза нашёл шару со сложностью 1, это значит что ты потратил столько же работы, как чтобы найти шару со сложностью 2.
Если положить в блок первой сети две шары меньшей сложности, суммарно превышающих минимальную сложность, то можно сказать что вторая сеть что то считала.

сложность это два в степени колличество начальных нулевых бит.

в смысле положить в блок? я так понял в блок кладется не шара, а уже доказательство.
newbie
Activity: 13
Merit: 0
May 17, 2018, 08:33:59 AM
#7
можно поподробнее? ничего не понял. где можно почитать?

Вот с этим проблемы, я читал в исходниках Yiimp.
Вообщем фишка в том, что если ты два раза нашёл шару со сложностью 1, это значит что ты потратил столько же работы, как чтобы найти шару со сложностью 2.
Если положить в блок первой сети две шары меньшей сложности, суммарно превышающих минимальную сложность, то можно сказать что вторая сеть что то считала.

сложность это два в степени колличество начальных нулевых бит.
member
Activity: 202
Merit: 27
Atom foundation
May 17, 2018, 04:56:39 AM
#6
Я правильно понимаю что это два разных блокчейна?
Тогда второму придётся доверится подписи первого.
именно

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

При нахождением одной сети блока, записывать доказательства работы второго блока, в виде нескольких хэшей с неполной сложностью.
можно поподробнее? ничего не понял. где можно почитать?

newbie
Activity: 13
Merit: 0
May 17, 2018, 04:09:07 AM
#5
Я правильно понимаю что это два разных блокчейна?
Тогда второму придётся доверится подписи первого.

если майнят общий блок -
можно сделать как в пулах.
При нахождением одной сети блока, записывать доказательства работы второго блока, в виде нескольких хэшей с неполной сложностью.
full member
Activity: 411
Merit: 139
May 17, 2018, 01:39:29 AM
#4
- если в базе данных одной ноды происходит изменение, то остальные так же меняют у себя данные и пишут изменения в блокчейн
Вопросы:
- как этим 6 нодам быстро достигнуть консенсуса? с помощью POW? допустим нужен только 1 ноль в начале хеша (хорошая ли это идея?)

Блокчейн уже подразумевает консенсус, иначе это что-то, что не имеет право называться блокчейном. Используйте классический pow блокчейна, понятным языком для технаря он описан в оригинальной WP Биткоина некого автора с именем Сатоши Накамото. Поищи по этим ключевым словам в яндексе...

member
Activity: 202
Merit: 27
Atom foundation
May 16, 2018, 04:29:37 PM
#3
Ничего непонятно. Ты бы лучше не вводил новую терминологию, а описывал задачу через привычные тармины: цепочки, блоки, транзакции. А далее транзакция например содержит команду изменить key на определенное value ну и подпись цифровую содержит. А до этого например была транзакция, которая создавала значение key и задавала публичный адрес владельца, кто может этот key менять...

Иначе непонятен механизм консенсуса единых данных...

Привет еще раз, да, давай я другими словами скажу  Smiley

Нужен коллективный разум для решения задачи:
- есть 6 компьютеров (далее ноды) объединенных между собой
- эти 6 нод имеют общую базу данных
- если в базе данных одной ноды происходит изменение, то остальные так же меняют у себя данные и пишут изменения в блокчейн

Вопросы:
- как этим 6 нодам быстро достигнуть консенсуса? с помощью POW? допустим нужен только 1 ноль в начале хеша (хорошая ли это идея?)

Надеюсь понятно сформулировал, если нет, могу еще раз попробовать  Cheesy
full member
Activity: 411
Merit: 139
May 16, 2018, 10:49:21 AM
#2
Нужен коллективный разум для решения задачи:
- есть группа из 6 нод, объединенных между собой
- есть вторая группа из 6 нод
- у каждой группы есть свое хранилище key:value, например у первой группы значения от 1 до 1000, у второй 1000-2000

Вопросы:
- Внутри группы они могу достигать быстро консенсуса с помощью POW, допустим нужен только 1 ноль в начале хеша (так ли это? )
- как передать доказательство работы второй группе? если она может на фоне выкачивать данные первой группы.

Надеюсь понятно сформулировал, если нет, могу дополнить

Ничего непонятно. Ты бы лучше не вводил новую терминологию, а описывал задачу через привычные тармины: цепочки, блоки, транзакции. А далее транзакция например содержит команду изменить key на определенное value ну и подпись цифровую содержит. А до этого например была транзакция, которая создавала значение key и задавала публичный адрес владельца, кто может этот key менять...

Иначе непонятен механизм консенсуса единых данных...
member
Activity: 202
Merit: 27
Atom foundation
May 16, 2018, 07:44:54 AM
#1
Нужен коллективный разум для решения задачи:
- есть группа из 6 нод, объединенных между собой
- есть вторая группа из 6 нод
- у каждой группы есть свое хранилище key:value, например у первой группы значения от 1 до 1000, у второй 1000-2000

Вопросы:
- Внутри группы они могу достигать быстро консенсуса с помощью POW, допустим нужен только 1 ноль в начале хеша (так ли это? )
- как передать доказательство работы второй группе? если она может на фоне выкачивать данные первой группы.

Надеюсь понятно сформулировал, если нет, могу дополнить
Jump to: