Twilight
Search…
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:
1
Input Input' Delta Epsilon Output' Output
2
-->█---->█------█------█----->█------>█------->
3
-->█---->█------█------█----->█------>█------->
4
-->█---->█------█------█----->█------>█------->
5
-->█---->█------█------█----->█------>█------->
6
-->█---->█------█------█----->█------>█------->
7
-->█---->█------█------█----->█------>█------->
8
-->█---->█------█------█----->█------>█------->
9
-->█---->█------█------█----->█------>█------->
10
-->█---->█------█------█----->█------>█------->
11
| \ / |
12
| same value |
13
| commitments |
14
| |
15
| |
16
First Update Second Update
17
& Shuffle & Shuffle
Copied!
    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_\epsilon
    are committed with the same value.
Intermediary accouts are further explained here:

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:
Last modified 1yr ago
Copy link