Size: a a a

2019 May 06

AV

Aliaksei Volnov in Dash-Ru
Sergey
Принцип длинной цепочки не отменяется при вступлении в силу dip8,а остается запасным вариантом,в случае если чейнлокс не придут к консенсусу.Далее много текста.
Самое важное в конце.Если вдруг кворумы мастернод не придут к общему консенсусу для подписания одного и того же блока в течение нескольких попыток,будет задействован старый принцип длиной цепи.

Signing attempts

When a new valid block is received by a masternode, it must invoke the DIP007 SignIfMember operation.
The request id for the operation is hash(prevBlockHash, attemptNum) and the message hash is the hash of the new block (newBlockHash). The first time this is attempted, attemptNum must be set to 0.
In most cases, the majority of the LLMQ will sign the same message hash in the first attempt and thus find consensus. This can be checked with the DIP007 HasRecoveredSig operation. This will even hold true in most cases where 2 competing blocks are being propagated inside the network, as only one is able to reach more LLMQ members faster than the other and thus gain a majority in the signing request.
In some cases however, it is possible that no majority can be reached in the first attempt. This could happen if too many members of the LLMQ are malfunctioning or if more than two blocks are competing. If this happens, a second signing request with an incremented attemptNum value must be initiated. To check for a failed attempt, the DIP007 IsMajorityPossible operation must be used. An attempt is also considered as failed when it did not succeed after some timeout.
On failure, another signing request with an incremented attemptNum value should be initiated. The new request should use the message hash returned by the DIP007 GetMostSignedSessionoperation, which is the hash of the block which had the most signatures in the last attempt. After a few attempts, a request should result in a recovered threshold signature which indicates consensus has been reached.

Finalization of signed blocks

After a signing attempt has succeeded, another LLMQ must sign the successful attempt. This is only performed once for each prevBlockHash and thus either succeeds or fails without performing additional attempts.
The request id is prevBlockHash and the message hash is the block hash of the previously successful attempt.
After a LLMQ member has successfully recovered the final ChainLocks signature, it must create a P2P message and propagate it to all nodes. When a new block has been successfully signed by a LLMQ and the CLSIG message is received by a node, it should ensure that only this block is locally accepted as the next block.
If an alternative block for the same height is received, it must be invalidated and removed from the currently active chain since a signed block has already been received. If the correct block is already present locally, its chain should be activated as the new active chain. If the correct block is not known locally, it must wait for this block to arrive and request it from other nodes if necessary.
If a block has been received locally and no CLSIGmessage has been received yet, it should be handled the same way it was handled before the introduction of ChainLocks. This means the longest-chain and first-seen rules must be applied. When the CLSIG message for this (or another) block is later received, the above logic must be applied.
Все супер, но если есть два блока и один MN валидировали, а второй получил блок выше?
источник

S

Sergey in Dash-Ru
Aliaksei Volnov
Все супер, но если есть два блока и один MN валидировали, а второй получил блок выше?
почти сразу же после публикации блока он при нормальной работе сети будет подписан кворумами мастернод через чейнлокс.кворумы мастернод подписывают тот блок,который увидят опубликованным первым. Если до момента подписания произойдет удлинение более короткой цепи,она может стать основной вершиной и будет залочена.в таком случае вторая вершина отвергается сетью как  невалидная. До момента лока цепочки могут конкурировать.Но учитывая,что на блок уходит 2.5 минуты,а чейнлок срабатывает почти сразу после публикации блока,насколько вероятно многократная смена цепочек?Альтернативный Блок ,найденный/опубликованый почти в тот же момент,но чуть чуть позднее,не будет включен в цепь. Предполагаю,что тут скорость магистрали у майнеров может играть решающую роль.,включая даже скорость пинга.В общес,как итог,если кворумы мастернод не сойдутся во мнении,значит победит та цепочка,которая на тот момент будет наиболее длиная.Если чейнлог сработает,то победит цепочка,которую первой увидят и залочат кворумы мастернод.Скорее всего она и будет на тот момент самой длиной.Я так понимаю.
источник

AV

Aliaksei Volnov in Dash-Ru
Sergey
почти сразу же после публикации блока он при нормальной работе сети будет подписан кворумами мастернод через чейнлокс.кворумы мастернод подписывают тот блок,который увидят опубликованным первым. Если до момента подписания произойдет удлинение более короткой цепи,она может стать основной вершиной и будет залочена.в таком случае вторая вершина отвергается сетью как  невалидная. До момента лока цепочки могут конкурировать.Но учитывая,что на блок уходит 2.5 минуты,а чейнлок срабатывает почти сразу после публикации блока,насколько вероятно многократная смена цепочек?Альтернативный Блок ,найденный/опубликованый почти в тот же момент,но чуть чуть позднее,не будет включен в цепь. Предполагаю,что тут скорость магистрали у майнеров может играть решающую роль.,включая даже скорость пинга.В общес,как итог,если кворумы мастернод не сойдутся во мнении,значит победит та цепочка,которая на тот момент будет наиболее длиная.Если чейнлог сработает,то победит цепочка,которую первой увидят и залочат кворумы мастернод.Скорее всего она и будет на тот момент самой длиной.Я так понимаю.
Одновременно находятся очень часто 2 блока и даже 3.
источник

