Консенсус с двумя pow
По следам темы идеального блокчейна на биттолке...
С целью усиления децентрализации блокчейна возникла идея ввести в алгоритм консенсу просчет двух хешей, один по алгоритму заточенному под CPU, а другой под асик. Идея заключается в том, что если злоумышленник (или например правительство Китая) возьмет под свой контроль все мощности асиков (т.е. более 51%), то у него ничего не выйдет так как еще наравне с этим требуется получить контроль над обычными компьютерами. Ну не то что совсем никогда не выйдет, но данный факт очень сильно затруднит такой захват.
Я практически создал (выложу в сеть через месяц - в феврале) блокчейн с высокой скоростью TPS (сейчас пару тысяч транзакций в секунду, потом к концу года будет 1 млн), блоки создаются раз в 2 секунды. Сеть синхронная, т.е. блоки создаются гарантировно раз в две секунды. Т.к. резкие изменения мощности ей не страшны, то тут подходит данный алгоритм консенсуса с двумя вариантами PoW.
Предлагаю обсудить полезность от такого разделения алгоритмов и метрику сравнения блоков.
Например есть два блока конкурирующих блока:
Первый блок (число нулевых бит):pow1 = 19pow2 = 41
Второй блок (число нулевых бит):pow1 = 21pow2 = 40
какой блок победил?
Предлагаю, чтобы победителем был 2-й блок.
Итак алгоритм:
pow1-алгоритм на CPU
pow2-алгоритм для асика
1) Вычисляется логарифм сложности (т.е. тупо число нулевых бит) каждого хеша
2) Складываются их значения и сравниваются с другим блоком (чем больше тем лучше)
3) В случае их равенства победитель определяется по меньшему абсолютному значению хеша pow1
Главный вопрос:
Считаете ли вы что два алгоритма усиливают децентрализацию?
Попутный вопрос:
Какой алгоритм pow2 использовать (другими словами владельцам каких асиков дарить монеты)? Стандартный Биткоина sha256(sha256()) ?