Questions tagged as ['cryptocurrency']
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 ...

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 ...
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 ...
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 ...

According to https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#From_mnemonic_to_seed
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 ...
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 ...

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. ...
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 ...
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.

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 ...

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 ...
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 ...
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 ...
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.
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:
- Set $\psi \leftarrow g^x$, where $x$ is the private (signing) key for the scheme.
- Set the challenge hash to be $h \leftarrow H(M || r || \psi)$.
The second step above differs from ...
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 ...
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 ...
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?
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 ...

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?
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.

Facebook plan a new cryptocurrency release called Diem. What algorithms are used? What output size is used for the hash function?
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...?