Grin Transactions - Reading Assignment

1.she could spend funds she sent to bob.
2.bob can sign tx only partially sending it back to alice and she completes it and broadcast ot to the block.
3. * 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
  1. inputs used, new outputs , tx kernel , and kernel offset.
1 Like
  1. Because then she would be able to spend his funds.

  2. He needs Alice’s partial signature to make the transaction signature needed to broadcast the transaction.

  3. A summary of all the necessary data needed to validate a transaction: the signature; the public key associated with the excess blinding factor (r*G); the fee and the lock_height.

  4. The inputs used, the outputs, the kernel and the kernel offset.

1 Like
  • Why can’t Alice choose Bob’s blinding factor (rr) and nonce (kr) for him?
    because then alice could take the money she sends to bob

  • 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 alice has to complete the signature

What information does the transaction kernel contain?
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).

What pieces of information are actually broadcast in a Grin transaction?
The inputs used.
The new outputs.
The transaction kernel.
*The kernel offset

1 Like
  1. Because then she could spend the outputs even after she sent him the funds.

  2. Because Alice has to validate it first and generate her partial signature.

  3. Besides the outputs, the transaction kernel is the other piece of information spit out from a Grin transaction. Every transaction produces a transaction kernel, but there’s no way of looking at the Grin blockchain and linking an output to a transaction kernel. One exists for every Grin transaction, and it contains the proof that no money was printed out of thin air.

    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).
  1. The only things broadcast to the network from the transaction are:
  • The inputs used.
  • The new outputs.
  • The transaction kernel.
  • The kernel offset
1 Like
  1. If Alice chose Bob’s blinding factor and nonce then she would able to spend the outputs she sent to him

  2. Alice must validate Bob’s partial signature then add it to her own partial signature to create the transaction signature before broadcasting the transaction

  3. The transaction kernel contains the transaction signature, the public key associated with the excess blinding factor, and the transaction fee and lock_height of the transaction.

  4. The inputs used, the new outputs, the transaction kernel, and the kernel offset are actually broadcast

1 Like

1.) Why can’t Alice choose Bob’s blinding factor (rr) and nonce (kr) for him?
If Alice would know his blinding factor she would be able to spend his outputs.

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?
Bob uses e to generate his Schnorr signature for the transaction, sr (r for recipient). Though it is the entirety of Bob’s signature, we call this Bob’s partial signature, because it will eventually be added to Alice’s partial signature to create the signature of the entire transaction.

3.) What information does the transaction kernel contain?
• The signature of the transaction (s, k • G).
• The public key associated with the “excess blinding factor”
• The transaction fee and lock_height of the transaction.

4.) What pieces of information are actually broadcast in a Grin transaction?
• The inputs used.
• The new outputs.
• The transaction kernel.
• The kernel offset.

1 Like

1 If Alice know rr & kr, she will be in control of the transferred funds, so in that case Bob does not own the funds. Meaning no transaction really took place.
2 Bob creates a transaction with the blinding factor rr and nonce kr for the transaction and returns it to Alice. In this way they both construct half of the transaction. Now Alice puts them together and the transaction is ready to be broadcasted.
3 1. the signature s=(s,k G), 2. the excess binding factor vG and 3. TX fee and lock_height.
4 Broadcast to the network from the transaction are:
• The inputs used.
• The new outputs.
• The transaction kernel.
• The kernel offset.

1 Like
  1. Because knowing Bob’s blinding factor and nonce would make it possible for her to act on the funds even after having transferred those funds to Bob.
  2. Because Bob can only partially sign the transaction through his Schnorr signature, which will then be “completed” with Alice’s one in order to allow the broadcasting of the transaction.
  3. It contains the remaining transaction information besides the outputs. In particular, it stores information about the signature, the “excess blinding factor” public key and both transaction fee and lock height (not present for Coinbase transactions).
  4. The information broadcasted is about inputs used, new outputs, transaction kernel and kernel offset.
1 Like
  1. because if Alice chose Bob’s blinding factor and nonce, she would be able to “re-spend” the funds that she just sent to Bob
  2. Bob would need Alice’s signature which can only be generated with her blinding factor and the nonce
  3. signature, excess blinding factor, transaction fee and lock height of the tx
  4. inputs and outputs, transaction kernel and offset
1 Like

Why can’t Alice choose Bob’s blinding factor (rr) and nonce (kr) for him?
Because the Bob’s blinding factor ensures that only he can spend the money that he is receiving.

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 Alice needs to add her blinding factor in order to create the signature for the entire transaction.

What information does the transaction kernel contain?
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).

What pieces of information are actually broadcast in a Grin transaction?
The inputs used.
The new outputs.
The transaction kernel.
The kernel offset (which I didn’t cover here).

1 Like
  1. Why can’t Alice choose Bob’s blinding factor (rr) and nonce (kr) for him?
    Alice could spend the tx, even after sending the funds to Bob.

  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?
    Bob only creates half the signature, which Alice combines it hers in order to make the whole transaction valid.

  3. What information does the transaction kernel contain?
    a) Signature of the transaction
    b) Public key associated with excess blinding factor
    c) Transaction fee and lock height

  4. What pieces of information are actually broadcast in a Grin transaction?
    a) Inputs used
    b) New outputs
    c) Transaction Kernel
    d) Kernel offset

1 Like

1.Because he will need his own RR to sign and prove what he is receiving. KR is his own way of proving and adding to his commitment for a later output

2.Because Alice needs to take his blinding factor of choice (or agreed within parties) and Nonce to formulate and balance the rest of the commitments.

3.The Kernal containts the excess or “change” of the outputs

4.The creators of KA and KB are able to be seen. Essentially the Sender/Signer and Receiver/Signer and if you know both blinding factors, you can see when they appear on the blockchain (same time as the output) IP Address is also known (scrambled) however you could link Ka and Kb when they were generated.

1 Like

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.
1 Like
  1. Why can’t Alice choose Bob’s blinding factor (rr) and nonce (kr) for him?

This blinding factor (rr) and nonce (kr) are picked on recipient’s end and used to generate Bob’s partial Schnorr signature for the transaction (sr). This ensures that only Bob can spend the output and prevents Alice of re-spending those same funds sent to Bob .

  1. 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 only partially signs the transaction and only after his partial signature is added to Alice’s partial signature, the signature of the entire transaction can be created and transaction can be broadcasted.

  1. What information does the transaction kernel contain?
  • The signature of the transaction (s, k • G).
  • The public key associated with the “ excess blinding factor ”.
  • The transaction fee and lock_height of the transaction.
  1. What pieces of information are actually broadcast in a Grin transaction?
  • The inputs used.
  • The new outputs.
  • The transaction kernel.
  • The kernel offset
1 Like
  1. Because she would be able to spend Bob’s transactions.

  2. Bob must send his partial signature back to Alice so she can generate her partial signature.

  3. The transaction kernel contains the signature of the transaction, public key associated with the excess blinding factor and the transaction fee as well as lock height.

  4. Inputs used / New outputs / Transaction Kernel / Kernel offset.

1 Like
  1. Why can’t Alice choose Bob’s blinding factor (rr) and nonce (kr) for him?
    Because she can double spend what she has already sent to Bob

  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 only creates half of the signature of the transaction. Alice would need to verify that Bob’s blinding factor and hers add up to make the total of excess blinding factor.

  3. What information does the transaction kernel contain?
    signature of the transaction, public key associated with the excess blinding factor, transaction fee and lock height.

  4. What pieces of information are actually broadcast in a Grin transaction?
    The inputs used / the new outputs / the transaction kernel / the kernel offset.

1 Like

Grin Transactions - Reading

  1. Alice can’t choose Bob’s blinding factor(rr) and nonce(kr) because, only bob knows and make his commitment based on what he received from Alice.You will need Alice’s and Bob’s partial signatures and commitment to form the transaction that suppose to be broadcasted.

  2. " Alice construct a partial transaction and sends it to Bob".

Bob can’t broadcast the transaction because, Alice still needs Bob signature and partial details to combine with her partial details, validated with Schnoor challenge, using it to generate a signature for the transaction, and then broadcast.

  1. The Transaction Kernel contain the signatures signed by both parties as a commitment.

  2. The pieces of information that are actually broadcast in Grin are as follows:

  • the inputs used

  • the new inputs

  • the Transaction Kernel

  • the Kernel Offset

1 Like
  • Why can’t Alice choose Bob’s blinding factor (rr) and nonce (kr) for him?
    So that she cannot spend Bob’s amount.
  • 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 Alice has to validate Bob’s partial signature.
  • What information does the transaction kernel contain?
    Transaction signature, excess blinding factor public key, transaction fee and lock height.
  • What pieces of information are actually broadcast in a Grin transaction?
    Inputs, outputs, txn kernel, kernel offset.
1 Like

1.- Because only Bob can spend this output
2.- To send the tx it needs both partial signatures
3.- Information from signatues, excess blinding factor, public key and the tx fee
4.- The inputs of tx, new outputs, tx kernel and kernel offset

1 Like

Questions:

  • Why can’t Alice choose Bob’s blinding factor (rr) and nonce (kr) for him?

Because by knowing she would be able to double spend the outputs she sent to Bob

  • 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 he needs Alice to verify the transaction and sign with her half of the signature to complete the transaction.

  • What information does the transaction kernel contain?

The transaction signature, blinding factor public key, block height and tx fee.

  • What pieces of information are actually broadcast in a Grin transaction?

Old inputs, new outputs and both the transaction kernel and kernal offset.

1 Like