Questions tagged [cryptocurrency]

A cryptocurrency is a digital currency powered by cryptography. This tag is applicable only to Q&As about the CRYPTOGRAPHIC MECHANISMS used by a currency, not for questions about economy, usage, or acquisition of any particular currency. The latter kinds are unwelcome. Please note that Stackexchange has dedicated websites for Bitcoin, Ethereum, Monero, etc.

A cryptocurrency is a digital currency powered by cryptography. This tag is applicable only to Q&As about the cryptographic mechanisms used by cryptocurrencies, not for questions about economy, usage, or acquisition of any particular currency.

See this meta for why questions on practicalities, IT security, programming, variants, theft, social engineering, economics, sociology, legals of cryptocurrency are unwelcome.

Please note that Stackexchange has dedicated websites for Bitcoin, Ehtereum, Monero, etc.

Here are some links for your convenience:

295 questions
61
votes
3 answers

Hashing or encrypting twice to increase security?

Over on the bitcoin forums I asked why the bitcoin client computes SHA-256(SHA-256(x)) as its cryptographic hash for a variety of purposes. The leading theory--since the bitcoin author has disappeared--seems to be that from a security standpoint it…
maaku
  • 711
  • 1
  • 5
  • 4
60
votes
4 answers

Is secp256r1 more secure than secp256k1?

Curves secp256r1 and secp256k1 are both examples of two elliptic curves used in various asymmetric cryptography. Googling for these shows most of the top results are Bitcoin related. I've heard the claim that… Satoshi picked non-standard crypto…
ripper234
  • 1,077
  • 1
  • 10
  • 13
40
votes
2 answers

How does hashing twice protect against birthday attacks?

The bitcoin wiki says: Bitcoin is using two hash iterations (denoted SHA256^2 ie "SHA256 function squared") and the reason for this relates to a partial attack on the smaller but related SHA1 hash. SHA1's resistance to birthday attacks has been…
4nt
  • 503
  • 1
  • 4
  • 5
32
votes
2 answers

Prevent double-spending with decentralized digital currencies without all transactions being public?

A recent approach to creating a decentralized online currency, called Bitcoin, has been generating some interest. The goal is to have a way to transfer currency without a central authority and without double spending or counterfeiting. Their…
27
votes
1 answer

Why hashing twice?

I'm trying to understand the Bitcoin protocol, and sometimes see instructions like this: The TransactionId is defined by SHA256(SHA256(txbytes)) or The hash of the public key is generated by performing a SHA256 hash on the public key, and then…
Timur Lemeshko
  • 373
  • 1
  • 3
  • 6
21
votes
4 answers

How secure is the Bitcoin protocol?

Are there any evidence (other than not being cracked so far) that the Bitcoin protocol is secure? "How secure" is it? (I realize that this might not qualify as a meaningful question - feel free to edit if you can improve it. Also, if you liked this…
ripper234
  • 1,077
  • 1
  • 10
  • 13
21
votes
1 answer

How to provide secure "vanity" bitcoin address service?

Bitcoin addresses are RIPEMD-160 hashes of the public portion of a public/private ECDSA keypair (along with an abbreviated hash of the hash to provide a check code, as @pulpspy notes in a comment). They are generally base-58-encoded. See Address -…
nealmcb
  • 580
  • 3
  • 14
20
votes
1 answer

Will IBM's Condor quantum processor run Shor's Algorithm to crack a 256-bit Elliptic Curve key?

Yesterday IBM announced that they have a 433 bit quantum computer, called Osprey. There is nothing in the press releases I can find that says whether it can or cannot run Shor's Algorithm. They also say they are on track to release "Condor", an 1121…
19
votes
2 answers

SHA-256: (Probabilistic?) partial preimage possible?

Currently busying myself with the Bitcoin "mining" algorithm, I am wondering if the process really cannot be simplified. For reference, the algorithm is basically SHA-256d: $$\mathit{success} := \operatorname{SHA256}( \operatorname{SHA256}(…
15
votes
4 answers

How to deal with collisions in Bitcoin addresses?

When creating a Bitcoin account, you need to issue a couple of private/public ECDSA keys. Then, you derive your account address by taking a 160-bit hash (through SHA-256 and RIPEMD) of the public key and use a custom Base 58 algorithm to convert it…
perror
  • 605
  • 2
  • 10
  • 29
14
votes
1 answer

Why "1" in 51% attack on Blockchain network

In many sources, included Wikipedia, we read: Any pool that achieves 51% hashing power can effectively overturn network transactions, resulting in double-spending. My question is: Why do we talk about 51% attack? If my understanding is correct, we…
Manu NALEPA
  • 243
  • 2
  • 6
14
votes
2 answers

Does secp256k1 have any known weaknesses?

I am wondering whether there are any properties of the curve which would technically make it easier to attack than any other curves of 256 bits in size. I have heard that being a Koblitz curve, it has a few bits weaker security than some other…
Matt
  • 255
  • 2
  • 5
11
votes
3 answers

Is double SHA-256 the best choice for Bitcoin?

So I was just curious. I really look up to Blockchain technology and I have read that Bitcoin uses double SHA-256 for hashing. ( from what I understood, double sha256 is essentially $\operatorname{SHA-256}(\operatorname{SHA256}(value))$ ). Is double…
11
votes
1 answer

HD (Hierarchical Deterministic) Keys using Safe Curves?

Bitcoin's HD (Hierarchical Deterministic) Keys as described in BIP32 allow for a master key to be created (a private key and a chain code) such that a tree of both public and private keys can be derived from a master key, each which can have…
10
votes
3 answers

Why don't crypto-currencies use the Lamport signature scheme?

The Lamport signature scheme is faster, less complex and considerably safer than ECDSA. It's only downside - being only usable once - isn't really a downside when signing transactions, since you could just include your next public key whenever…
MaiaVictor
  • 1,365
  • 8
  • 16
1
2 3
19 20