问题
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
2772BEand notaryNotaryAis 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 NotaryAsigns 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