Title: Пора разобраться с Merged Mining Post by: pent on March 05, 2012, 05:52:54 PM Итак, теоретическая база
https://github.com/vinced/namecoin/blob/mergedmine/doc/README_merged-mining.md https://en.bitcoin.it/wiki/Alternative_Chains#Sharing_work На форуме похоже немногие вообще в курсе как это в действительности работает на низком уровне. Как я понимаю реализацию. 1. Строится дополнительный Merkle Tree (AUX Tree) где то в воздухе, из root Merkle хешей блоков всех доступных AUX чейнов. В простейшем случае неймкоин, это тупо хеш одного AUX'а неймкоина 2. В CoinBase scriptSig биткоина суется рут-хеш этого дерева (там по протоколу может быть что угодно) Таким образом, если мы майним блок биткоин с рут хешем дерева AUX'ов, то при успехе, у нас есть доказательство работы - намайненый блок биткоин и в нем есть рут этого древа AUX Tree. Майнится с наименьшей сложностью из всех. Кому подошла - тому повезло. Подошло к наибольшей сложности - повело всем =) В блок биткоин суется только рут хеш дерева AUX'ов в позволительное место (scriptSig нулевой транзакции). При этом к AUX блоку цепляется куча левой инфы для верификации: а) Меркль ветка AUX блока в AUX Tree б) Индекс а) в AUX Tree (зачем, если ветка есть?) в) Нулевая транзакция биткоин в найденом блоке, конкретно интересует ее scriptSig с рутом AUX Tree. г) Меркль ветка предыдущего пункта в дереве Bitcoin блока д) Хидер блока биткоин Верификация AUX блока: 1. Из ветки а) вычисляется рут хеш AUX Tree 2. В сохраненном хидере проверяем что этот хеш есть в в) 3. в) должна быть корректно втиснута в г) с соответствующим рут хешем 4. Хеш д) меньше таргета AUX chain 5. а) стоит четко на индексе б) AUX Tree Таким образом, даже если этот недо-биткоин блок не вошел в "официальную" цепь биткоин, он все равно служит доказательством Proof-Of-Work AUX блока, так как он к нему приаттачен. Это позволяет майнить AUX'ы и PARENT'ы на разных сложностях, независимо друг от друга, с одной и той же мощностью. А где хранится весь AUX Tree? Какие тут могут быть сюрпризы? Один из участников утверждал что это чревато дабл-спендами в AUX'ах. Title: Re: Пора разобраться с Merged Mining Post by: ufasoft on March 07, 2012, 01:00:48 PM А где хранится весь AUX Tree? Формат блока при Merged Mining расширен. То есть некоторые блоки NameCoin содержат в себе еще Header-ы Bitcoin-блоков Title: Re: Пора разобраться с Merged Mining Post by: pent on March 07, 2012, 03:03:22 PM Формат блока при Merged Mining расширен. То есть некоторые блоки NameCoin содержат в себе еще Header-ы Bitcoin-блоков Ну так я ж написал Quote При этом к AUX блоку цепляется куча левой инфы для верификации: а) Меркль ветка AUX блока в AUX Tree б) Индекс а) в AUX Tree (зачем, если ветка есть?) в) Нулевая транзакция биткоин в найденом блоке, конкретно интересует ее scriptSig с рутом AUX Tree. г) Меркль ветка предыдущего пункта в дереве Bitcoin блока д) Хидер блока биткоин непонятно где здесь это дерево хранится. Title: Re: Пора разобраться с Merged Mining Post by: ufasoft on March 07, 2012, 05:40:50 PM Формат блока при Merged Mining расширен. То есть некоторые блоки NameCoin содержат в себе еще Header-ы Bitcoin-блоков Ну так я ж написал Quote При этом к AUX блоку цепляется куча левой инфы для верификации: а) Меркль ветка AUX блока в AUX Tree б) Индекс а) в AUX Tree (зачем, если ветка есть?) в) Нулевая транзакция биткоин в найденом блоке, конкретно интересует ее scriptSig с рутом AUX Tree. г) Меркль ветка предыдущего пункта в дереве Bitcoin блока д) Хидер блока биткоин непонятно где здесь это дерево хранится. |