A Sybil attack is an attack where a single adversary is controlling multiple nodes on a network. It is unknown to the network that the nodes are controlled by the same adversarial entity. For example, an adversary can spawn up multiple computers, virtual machines, and IP addresses. They can create multiple accounts with different usernames and e-mail ...
TL;DR: small code differences, but many larger ecosystem differences
IIRC, Dogecoin is a fork of Luckycoin, which in turn was forked from Litecoin, which was forked from Tenebrix, which was forked from Bitcoin. As far as I can tell, the main differences to Bitcoin are:
scrypt hashing algorithm
1 minute block interval
accelerated reward schedule:
Full supply ...
Mining is not essential for coin creation. New coin introduction can be tied to new block creation, or be time based. Even if you don't use proof of work, you will still have blocks (even if you don't call them that way anymore; they may be called "database updates"). More interesting however, if you don't use proof of work, you don't even need your own ...
It depends a lot on the specific altcoin you're talking about. For the most part, there aren't a lot of major differences between Bitcoin and the alts. Sadly many of them exist only as the leftovers of pump-and-dump schemes intended to make their creators rich, though there are a few that are interesting in important ways.
One of the primary benefits of a ...
You should study the current alt-coins world:
en.bitcoin.it: List of alternative cryptocurrencies
bitcointalk.org: List of all cryptocoins
The most interesting alt-coins today on my sight are:
Quarkcoin (QRK) blake, bmw, groestl, jh, keccak, skein
Primecoin (XPM) First non-hashcash proof-of-work in cryptocurrency, pure prime number based proof-of-work
First, you're going to have to prove that your altcoin is useful and has value and liquidity. You can't just create a new coin and expect people to value it. The most successful altcoins have something different about them or some feature that other coins don't have. In other words, you need to create some demand.
Second, once you have demand, then you need ...
It's not possible to directly compute the ed25519 public key from the private key. Instead, use the deterministic private key to create a seed, then use the seed to re-create the private key with its corresponding public key. The following code snippet assumes ed25519_skpk is already initialized:
char hex_ed_pk; ...
The issue here is with:
(block.nVersion < 3 && nHeight >= consensusParams.BIP66Height)
Your block has version 2, but I assume the block you are trying to download is higher than BIP66Height so it rejects it.
Its very difficult and requires a lot of expert know-how to modify the source code of a coin, and it sounds like you probably don't ...
Currently, for a custom-built high-performance desktop, 16 GB of RAM (or even 32 GB) is typical, while one of the best GPUs, the AMD Radeon HD 7990, has 6 GB of GDDR5.
Suppose the memory requirements were raised to 4 GB. That means that each thread will require 4 GB, so a CPU can mine on 4 threads at a time (16 / 4 = 4), while a GPU can only mine on 1 ...
Despite the name, the MAX_MONEY constant is not used in determining the total maximum number of coins. Rather, it is used only for a sanity check: any transaction output larger than MAX_MONEY is automatically rejected as invalid. They simply set this new constant equal to the eventual maximum number of Bitcoins, since that is a value that certainly should ...
You can't prevent miners from enforcing more rules than the rest of the network is. However, to actually turn that into a soft fork, a significant portion of the network also needs to start enforcing it.
However, the only way a softfork can affect users of the system in a negative way is by disallowing certain transactions that used to be useful. That ...
Are there any steps which I should include in my altcoin's mining algorithm to prevent ASIC mining?
That's not really what you should be asking. You should be asking, "Can someone design an ASIC which is more effective at mining my altcoin than a general purpose CPU?" At sufficient scale, that is always possible.
However, you don't really care if someone ...
The genesis block still must meet the proof of work requirements that other blocks must also meet. So you must actually mine the genesis block. To do this, you need to put CreateGenesisBlock in a while loop and just keep incrementing the nonce, and if necessary, increment an extranonce in the coinbase transaction.
To check that it has a valid proof of work, ...
It comes up that Bitcoin network has better security. Is that due to the hashrate ? If more miners start switching to Doge, wouldn't that solve the problem ?
Security in Bitcoin is not just about hashrate although it is one of the important things to consider. Other things related to security:
Bitcoin Core: One of the top 10 C++ critical open source ...
you might be interested to know that the bitcoin blockchain can already be used to store arbitrary data. for example the original whitepaper pdf that satoshi wrote explaining how bitcoin works has actually been uploaded to the blockchain. it was done using 948 outputs in a single transaction for a fee of 0.596175 btc ~ US$143.02 at the time i'm writing this. ...
Check out MPOS, here is a guide to setting up an MPOS pool:
And, to answer your last question, it is impossible to solo mine standard coins on a single computer that does not have the alt coin wallet in question installed.
There was a coin called Flashcoin that tried to do 6-second block times. I don't think that's being actively mined anymore as another Flashcoin appeared a year later (60-second block times).
Ethereum is planning a 12-second block time. Vitalik makes an argument for why that's probably the minimum for now here. Of course, ethereum hasn't been released yet, ...
If you subscribe to the notion that names do not matter, then obviously only technical differences can make any altcoin potentially superior. Most altcoins do not meet this criteria, because they are barely more than a Bitcoin clone (possibly with some minor tunings of details such as the block confirmation time you already mentioned).
Here are some of those ...
dev gets paid
some bounties and coin distribution can occur
depending on the size of the premine, developer could get an unreasonably large amount of coins for what is essentially a copy and paste job.
negative preconceived opinions about the coin because it is premined.
dev could be a scammer and dump all the coins, rapidly deflating the ...
Create genesis block. Some people get stuck there, it's really easy:
find LoadBlockIndex() function, inside, change:
paraphrase (pszTimestamp) to any recent news phase.
get the latest unix time (do a google), and put in block.nTime.
set any nNonce (doesn't really matter),
you can change the time/nonce for testnet too, if you want to use it.
After you are ...
What bitcoin does is maintaining a distributed ledger in which transactions are stored. Simplified, you will get a huge table like this:
From | To | Amount
SYS | A | 100
SYS | B | 100
SYS | C | 100
A | B | 50
C | B | 50
Coins come into the system ...
It is indeed possible, with some tweaks in the code to differentiate from the original. Effectively, you'd be starting an altcoin with all the same parameters as bitcoin.
However, if it had everything exactly the same as the original, it would be very vulnerable as some big bitcoin miner could one day wake up and decide to point his hashpower to this new ...
Couple of points covering what it is and how it works:
The description might be out of date. You'd need to follow the code to see how seeding is done. E.g. IRC seeding is not used any more (but that is noted).
Those addresses are DNS seeds. They run a DNS name server which is usually used to translate website names (like www.google.com) to IP addresses (...
The reason why you are not finding many detailed resources about blockchain is because it is a new innovation and not widely understood. Most resources are scattered across blogs and code repositories. A few developer and programming guides are listed lower down.
The most valuable and primary resource is the Bitcoin Core client implementation - also called ...
uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); //what this do ? end what put to here
The first line describes a minimum difficulty.
consensus.nRuleChangeActivationThreshold = 6048; // 75% of 8064 //what this do end what put ?
consensus.nMinerConfirmationWindow = 8064; // nPowTargetTimespan / nPowTargetSpacing * 4 //what this ...