diff options
author | Viktor TrĂ³n <viktor.tron@gmail.com> | 2017-09-05 18:38:36 +0800 |
---|---|---|
committer | Felix Lange <fjl@users.noreply.github.com> | 2017-09-05 18:38:36 +0800 |
commit | 2bacf36d8095ac7936f69552e2727ac6f276479f (patch) | |
tree | 45ed5eff0404742d67273d3c958642b066888d41 /swarm | |
parent | 32d8d422746ba0dcb86ac7450672dd7da440b222 (diff) | |
download | go-tangerine-2bacf36d8095ac7936f69552e2727ac6f276479f.tar go-tangerine-2bacf36d8095ac7936f69552e2727ac6f276479f.tar.gz go-tangerine-2bacf36d8095ac7936f69552e2727ac6f276479f.tar.bz2 go-tangerine-2bacf36d8095ac7936f69552e2727ac6f276479f.tar.lz go-tangerine-2bacf36d8095ac7936f69552e2727ac6f276479f.tar.xz go-tangerine-2bacf36d8095ac7936f69552e2727ac6f276479f.tar.zst go-tangerine-2bacf36d8095ac7936f69552e2727ac6f276479f.zip |
bmt: Binary Merkle Tree Hash (#14334)
bmt is a new package that provides hashers for binary merkle tree hashes on
size-limited chunks. the main motivation is that using BMT hash as the chunk
hash of the swarm hash offers logsize inclusion proofs for arbitrary files on a
32-byte resolution completely viable to use in challenges on the blockchain.
Diffstat (limited to 'swarm')
-rw-r--r-- | swarm/storage/chunker.go | 3 | ||||
-rw-r--r-- | swarm/storage/types.go | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/swarm/storage/chunker.go b/swarm/storage/chunker.go index 563793e98..ca85e4333 100644 --- a/swarm/storage/chunker.go +++ b/swarm/storage/chunker.go @@ -51,7 +51,8 @@ data_{i} := size(subtree_{i}) || key_{j} || key_{j+1} .... || key_{j+n-1} */ const ( - defaultHash = "SHA3" // http://golang.org/pkg/hash/#Hash + defaultHash = "SHA3" + // defaultHash = "BMTSHA3" // http://golang.org/pkg/hash/#Hash // defaultHash = "SHA256" // http://golang.org/pkg/hash/#Hash defaultBranches int64 = 128 // hashSize int64 = hasherfunc.New().Size() // hasher knows about its own length in bytes diff --git a/swarm/storage/types.go b/swarm/storage/types.go index cc5ded931..a9de23c93 100644 --- a/swarm/storage/types.go +++ b/swarm/storage/types.go @@ -24,6 +24,7 @@ import ( "io" "sync" + // "github.com/ethereum/go-ethereum/bmt" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto/sha3" ) |