问题
while doing a notary change transaction from validating notaries to a new set of non validating notaries, how does the new set of non-validating notaries learn about the previous transactions?.
Do they get only the hashes of previous transactions or the entire transaction dependency graph?
回答1:
The new notary does not learn about the past transactions at all.
Instead, we have the following process:
- A transaction with hash
2772BE
and notaryNotaryA
is committed to the ledger - Someone wants to transfer the first output state of this transaction (denoted
<2772BE, 0>
) toNotaryB
- They form a notary change transaction with a single input,
<2772BE, 0>
. Let's say the hash of this notary change transaction is35D0A5
NotaryA
signs this transaction, marking its input<2772BE, 0>
as spent- However, this transaction also creates one output state,
<35D0A5, 0>
, pointing toNotaryB
<2772BE, 0>
, which pointed toNotaryA
, is now spent. But<35D0A5, 0>
, which points toNotaryB
, is unspent
In this way, we have transferred the state to a new notary in a way that prevents double-spends.
来源:https://stackoverflow.com/questions/50136031/notary-change-transactions-from-validating-to-non-validating-notaries