S

Sergey in Dash-Ru
Aliaksei Volnov
Одновременно находятся очень часто 2 блока и даже 3.
В таком случае побидит тот,у кого интернет быстрей,получается так.Чейнлокс лочит в любом случае именно первый блок,дошедший до мастернод.
источник

AV

Aliaksei Volnov in Dash-Ru
Sergey
В таком случае побидит тот,у кого интернет быстрей,получается так.Чейнлокс лочит в любом случае именно первый блок,дошедший до мастернод.
В PoW победит тот - за кем найден будет следующий. А с ChainLock ?
источник

AV

Aliaksei Volnov in Dash-Ru
Это и есть в PoW конкуренция мощности. А ChainLock не повлияет на эту конкуренцию?
источник

S

Sergey in Dash-Ru
Aliaksei Volnov
В PoW победит тот - за кем найден будет следующий. А с ChainLock ?
В дэш будет обе системы.приоритет отдается чейнлокс,который залочит  первую опубликованную цепь,вернее блок,ЕСЛИ остальные мастерноды/кворумы подтвердят,что получили этот же блок первым.То есть,если до всех участвующих в подписании мастернод блок "n" дойдет первым,он и будет подписан.В случае,если попытка подписания не удастся,будет предпринята вторая попытка.Если и она не удастся,например потому что часть мастернод получит перым блок "n",а другая часть мастернод получит блок не "n", победителем станет цепочка,в которой будет найден следующий блок,то есть более длиная.Так что принципы классического pow никуда не исчезнут,просто отходят на второй план.
источник

AV

Aliaksei Volnov in Dash-Ru
Sergey
В дэш будет обе системы.приоритет отдается чейнлокс,который залочит  первую опубликованную цепь,вернее блок,ЕСЛИ остальные мастерноды/кворумы подтвердят,что получили этот же блок первым.То есть,если до всех участвующих в подписании мастернод блок "n" дойдет первым,он и будет подписан.В случае,если попытка подписания не удастся,будет предпринята вторая попытка.Если и она не удастся,например потому что часть мастернод получит перым блок "n",а другая часть мастернод получит блок не "n", победителем станет цепочка,в которой будет найден следующий блок,то есть более длиная.Так что принципы классического pow никуда не исчезнут,просто отходят на второй план.
Обе системы. В которой Chainlock отменяет мотивацию нахождения следующего блока без валидации предыдущего😁
источник
2019 May 07

S

Sergey in Dash-Ru
Почему? Вознаграждение майнерам никто не отменяет.Схема распределения остается такая же: 45% майнерам,столько же мастернодам и 10% в сокровищницу дэш. Награда никуда не денется,разве что,насколько я понимаю, майнеры с наиболее быстрым каналом связи и минимальными пингами,будут иметь чуточку более высокий шанс получения награды,при условии,что они будут конкурироаать за один и тот же блок в один и тот же момент с кем-то еще,другими майнерами.У майнеров появится стимул увеличитб скорость канала,а это только на пользу пойдет сети.
источник

S

Sergey in Dash-Ru
Aliaksei Volnov
Обе системы. В которой Chainlock отменяет мотивацию нахождения следующего блока без валидации предыдущего😁
И да,предыдущий блок валидируется в любом случае,в том числе мастернодами
источник

S

Sergey in Dash-Ru
After a LLMQ member has successfully recovered the final ChainLocks signature, it must create a P2P message and propagate it to all nodes. The message is called CLSIG and has the following structure:
FieldTypeSizeDescriptionprevBlockHashuint25632Hash of the previous blockblockHashuint25632Hash of the signed block from the successful attemptsigBLSSig96Recovered signature
This message is propagated through the inventory system.
Upon receipt, each node must perform the following verification before announcing it to other nodes:

prevBlockHash must refer to a block that is part of any locally known chain

Based on the deterministic masternode list at the chain height of prevBlockHash, a quorum must be selected that was active at the time this block was mined

The signature must verify against the quorum public key and hash(llmqType, quorumHash, prevBlockHash, blockHash). llmqType and quorumHash must be taken from the quorum selected in 2.
источник

S

Sergey in Dash-Ru
Форматирование не сохранилось вот скриншот
источник

S

Sergey in Dash-Ru
источник

AV

