Skip to content
Snippets Groups Projects

WIP: RFC 2 : New binary Duniter protocol

Closed nanocryk requested to merge dip/0002 into master

Update 2 : Improved structures and explanations

In the current Duniter protocol all documents are managed in a textual format. While being practical as readable and verifiable by humans, it's less beneficial for programs usage since it needs parsing, fields content verifications and waste space with unused codepoints of text formats.

We propose a new protocol format which reuses ideas of the current protocol while providing a more concise and less error-prone structure while staying simple enough so it can be analysed with appropriate tools or even converted to text.

Edited by nanocryk

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Cédric Moreau
  • Cédric Moreau
  • Cédric Moreau
  • Éloïs
  • Éloïs
  • nanocryk added 1 commit

    added 1 commit

    • 40663549 - Typo; private key text format; Removed transaction comment constraints

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    • 521fa67a - Removed username characters constraint

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    • 3f613341 - Document can have multiple issuers

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    • ff37740a - Multiple issuers in compact format.

    Compare with previous version

  • Éloïs added 1 commit

    added 1 commit

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    Compare with previous version

  • Éloïs added 1 commit

    added 1 commit

    • ae3a3d94 - [fix] typo issuer -> issuers

    Compare with previous version

  • Éloïs added 1 commit

    added 1 commit

    • 6fe3752a - "peer" documents have nothing to do in the blockchain protocol

    Compare with previous version

  • Éloïs added 1 commit

    added 1 commit

    Compare with previous version

  • Éloïs added 1 commit

    added 1 commit

    Compare with previous version

  • nanocryk
  • nanocryk added 1 commit
  • nanocryk
  • Cédric Moreau
  • Cédric Moreau
  • nanocryk added 1 commit

    added 1 commit

    • 785882dc - Usage of term blockstamp; Revocation document; Transaction comment format; Clarifications

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    • a910d34b - Multiple scripts acting like functions (see DIP0001)

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    • f6f5aa38 - UD input virtual unlock script

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    • 2cdaa137 - Removed previous_hash, we can use blockstamp instead.

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    Compare with previous version

  • nanocryk added 1 commit

    added 1 commit

    Compare with previous version

  • Éloïs added 1 commit

    added 1 commit

    Compare with previous version

  • Éloïs added 1 commit

    added 1 commit

    Compare with previous version

  • Éloïs
    Éloïs @librelois started a thread on commit d0d6e4cd
  • 64 64
    65 65 ## Identities
    66 66
    67 Each identity is identified by an *identity uid* composed of an hash of the username and the *blockstamp* of the identity creation.
    67 Each identity is identified by an *identity uid* composed of an hash of the username and puybkey and the *blockstamp* of the identity creation.
    68 68
    69 69 ```
    70 identity_uid = SHA256(username + blockstamp)
    70 identity_uid = SHA256(username + pubkey + blockstamp)
    • As long as an identity is not registered in blockchain, the corresponding uid is not reserved, so one can have several identities with the same uid. the uniqueness of an identity can only be guaranteed with the triplet uid/pubkey/blockstamp !

    • Author Contributor

      Is the username uniqueness paragraph better ?

    • Please register or sign in to reply
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading