Jump to content

Recommended Posts

Ага, тоже интересно, как происходит отчисление процента на дефолтный адрес

Share this post


Link to post
Share on other sites

Ага, тоже интересно, как происходит отчисление процента на дефолтный адрес

 

Очень просто, в каждой шаре есть выход с дефолтным адресом, нарядую с адресами других юзеров (перечисляются в таблице "Payouts if a block were found NOW"). Когда шара находит блок, его награда делится между этими выходами согласно тому, что перечисляется в данной таблице.

 

Технически же выглядит это так - каждая шара содержит в себе coinbase транзакцию, которая будет подставлена в блок в случае если её хэш удовлетворяет сложности сети. 

Edited by Balthazar

Share this post


Link to post
Share on other sites

Ага, тоже интересно, как происходит отчисление процента на дефолтный адрес

п2пул получает хеш блока от майнера, подстыковывает к нему "generation transaction" в которую включены транзакции всех, кому предназначены выплаты. Кому и сколько рассчитывает софт ноды на основании данных п2пула. Добавляет к этому транзакции собранные из сети (полученные от демона) к моменту получения блока. Сформированная raw транзакция отправляется к bitcoind и рассылается по пирам.

Для последнего пойманного блока посмотреть что она представляет можно командой

bitcoin-cli getrawtransaction f42100369a0558f285062a07e31accfb5844d254bb4b2cada5d6a73526233fc1

В более человеческом виде:

bitcoin-cli getrawtransaction f42100369a0558f285062a07e31accfb5844d254bb4b2cada5d6a73526233fc1 1

Share this post


Link to post
Share on other sites

А принцип же прост, 0.5% от награды за блок уходит на тот адрес, пользователь которого нашел блок. Из остальных 99.5% берется процент для разработчика. Затем из оставшейся суммы берется процент, который может задать владелец ноды, и уходит на её дефолтный адрес. Ну а оставшаяся после этого сумма пропорционально делится между теми, чьи шары присутствуют в актуальной цепочке.

Share this post


Link to post
Share on other sites

А принцип же прост, 0.5% от награды за блок уходит на тот адрес, пользователь которого нашел блок. Из остальных 99.5% берется процент для разработчика. Затем из оставшейся суммы берется процент, который может задать владелец ноды, и уходит на её дефолтный адрес. Ну а оставшаяся после этого сумма пропорционально делится между теми, чьи шары присутствуют в актуальной цепочке.

Это понятно, когда словами объясняешь, а как это выглядит арифметически?

 

 

берется процент для разработчика
Как это осуществляется командами демона?

 

 

Затем из оставшейся суммы берется процент, который может задать владелец ноды
И это как вычисляется?

Share this post


Link to post
Share on other sites

Затем из оставшейся суммы берется процент, который может задать владелец ноды, и уходит на её дефолтный адрес

Я про другое, как p2pool подменяет адрес без перерасчета хеша в каждой шаре предназначенной владельцу ноды?

Share this post


Link to post
Share on other sites

Я про другое, как p2pool подменяет адрес без перерасчета хеша в каждой шаре предназначенной владельцу ноды?

 

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

Создаем coinbase транзакцию, добавляем транзакции из мемори пула, считаем хэш, подставляем его в заголовок блока - получается работа для майнеров, шаблон для будущих шар и блоков. В этом шаблоне включены все будущие награды за блок, определенные заранее ещё до его решения.

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

Между тем, на ноде туже есть первый терахэш... Кто бы это ни зашел, подкиньте ещё.  :P

Edited by Balthazar

Share this post


Link to post
Share on other sites

в коде пула написано другое:

когда пул получает или подтверждает ( я не разобрался) шару, генерируется псевдослучайное число от 0 до 100, если оно меньше fee, то шара зачислятся на дефолтный адрес

Share this post


Link to post
Share on other sites

в коде пула написано другое:

Ничего подобного. :)

Пул при валидации естественно выполняет тот же код, что и при создании работы. Но это нужно не для "зачисления", а просто для проверки шары постфактум, что она правильная.

Share this post


Link to post
Share on other sites

как ничего подобного? Я же это не придумал.

if random.uniform(0, 100) < self.worker_fee:
pubkey_hash = self.my_pubkey_hash
else:
try:
pubkey_hash = bitcoin_data.address_to_pubkey_hash(user, self.node.net.PARENT)

Происходит замена адреса. Т.е если fee=1%?, примерно каждая сотая шара зачисляется на дефолтный адрес

Share this post


Link to post
Share on other sites

 

 

В этом шаблоне включены все будущие награды за блок, определенные заранее ещё до его решения.

А в каком виде эти награды за будущий блок там фигурируют? Стоимость шары может изменяться в течение раунда, значит заранее награду определить нельзя. Стоимость шары=стоимость блока/количество шар в раунде.

Share this post


Link to post
Share on other sites

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