Aliaksei Volnov in Dash-Ru
Sergey
Почему? Вознаграждение майнерам никто не отменяет.Схема распределения остается такая же: 45% майнерам,столько же мастернодам и 10% в сокровищницу дэш. Награда никуда не денется,разве что,насколько я понимаю, майнеры с наиболее быстрым каналом связи и минимальными пингами,будут иметь чуточку более высокий шанс получения награды,при условии,что они будут конкурироаать за один и тот же блок в один и тот же момент с кем-то еще,другими майнерами.У майнеров появится стимул увеличитб скорость канала,а это только на пользу пойдет сети.
Потому. Что я нашел блок. и вопрос: в следующий момент за этим есть два варианта. я беру хеш нового блока и ищу поверх( в PoWэто выгодно) в случае с ChainLock мне проще взять там хеш и искать блок поверх валидированого
источник

S

Sergey in Dash-Ru
Aliaksei Volnov
Потому. Что я нашел блок. и вопрос: в следующий момент за этим есть два варианта. я беру хеш нового блока и ищу поверх( в PoWэто выгодно) в случае с ChainLock мне проще взять там хеш и искать блок поверх валидированого
Не получится ничего без хэша предыдущего валидного блока.Я просто не понимаю уже о чем речь сейчас.ЯПожалуй на сегодня закончу тут,пора спать.Может кто-то более сведующий разложит все по полкам.
источник

AV

Aliaksei Volnov in Dash-Ru
Sergey
Не получится ничего без хэша предыдущего валидного блока.Я просто не понимаю уже о чем речь сейчас.ЯПожалуй на сегодня закончу тут,пора спать.Может кто-то более сведующий разложит все по полкам.
???? в PoW это то что заставляет всех находить по быстрому следующий блок (это принципиальная особенность защиты мощностью)
источник

AV

Aliaksei Volnov in Dash-Ru
И разложить не кто не сможет: нет полок.
У меня есть мощность. Я сделал работу. И готов делать дальше. Вопрос исходных данных:
в PoW - это последний найдены блок (вершина), его хеш  
с ChainLock  - это последний (или первый; вершина) валидированный, т.е. его хеш
источник

S

Sergey in Dash-Ru
Aliaksei Volnov
???? в PoW это то что заставляет всех находить по быстрому следующий блок (это принципиальная особенность защиты мощностью)
Так в чем вопрос то? Вы считаете что у майнеров пропадет мотивация и они отключат асики или что? Вряд ли это случится.Дэш все еще пов и блоки генерируют именно майнеры.Общие правила никто не отменял.У кого больше мощности,тот будет иметь больше шансов найти блок быстрее и получить вознаграждение.Смысл майнить какие то альтернативные цепочки скрытные пропадет как раз из за чейнлокс.А если два честных майнера будут конкурировать за один блок победит в любом случае один: либо тот,чей блок первым дойдет до кворумов и получит подпись,либо в случае отсутсвия консенсуса,тот,у кого длинее цепь как в классическом pow. Второй майнер в этом случае будет "лепить" неподписаные невалидные  блоки поверх последнего валидного.Ну не получит этот майнер награду в этот раз,значит другая цепочка в сети уже валидирована.вознагражление майнерам в любом случае будет,а значит будет мотивация майнить.Вот отрывок соответсвующий из dip8 опять же:
 If there is a network partition, the most likely thing to happen is that just one side is able to mine a signed chain. The other side will encounter non-signed blocks building on top of the last signed block. Miners who observe this must assume that another currently unobserved chain is being built in parallel. Since the parallel chain might be signed and could possibly overtake their own chain after the network is healthy again, miners should act accordingly (e.g. reduce hash power to reduce costs)
источник

AV

Aliaksei Volnov in Dash-Ru
Sergey
Так в чем вопрос то? Вы считаете что у майнеров пропадет мотивация и они отключат асики или что? Вряд ли это случится.Дэш все еще пов и блоки генерируют именно майнеры.Общие правила никто не отменял.У кого больше мощности,тот будет иметь больше шансов найти блок быстрее и получить вознаграждение.Смысл майнить какие то альтернативные цепочки скрытные пропадет как раз из за чейнлокс.А если два честных майнера будут конкурировать за один блок победит в любом случае один: либо тот,чей блок первым дойдет до кворумов и получит подпись,либо в случае отсутсвия консенсуса,тот,у кого длинее цепь как в классическом pow. Второй майнер в этом случае будет "лепить" неподписаные невалидные  блоки поверх последнего валидного.Ну не получит этот майнер награду в этот раз,значит другая цепочка в сети уже валидирована.вознагражление майнерам в любом случае будет,а значит будет мотивация майнить.Вот отрывок соответсвующий из dip8 опять же:
 If there is a network partition, the most likely thing to happen is that just one side is able to mine a signed chain. The other side will encounter non-signed blocks building on top of the last signed block. Miners who observe this must assume that another currently unobserved chain is being built in parallel. Since the parallel chain might be signed and could possibly overtake their own chain after the network is healthy again, miners should act accordingly (e.g. reduce hash power to reduce costs)
нет они будут мотивированы находить блоки на одной высоте за ChainLock
источник

AV

Aliaksei Volnov in Dash-Ru
При этом усложняя работу ChainLock.
источник