How to use dc4bc

Part of withdrawal credentials rotation plan

At this stage of the ceremony, all participants have installed the necessary software, and have already set up communication [exchanged public communication keys] of workstations.

  • Cold machine
    • dc4bc_airgapped
    • qr-tool
  • Hot machine
    • qr-tool
    • dc4bc_cli
    • dc4bc_d
  1. Participants must agree offline who will launch the sign_baked first.

    ​​​​./dc4bc_cli sign_baked <hash_of_operation> <start_number> <end_number> 
    

    for examle

    ​​​​./dc4bc_cli sign_baked c04f3d54718dfc801d1cbe 0 10
    ​​​​./dc4bc_cli sign_baked c04f3d54718dfc801d1cbe 10 20
    ​​​​...
    ​​​​./dc4bc_cli sign_baked c04f3d54718dfc801d1cbe 18500 18632
    
  2. All participants call a command

    ​​​$ ./dc4bc_cli get_operations --listen_addr localhost:8080
    ​​​​
    ​​​​Please, select operation:
    ​​​​-----------------------------------------------------
    ​​​​ 1)             DKG round ID: c0401d1cbe86e3a3152c36763af3b8f2
    ​​​​                Operation ID: 83e14a21c0116094630654d923ba9600
    ​​​​                Description: Bls rotation sign ceremony round
    ​​​​-----------------------------------------------------
    ​​​​Select operation and press Enter. Ctrl+C for cancel
    

    When you promt 1. Commad saves data into .json.

  3. Open qr-tool prepated on step 1 and encode data.

  4. A generated gif file you have show to your webcam on arigraped machine in qr-tool, simular like on pictures below:

  5. After you have decoded gif into json file on arigraped machine eval the read_operation command in airgapped prompt:

    Waiting for command...
    >>> read_operation
    > Enter the path to Operation JSON file:

A command'll ask a path for the decoded file. And result will be new one file.

  1. That file user has to encode into gif though qr-encode tool simular line in step "3."
  2. File that we got in 6 section - user has to decode on machine where dc4bc cli works.
  3. ​​​​$ ./dc4bc_cli --listen_addr localhost:8080 read_operation_result <path_to_operation_result_from_step_8.json>
    
  4. After these actions, when a quorum of signatures (6/11) will be collected, the signature of the signed message for key rotation will publish into the kafka topic
Select a repo