m_txkeySecSeed is the same as parent sidechain block's m_txkeySecSeed if they're both built on top of the same Monero block (m_prevId)
m_txkeySecSeed = H("tx_key_seed" || parent_data) if parent block is built on top of a different Monero block, where parent_data is serialized parent block with nonce and extra_nonce fields set to 0 (because different nodes can theoretically see parent blocks with the same ID but different nonces - see https://github.com/SChernykh/p2pool/blob/master/src/pool_block.h#L44).
Problems with current algorithm:
New algorithm which will solve these problems:
m_txkeySecSeed
will replacem_txkeySec
in sidechain dataget_tx_keys(pub, sec, spend_pub_key, m_prevId)
->get_tx_keys(pub, sec, m_txkeySecSeed, m_prevId)
m_txkeySecSeed
is the same as parent sidechain block'sm_txkeySecSeed
if they're both built on top of the same Monero block (m_prevId
)m_txkeySecSeed = H("tx_key_seed" || parent_data)
if parent block is built on top of a different Monero block, whereparent_data
is serialized parent block withnonce
andextra_nonce
fields set to 0 (because different nodes can theoretically see parent blocks with the same ID but different nonces - see https://github.com/SChernykh/p2pool/blob/master/src/pool_block.h#L44).