This is the thread for testing SpreadCoin masternodes. All the testing will happen on testnet.
DownloadWindows:
http://spreadcoin.net/mn/SpreadTestCoin32.7zSource:
https://github.com/spreadcoin-project/spreadcoin/tree/mn-test (be sure to build from the mn-test branch)
You can safely launch it together with mainline SpreadCoin wallet, it works like a different coin. Default datadir for this modified coin is spreadtestcoin.
TestingWait for cennecting to peers and synchronization and then start mining with one thread using built-in miner. Initial difficulty is 1/1000 that of SpreadCoin so you can take part in this instamine. Don't start mining before synchronizing with the network.
To start a masternode send yourself at least 100 SPR and wait for 50 confirmations, then go to masternodes page and start your masternode. If you don't have anough coins then post your address in this thread and I will send you some coins.
SpreadCoin MasternodesAll the numbers in this post describe testnet, they can change when we will introduce masternodes to mainnet.
The following terms are used in this text:
Node - any full (i.e. SpreadCoin-Qt or spreadcoind), not lightweight (like the one running on Android) node.
Masternode - node which has some locked money amount and performs some additional actions (provides additional services).
Is SpreadCoin implementation based on DarkCoin?No, this is original implementation.
How is it different from DarkCoin?In SpreadCoin there are no centralized reference nodes to decide which masternodes should receive payments, it is decided by the network in decentralized maner. In DarkCoin the messages which select masternodes are separate from the blockchain and are distributed independently. This way it is possible that nodes will have different opinion on what masternode should receive next payment. In SpreadCoin all votes for masternodes will be stored in blocks and the payee will be uniquely determined from the previous blocks. Just like you can check that any transaction included in the block is correct by comparing its inputs with outputs in previous blocks you will be able to check that masternode payment is correct by checking previous blocks. Why bitcoin is so reliable? Because all nodes have exactly the same rules how to determine which blockchains are correct and which one is better (required more work) than others, these rules are only depended on blocks themselves, not on the order in which they were received them nor on any other messages which you may or may not receive in time. The network can be unstable in the case of some major event which will break connectivity between nodes but once connectivity between nodes is reestablished all nodes will stick to the same blockchain. The same will apply to SpreadCoin.
How masternodes are elected?Each node monitor the network and assign scores to each masternode. This scores depend on how well masternodes provide their services, for instant transactions this will be time delay between transaction and its confimation by masternode. Since there may be no transactions and only elected masternodes will confirm transactions there is an empty service - each masternode will broadcast messages signining certain blocks to prove that it is running. Miners will include votes in their blocks. Votes can either be positive (elect not yet elected masternode) or negative (deelect already elected masternode). If masternode has more than 30 positive votes in the last 60 blocks then it is added to the list of elected masternodes. If masternode has more then 30 negative votes in the last 60 blocks then it is removed from the list of elected masternodes. Note that it is possible to determine which masternodes were elected at each particular block.
Can miners cheat to elect their own masternodes?The system is designed in such a way that all miners will make almost the same votes. Thus, unless you control more than 50% of the hashrate you couldn't actually affect the voting process because you will be outvoted by the rest of the network.
Wouldn't storing votes in blockchain make it too large?No, there is a limit of 10 votes per block and most blocks will have less votes.
How will masternodes receive payments?In each block part of the reward (30%) will go to masternode instead of the miner. Elected masternodes are sorted according to their identifiers and receive payments in order, there is no randomness in this process. Since it is possible to uniquely determine which masternodes are elected solely from the blockchain it is also possible to uniquely determine which masternode should receive the payment, nodes cannot disagree on this.
How much SPR is required to run a masternode?There is a limit of 1000 masternodes, only masternodes with top 1000 amounts will be elected to receive payments, therefore the exact amount you will need to lock will be determined by the market. This amount is locked but it is still yours, when you don't want to run your masternode anymore you can spend it.
Is static IP required to run a masternode?It is not required and for instant transactions this is not necessary.
What is instant transaction?It is a transaction which is confirmed by masternodes within seconds after broadcasting. Once confirmed there is guarantee that this transaction (and not any conflicting one) will be included in the blockchain.
What is the state of instant transactions implementation in SpreadCoin?Most effort was put into developing masternode election/payments mechanism, instant transactions are currenrly not fully implemented. Although masternodes confirm them there is no logic in place to replace unconfirmed transactions with the confirmed ones in the case of double spending attacks and to reject blocks with conflicting transactions. Note that rejecting blocks based on whether or not it includes transactions which conflict with confirmed instant transactions can lead to forks but this can be solved.
Which transactions can be made instantly?Currently these are all transactions with less than 15 inputs and fee of at least 0.001 SPR per input.