# Questions tagged as ['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.
Score: 2
Difference between fuzzy vault and fuzzy commitment?

https://dl.acm.org/doi/10.1145/2905055.2905118

Quoting the above paper's abstract, "Biometric cryptosystem can apply fuzzy vault, fuzzy commitment, helper data and secure sketch, whereas, cancelable biometrics uses distorting transforms, Bio-Hashing, and Bio-Encoding techniques."

It differentiates between a fuzzy vault and a fuzzy commitment scheme. How are the two different? Where does fuzzy ext ...

Score: 0
Does the number of bits in the block nonce influence the security of the blockchain?

I know that Bitcoin uses a 32bit nonce that miners iterate over trying to hit the target number of prefixed 0's in the hash. If they run through all 2^32 combinations they then change something else in the block (either the 32bit extraNonce field, or by adding and removing transactions, changing the timestamp of the block slightly etc.)

I am implementing my own cryptocurrency from scratch and my  ...

Score: 0
Let user(s) chose to mint a specific NFT from a solana collection

I have a collection of images to transform in NFTs. For that purpose I have selected to work with solana blockchain, since it is fast and cheap.

I have used the following software resources:

• solana-cli
• node.js
• metaplex
• candy-machine-mint

In order to publish a collection, I needed to order the tokens from 0.png to Nth-1.png, and I have done some tests on solana devnet. In fact, I have the project almost ...

Score: 1
Literature about cryptography and programming on c++

I'm interested in learning about cryptography and making something practical out of it - make own cryptocurrency sometime im future.

I think I have good knowlegde of c++, I learned from learncpp.com and from Bjarne's books. So first what I need is book about basics of cryptography. After that I would do some practical things so I need something to cover cryptocurrencies in c++.

Any suggestions? Than ...

Score: 1
Which passphrase length is good so it's hard to break bitcoin's PBKDF2 key?

To create a binary seed from the mnemonic, we use the PBKDF2 function with a mnemonic sentence (in UTF-8 NFKD) used as the password and the string "mnemonic" + passphrase (again in UTF-8 NFKD) used as the salt. The iteration count is set to 2048 and HMAC-SHA512 is used as the pseudo-random function. The le ...

Score: 3
DIY TRNG on an embedded system for Ethereum private key generation

I'm trying to build this Ethereum hardware wallet on a custom designed embedded system and I'm no expert. Googling around I found this Robust, low-cost, auditable random number generation for embedded system security paper. As I read the proposal in this paper, it sounded quite safe; a real TRNG. Neverthless, as I struggled to simulate the circuit in any online circuit builder, I thought that maybe I ...

Score: 0
Are there batched vector/polynomial commitment proofs with sublinear proof size for Verkle Trees?

High level goal: a Verkle tree (Merkle tree using algebraic vector commitments at each level rather than hashes) with depth d where I can prove the existence of n key/value pairs in the tree. Assuming the verifier already has the tree root commitment as well as the key/value pairs, I would like the additional proof size to be sublinear in either d or n, or ideally both. Zero-knowledge is not required. ...

Score: 1
Is a truly p2p ledger (cryptocurrency) possible?

Is a truly p2p ledger possible, where there is no need for a third party (or a number of third parties) to verify ledgers.

Probably a system where the two parties who don't trust each other can verify each others ledger and then perform a transaction. If one of the parties is foul playing then the other party would not proceed with the transaction, cause that will make all his future transactions ...

Score: 1
Private Key from Extended Private Key and Public Address

Is it possible to generate a private key from a public address and an extended private key?

For context: I am using C# and NBitcoin. The public address is generated from the outside via an extended public key and I have access to the mnemonic, extended private key, seed, etc.

Score: 0
Is it safe to use the same seed phrase for different cryptocurrency protocols

I want to use the same seed phrase for severl cryptocoins (Bticoin, Ethereum, Nano, etc.). I understand that each protocol has its own phrase length and possibly a different way of generating the private/public keys from the phrase.

I also understand that if one wallet is comporomised, and the phrase is stolen, it can be used to access funds on any protocol.

But besides that, from a mathematical/cry ...

Score: 0
How does hardware wallet recovery work?

I'm investigating hardware cryptocurrency wallets and am trying to understand how recovery works from a technical point of view. These wallets typically provide a 24-word "recovery seed" from which the wallet can be recovered. What I'd like to understand is how the private keys for various cryptocurrencies can be recovered from this one seed, especially considering the the private keys are generated sub ...

