1. Why can’t Alice choose Bob’s blinding factor (rr) and nonce (kr) for him?
Because if Alice did choose Bob’s blinding factor then she would be able to spend the Bob’s unspent transactions on behalf of him.
2. Alice constructs a partial transaction and sends it to Bob. Why can’t Bob broadcast the transaction after choosing his blinding factor and nonce?
Because Bob would have to generate a Schnorr challenge for the transaction in order to generate his partial signature. This would then have to be sent to Alice for her to validate Bob’s partial signature via computation, in order for her to create a signature for the entire transaction.
3. What information does the transaction kernel contain?
The following information is stored in the kernel:
- The signature of the transaction (s, k • G) .
- The public key associated with the “ excess blinding factor ” (in this case, 25•G ). As described above, this can be used to validate s .
- The transaction fee and lock_height of the transaction. (Note: if this was a Coinbase transaction, neither of these would be present).
4. What pieces of information are actually broadcast in a Grin transaction?
- The inputs used.
- The new outputs.
- The transaction kernel.
- The kernel offset.