All - Activity - adam - Algorand

Faster bootstrap on mainnet

If you have ~60GB free, there’s a tool called catchupsrv in the repo.

First you run it in “download” mode and it downloads (but doesn’t check) all the blocks. Next you run it in “serve” mode and point algod at it, and algod will catch up from it and check all the blocks. The tool was intended t…


A suggestion for a light-client wallet (like the BTC SPV wallet with Merkle tree)

Currently, block headers contain a flat hash (not a Merkle tree) of the transactions that appear in that block, but switching this to a Merkle tree would not be sufficient to allow for SPV. For a precise (but rather dense) description of the structure of a block, you can check out the ledger specif…


BA★ - pronounced how?

It’s pronounced “B A star”, yep!


Where in Go-Algorand code is leader selected

I’d definitely recommend reading Ignacio’s article to understand what’s going on. The code handles different parts of committee and leader selection in different places, so it’s kind of confusing and not really a great starting point. If you already understand what’s going on at a high level and w…


How is an Algorand's address made?

To add to what rdrk said: For regular addresses, the address is the base32 encoding of a 32-byte ed25519 public key and a 4-byte checksum. (If you’re interested, the checksum is the last 4 bytes of the SHA-512/256 hash of the public key.) For multisig addresses, instead of a 32-byte public key, it…


Some Questions About Algorand

4: To add to what Tsachi said: Once the network scales enough we may implement sharding; one possible picture of what that might look like is described in the Vault paper. 6: To add to what Tsachi said: If a block proposer sends out an invalid block, then no honest user will cert-vote that block, s…


Algorand's fork of libsodium

Created a github issue for this: https://github.com/algorand/go-algorand/issues/20 As for merging upstream, libsodium isn’t interested unless VRFs become widely-used primitives enough to justify adding them to the library, and even then they wouldn’t want to add this VRF construction until it finis…


Algorand's fork of libsodium

Also: for comparing github.com/algorand/libsodium to upstream libsodium, you’ll want to compare to the stable branch: https://github.com/jedisct1/libsodium/compare/stable...algorand:draft-irtf-cfrg-vrf-03


Algorand's fork of libsodium

Yeah, we’re not happy with it just being in tree either. Suggestions welcome. Previously we had crypto/libsodium-fork as a git subtree – so you could e.g. split it out using git subtree split. This got messed up when we squashed commits. We could bring that back at the expense of massively clutteri…


How anonymous/private are transactions, versus say Monero, Zcash?

At launch, Algorand transactions will be no more anonymous than those in Ethereum or Bitcoin – there just hasn’t yet been enough time to implement Zcash- or Monero-like anonymity features. Anonymous transactions are on our roadmap though – we definitely want them long-term.