Pages:
Author

Topic: Алгоритм дистрибуции монет блокчейна - page 2. (Read 416 times)

legendary
Activity: 2310
Merit: 2295
Я вижу решение такое - число монет выдаваемое в качестве награды за блок должно зависеть от уровня сложности PoW.
Например можно сделать:
1)Линейная зависимость. Награда за блок равна среднему хешрейту сети в данный момент (т.е. равна: 2 в степени числа нулей в "красивом" хеше найденного блока)
2)Квадратный корень. Тоже что и 1, только берется квадратный корень
3)Логарифмическая. Тупо берется число первых нулей красивого хеша.

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

Теперь по существу вашего подхода:
1. Чем выше сложность - тем больше вознаграждение
2. Чем больше вознаграждение - тем больше привлекается мощностей
3. Чем больше мощность сети - тем выше сложность
4. GOTO в пункт 1

В системах автоматического управления такая схема называется положительной обратной связью (чем больше X - тем больше Y, чем больше Y - тем больше Х). Положительная обратная связь приводит к неустойчивости системы.

Ваш алгоритм зависимости вознаграждения от сложности может привести к тому, что майнеры быстро высосут всю эмиссию (у вас эмиссия ограничена?). Присутствие корня в зависимости несколько сгладит ситуацию, но не настолько принципиально.
newbie
Activity: 204
Merit: 0
full member
Activity: 411
Merit: 135
По хорошему это ничего не поменяет, если провести аналогию с биткоином, то зависимость награды за блок от сложности существует и на выходе мы получем практически тоже самое. Разве нет?

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

Вообще я исходил не из денежных принципов, а из принципов стимулирования работы сети. Т.е. если забыть что монеты можно продать/купить на бирже, а считать их только средством оплаты за транзакции внутри сети, то таким образом создается баланс монет и услуг.
member
Activity: 294
Merit: 10
По хорошему это ничего не поменяет, если провести аналогию с биткоином, то зависимость награды за блок от сложности существует и на выходе мы получем практически тоже самое. Разве нет?
full member
Activity: 411
Merit: 135
Эмиссия монет.

Общеизвестно, что чем более популярной становится криптовалюта, тем больше у нее узлов (нод) в сети и тем больше в ней совершается транзакций. Понятно, что чем больше нод подключается к сети, тем больше тратится общей вычислительной мощности для осуществления транзакций. Например, когда в сети было 100 нод, то сеть обрабатывала 100 транзакций в день и, например, эмитировано в день 100 монет. Логично ожидать, что когда в сети будет 1 млн нод и в сети будет обрабатываться 1 млн транзакций, то эмиссия монет будет 1 млн монет, т.к. вычислительные затраты выросли пропорционально.

Представьте следующие начальные условия:
1) Есть блокчейн с высокой скоростью транзакций (от тысячи TPS).
2) Алгоритм консенсуса максимально децентрализованный - т.е. чистый PoW

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

Я вижу решение такое - число монет выдаваемое в качестве награды за блок должно зависеть от уровня сложности PoW.
Например можно сделать:
1)Линейная зависимость. Награда за блок равна среднему хешрейту сети в данный момент (т.е. равна: 2 в степени числа нулей в "красивом" хеше найденного блока)
2)Квадратный корень. Тоже что и 1, только берется квадратный корень
3)Логарифмическая. Тупо берется число первых нулей красивого хеша.


На примере биткоина:
Block #521743  хеш: 00000000000000000016c6647923244f520ad7ca6ccdf07325e2113e667708a8
В нем 75 первых бит равны 0
1) Линейный способ - не хватает разрядности числа, это главный недостаток
2) 2^(75/2) = 194368031998 - тоже многовато, даже если считать в сатоши. Интересно, что если взять кубический корень, то 2^(75/3) = 33554432 сатоши (0.3 биткоина)
3) 75


Стоит заметить что есть два варианта развития:
1) Инфляционный вариант. Если эта идея станет популярной в массах, то экономика будет совсем непривычной - цена монеты не будет сильно расти. Наверно основной упор будет сделан на стабильности стоимости монеты и на совершении транзакций.
2) Без инфляционный вариант. Но с другой стороны ничего не мешает ограничить эмиссию монет сверху, например, при достижении эмиссии 100 млн монет, правила меняются меняются - заменяются на классический вариант с автоматическим понижением в 2 раза каждые N блоков


UPDATE:
Плюс описанного подхода:
Можно более точно заложить объем денег, требуемых для сети. Особенность криптовалют такая, что один раз установив правила игры, их уже практически нельзя поменять. Размер эмиссии - это рыночный показатель, зависящий от числа пользователей. Логично заложить эту зависимость в саму формулу.


UPD2

Алгоритм реализован в блокчейне TERA
https://bitcointalksearch.org/topic/ann-tera-smart-money-smart-contracts-pow-cpu-1000-tps-4573801
Consensus: PoW
Algorithm:  sha3 + meshhash (ASIC resistent hashing)
Max emission: 1 bln (TER)
Reward for block: 1-20 coins, depends on network power (one billionth of the remainder of undistributed amount of coins and multiplied by the hundredth part of the square of the logarithm of the network power)
Block size 120 KB
Premine: 5%
Development fund: 1% of the mining amount
Block generation time: 1 second
Block confirmation time: 8 seconds
Speed: from 1000 transactions per second
Commission: free of charge


Pages:
Jump to: