Transaction

QuisQuis Tx

Function CreateTransaction takes as an input a set of sender, receiver and anonymity set accounts A=(Accs,Accr,Acc1...Acc7)A=(Acc_s, Acc_r,Acc_1...Acc_{7}) and a value vector v=(v,v,0...0)\vec v=(-v,v,0...0) where vv is the balance transferred from sender to receiver s.t. vi=0\sum v_i=0 .

CreateTransaction outputs a set of new accounts A=(Acc1...Acc9)A=(Acc_1...Acc_{9}) and proves that:

  1. Output accounts are the proper updates of Input accounts.

  2. Update satisfies preservation of value.

  3. Updated sender account has a positive balance

  4. Updated receiver account has received a positive value

Transaction structure for QuisQuis consists of:

Input  Input' Delta Epsilon Output' Output
-->█---->█------█------█----->█------>█------->
-->█---->█------█------█----->█------>█------->
-->█---->█------█------█----->█------>█------->
-->█---->█------█------█----->█------>█------->
-->█---->█------█------█----->█------>█------->
-->█---->█------█------█----->█------>█------->
-->█---->█------█------█----->█------>█------->
-->█---->█------█------█----->█------>█------->
-->█---->█------█------█----->█------>█------->
         |      \      /              |         
         |      same value            |     
         |      commitments           |       
         |                            |
         |                            |  
    First Update                 Second Update
     & Shuffle                     & Shuffle
  1. 9 input accounts

  2. 9 output accounts

  3. 36 intermediary accounts for: Input,Accδ,Acctϵ,OutputInput',Acc_\delta,Acct_\epsilon,Output'

  4. 2 bulletproofs ( for 0bl<2320\leq bl<2^{32} range)

  5. 2 shuffle proofs

  6. NIZK Schnorr proofs proving: - Knowledge of secret key for OutputsOutput'_s - Knowledge of blinding factors of commitments - Anonymity set has a balance 0 - comoutput=cominputcomδcom_{output'}=com_{input'}\cdot com_{\delta} - AccδAcc_\delta and AccϵAcc_\epsilonare committed with the same value.

Intermediary accouts are further explained here:

pageIntermediary Accounts

Lock Tx

A transaction that proves arbitrary conditions on a single account without spending the account.

A Lock Tx consists of:

  1. One input account to lock

  2. VM stack bytecode

  3. R1CS Bulletproof

  4. Schnorr Proof - Knowledge of the secret key - Same value in elgamal and pedersen commitment

  5. Cleartext message (if any)

  6. Delegate signature (if any)

  7. TxLog

Tx can either be unlocked by providing the verification key or be partially consumed in a QuisQuisTx without updating the account.

OrderTx/LendTx are examples for the LockTx:

pageOrder/LendTx

Last updated