Создаем coinbase транзакцию, добавляем транзакции из мемори пула, считаем хэш, подставляем его в заголовок блока - получается работа для майнеров, шаблон для будущих шар и блоков. В этом шаблоне включены все будущие награды за блок, определенные заранее ещё до его решения.

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

Между тем, на ноде туже есть первый терахэш... Кто бы это ни зашел, подкиньте ещё.  :P

Подкинул к Вам  пианино ..

   post-1046-0-14723700-1488578088_thumb.jp

 alt-static/index.html# 

у Вас нет ? только классика ...только ОЛД скул ? :)

 

p.s. сложность стоит +8000

Edited by m_a17

Share this post


Link to post
Share on other sites

Подкинул к Вам  пианино ..

   post-1046-0-14723700-1488578088_thumb.jp

 alt-static/index.html# 

у Вас нет ? только классика ...только ОЛД скул ? :)

 

p.s. сложность стоит +8000

У меня нэт отвалился на основной ноде, так что теперь будем играть вместе). Что сделаешь Воля- блин

Share this post


Link to post
Share on other sites
Т.е если fee=1%?, примерно каждая сотая шара зачисляется на дефолтный адрес

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

Так? 

Значит подмена адреса возможна и т.д. и т.п. ИМХО.

Edited by AndreyNag

Share this post


Link to post
Share on other sites

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

Так? 

Значит подмена адреса возможна и т.д. и т.п. ИМХО.

Это не то. Это нода отдаёт fee её владельцу. Правда топорно сделано.

Share this post


Link to post
Share on other sites

 

 

Это нода отдаёт fee её владельцу
Ну тогда fee приходило бы с определённого кошелька, и не было бы "Невозможно декодировать выходной адрес".

Share this post


Link to post
Share on other sites

Ну тогда fee приходило бы с определённого кошелька, и не было бы "Невозможно декодировать выходной адрес".

Эта часть кода выполняется до формирования транзакции, это подмена владельца шары. И эта фича а не баг. Грубо сделано потому как не равномерно со всех на ноде сдёргивает выплаты а может с одного майнера забирать шары. Дев чтобы не проводить анализ кто копает конкретно на этой ноде решил так задачу, предполагает что генератор случайных чисел усреднит затраты между всеми майнерами. И таки да - это подмена адреса.

Я же утверждал уже в сформированной транзакции до принятия её блокчейном можно заменить полностью "generation transaction". Перехватывая транзакции при передаче пирам. А это немного другое хоть принцип один и тот же.

 

Share this post


Link to post
Share on other sites

 

 

Я же утверждал уже в сформированной транзакции до принятия её блокчейном можно заменить полностью "generation transaction". Перехватывая транзакции при передаче пирам.

Блин, тогда подписывать что ли транзакции, чтобы не было возможности подменить на релее?!

Share this post


Link to post
Share on other sites

Ребятки на http://che2pool.mine.nu:9332/static/, поставьте наконец фиксированную сложность. Начните примерять с 4096 и по 1024 прибавляйте. Хотя кратность 2 в степени не обязательна. Хотя должно быть четное число (я так думаю).

Share this post


Link to post
Share on other sites

Ребятки на http://che2pool.mine.nu:9332/static/, поставьте наконец фиксированную сложность. Начните примерять с 4096 и по 1024 прибавляйте. Хотя кратность 2 в степени не обязательна. Хотя должно быть четное число (я так думаю).

тоесть не 8к а 8192 надо ставить ? 

Share this post


Link to post
Share on other sites

тоесть не 8к а 8192 надо ставить ? 

12к на с9

Андрей просит не поднимать общую сложность ноды, и я его понимаю, ДОА будет ниже.

Но общая, все равно будет рассчитана исходя из сложности нодовской шары/время

чем больше тх на ноду, тем выше будет сложность шары

Share this post


Link to post
Share on other sites

 

 

Андрей просит не поднимать общую сложность ноды
Я предлагаю начать с 4к и идти потихоньку к оптимальному значению.

Share this post


Link to post
Share on other sites

А в каком виде эти награды за будущий блок там фигурируют? 

В прямом, откройте шару и увидите что там указан хэш coinbase транзакции. Именно в ней прописаны все награды всех юзеров и ноды на момент её генерации. Если шара решает блок, то эти награды материализуются в виде биткоинов, иначе так и остаются просто числами в блокчейне p2pool.

 

 

Стоимость шары может изменяться в течение раунда, значит заранее награду определить нельзя. Стоимость шары=стоимость блока/количество шар в раунде.

 

1) Для PPLNS не имеет значения, когда был найден предыдущий блок и когда будет найден новый. Потому что в PPLNS нет раундов, это не пропорция. 

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

 

Значит подмена адреса возможна и т.д. и т.п. ИМХО.

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

Edited by Balthazar

Share this post


Link to post
Share on other sites

Вся эта комедия с подменами адресов, якобы невозможностью подсчета стоимости шары и так далее мне напоминает сценарий недавно просмотренного фильма... "Лекарство от здоровья" называется.  :D

Edited by Balthazar

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...