Score: 1
Are zk-STARKs really quantum resistant?

I see lots of mention that zk-STARK proofs that are being developed notably for use in blockchain networks are labelled as "quantum resistant". Many articles and reports that state this, claim such based on the idea that zk-STARKs rely on collision-resistant hashes. My understanding though is that there can never be a perfectly collision-resistant hash - and that it would be trivial for a quantum comput ...

Score: -1
How to pad in the SHA256 Algorithm (an example using Bitcoin Header)?

For any bitcoin block we combine various Header fields to create a string which is an input to a 2 pass SHA algorithm. The resultant hash must match with the Hash in the Block header for the Block to be valid.

To test this logic as well as SHA algorithm, I used the header of Block number 695877 (https://blockchain.info/rawblock/695877?format=json) to create the Input string 04008020546c35998681264442 ...

Score: 0
Crypto Economic Attacks such as Nothing At Stake and Sandwich Attack from Archive Nodes on Polkadot

Could you please advise me if there are threat vectors from archive nodes such as front running attacks, sandwich attacks and nothing at stake attacks as they are quite powerful in terms of the infrastructure and information architecture. How do we prevent scenarios when they become byzantine and become powerful and practical adversaries.

Score: 0
Related Key Attack on Schnorr Signature - Why does the challenge include $\psi = g^x$, not $y$?

The original Schnorr signature scheme suffers from a Related Key Attack (RKA) as described by Morita et al. The authors of this paper then suggest a modification to the signature algorithm to prevent a RKA as follows:

1. Set $$\psi \leftarrow g^x$$, where $$x$$ is the private (signing) key for the scheme.
2. Set the challenge hash to be $$h \leftarrow H(M || r || \psi)$$.

The second step above differs from  ...

Score: 0
Generating public/private key pair without a trusted dealer

I want to make an Ethereum wallet where I can prove no one has the private keys in one place.

Basically, I was wondering whether the ECDSA signatures could be generated by multiparty computation like BLS signatures would be.

Failing that, at least can I use Shamir Secret Sharing and use M of N to do some kind of multisig shnorr signature? It needs to be something that Ethereum’s solidity will acce ...

Score: 1
How to generate a random string in Python for a mission-critical application

I'm trying to figure something out, but it is difficult for me. I need to generate a fully random string in Python. My current function is attached below. I just want to know whether this is secure and good for the project that I'm working on, a cryptocurrency type of website.

import random
import string

def get_random_string(length):
result_str = ''.join(random.choice(string.ascii_letters) fo ...
Score: 0
How are zero-knowledge proofs used in blockchains to achieve anonymity?

The idea of blockchain is clear to me - If we reach consensus and all participants have the same state, it is easy to verify transactions. But new mechanisms (like Z-Cash) allow this without the transaction information be publicly readable by all participants. How is this even possible?

Score: -2
Bitcoin energy waste

Reading learnmeabitcoin I found the following how bitcoin works:

The bitcoin difficulty self adjusts so that a block is solved on average in 10 minutes.

Solving a block requires the miner to generate hashes until it reaches a certain valid hash (for example a value lower than a target). This means that the miner will use all available processing power to generate random hashes in hoping that it wil ...

Score: 0
What hash structure is Facebook Diem using?

Some cryptocurrencies use fixed values in some positions in the resulting hash, like a fixed amount of initial zeros. What fixed positions and fixed values are Facebook Diem using?

Score: 1
Is it possible to provably make cryptocurrency tokens inaccessible?

Would it be possible to generate an agreed upon public key that has no corresponding private key (maybe by using the latest few block hashes of a blockchain) and then send cryptocurrency to that account to provably make your tokens inaccessible?

If so, this would be a really easy way to implement cross-chain exchange of value.

Score: 1
What are the algorithms used in Facebook's Diem algorithm?

Facebook plan a new cryptocurrency release called Diem. What algorithms are used? What output size is used for the hash function?

Score: 1
is it efficient if blockchain uses double Hash algorithms $H_1$ and $H_2$?

I wonder is it efficient to use less Target condition and double hash algorithms with different target (or the same target with different Hash algorithms) and one nonce in a Block.

Example

Target 1 for Hash1 H1 is 3zeroes, 000F543D... Target 2 for Hash2 H2 is 4zeroes, 0000FSDF...?