- From: Adán Sánchez de Pedro Crespo <adan@stampery.co>
- Date: Fri, 9 Sep 2016 16:32:45 +0200
- To: Melvin Carvalho <melvincarvalho@gmail.com>
- Cc: Blockchain CG <public-blockchain@w3.org>
- Message-ID: <aae69f85-9380-44fa-be38-240d9e358460@stampery.com>
> What are you looking for in a block chain vocabulary? Specifically for data anchoring, I'd look for, at least: 1. Names for different hashing algorithms. A software tool for verifying blockchain proofs should know which algorithm to follow when reconstructing the hash chain from the original data hash / target hash to the merkle root. This identifier must not only specify which was the hashing algorithm applied to the original dataset, but also tell if a merkle tree was used and if so, the "mixing function" [1]. Example values: + "SHA2-256-merkle-bin": 256 bits SHA-2 hash of the concatenation of the binary value of two hashes. This is used by Tierion. + "SHA2-512-merkle-hex-com": 512 bits SHA-3 hash of the commutative concatenation of the hexadecimal value of two hashes. This is used by Stampery. 2. Names / codes identifying different chains Names or codes should be defined to identify the different chains and anchoring strategies that are broadly used. For example, Chainpont defines "BTCOpReturn" for Bitcoin and "ETHData" for Ethereum. On the other hand, Stampery BTA defines "1" for Bitcoin, "2" for Etherum Classic, "3" for Ethereum Fork and their negative counterparts ("-1"/"-2") for their livenet versions [2]. References: [1] Elixir examples of different mixing functions for usage in binary Merkle trees: https://github.com/stampery/elixir-merkle/blob/master/lib/mixers.ex [2] Stampery BTA whitepaper: https://s3.amazonaws.com/stampery-cdn/docs/Stampery-BTA-v5-whitepaper.pdf Best, -- *Adán Sánchez de Pedro Crespo* CTO, Stampery Inc. San Francisco - Madrid T: +34 663 163 375
Received on Friday, 9 September 2016 14:33:15 UTC