Commit Graph

51 Commits

Author SHA1 Message Date
Evan Duffield
e5267319ef Complete implementation of Proof-of-Service
- Ensures ports remain open and client are responsive to IX requests.
- Completely 100% decentralized. This farms out the work of checking the masternode network to the masternode network. 1% of the network is determistically selected to check another 1% of the network each block. It takes six separate checks to deactivate a node, thus making it tamper proof.
- Nodes are kept in the masternode list if they fail enough PoSe checks to deactivate. They will continue to be checked until the operator fixes them. However they will not be paid while they're failing checks.
2015-03-16 09:32:18 -07:00
UdjinM6
2e0d7ab0b6 fix even more console spam 2015-03-05 19:40:17 +03:00
UdjinM6
1ded1b9ec2 Few fixes for processing extra messages:
- call ProcessMessageMasternodePayments on ProcessBlock (lost after moving mnodeman functionality)
- do not process extra functionality messages (DS, IX, spork) on initial download / reindex
2015-02-26 17:40:43 +03:00
UdjinM6
0d51e1c90d better naming/readability (Find) 2015-02-25 14:54:03 +03:00
UdjinM6
adddff85a2 CMasternodeMan - masternode manager class - part1(broken) 2015-02-23 23:01:21 +03:00
Evan Duffield
23ea75f737 Add maximum out value for IX via spork 2015-02-11 08:08:55 -07:00
Evan Duffield
257078d2a4 Full Spork Implementation
Many sporks are supported at once, with efficient broadcasting
via inventory messages.
2015-02-09 12:49:00 -07:00
Evan Duffield
dd48c4a352 enable IX when fork detected 2015-02-08 11:59:09 -07:00
Evan Duffield
ddc31b0ff7 fixed issues with ix signature propagation 2015-02-07 20:54:36 -07:00
Evan Duffield
2f56ecb10a protocol version 2015-02-07 20:04:08 -07:00
Evan Duffield
3a263ed1bf fixed platform issues with calcscore / better re-converge after fork 2015-02-07 10:30:16 -07:00
Evan Duffield
3a72da77ac clean up tx lock votes on expiration 2015-02-06 13:19:22 -07:00
Evan Duffield
012f0e5660 Implemented inventory system for IX messages 2015-02-06 12:07:22 -07:00
Evan Duffield
dfb3da5ec3 version/protocol bump/min protocol 2015-02-06 09:03:50 -07:00
Evan Duffield
b65d718cf5 debugging 2015-02-06 08:54:39 -07:00
Evan Duffield
76e36bfbea only vote when in the top X nodes 2015-02-05 21:41:17 -07:00
Evan Duffield
6149e55710 extend txlock expiration 2015-02-05 17:49:55 -07:00
Evan Duffield
b27a6a3cac fixed score calculation 2015-02-05 17:32:03 -07:00
Evan Duffield
f51ee91a2c track requests per IX 2015-02-05 11:29:13 -07:00
Evan Duffield
d5376687d4 improvements for resolving forks 2015-02-05 10:56:11 -07:00
Evan Duffield
97d73a72b5 cancel out conflicting locks 2015-02-05 09:48:57 -07:00
Evan Duffield
c8fc2633ee Various IX improvements
- Fixed a segfault with listtransactions and IX
- Improved the feed back of IX while processing
2015-02-05 08:52:02 -07:00
Evan Duffield
77bade91be version bump 2015-02-04 21:05:36 -07:00
Evan Duffield
4064c2f5ef Improved IX security / quicker tx scanning 2015-02-04 14:59:19 -07:00
Evan Duffield
ea06ed5bae fix segfault with disablewallet 2015-02-04 14:19:18 -07:00
Evan Duffield
6ae98a8790 use authoritive block height for IX 2015-02-04 14:09:50 -07:00
Evan Duffield
2a0d3dfb9d Use hash after transaction was mined
- Prevents an attacker from gaming which masternodes they'll use
2015-02-04 13:25:12 -07:00
Evan Duffield
712eb7e9d9 improved conflict resolution 2015-02-04 13:20:13 -07:00
Evan Duffield
efe22ea1ae fixed segfault 2015-02-04 07:44:23 -07:00
Evan Duffield
b1c772a190 minimum fees for IX 2015-02-04 03:44:41 -07:00
UdjinM6
877405c8fb use more common syntax to make it clear that actually 6 confirmations are required for IX to work / +comments 2015-02-04 13:20:33 +03:00
Evan Duffield
d4896934e1 add transaction scanning for new transactions 2015-02-03 18:35:29 -07:00
Evan Duffield
e3ef585263 minor changes 2015-02-03 18:19:54 -07:00
Evan Duffield
f4b26d6f10 Enforcing IX locks
- Scan IX locks on new blocks to make sure no conflicting txes are present
- Upon completion of a IX lock, check for conflicts and remove blocks if needed
2015-02-03 15:40:00 -07:00
Evan Duffield
feb9a1e922 Improved masternode payments 2015-02-03 10:17:30 -07:00
Evan Duffield
2992907d91 Better DOS protection, fixed min confirmations 2015-02-02 10:33:52 -07:00
Evan Duffield
d07014ce1e add simple dos protection / IX vote class improvements 2015-02-02 07:38:50 -07:00
Evan Duffield
d512124bad Much lower bandwidth requirements for IX 2015-02-02 05:24:04 -07:00
Evan Duffield
5b0d0146b0 only update when tx is found 2015-02-02 05:06:43 -07:00
Evan Duffield
b59ba777fc only relay signatures to subscribing peers 2015-02-02 05:01:06 -07:00
Evan Duffield
2feb0fd2f8 fixed hashing for IX 2015-02-01 13:37:20 -07:00
Evan Duffield
6c8b23c0b2 return 0 for incomplete tx locks 2015-02-01 13:14:31 -07:00
Evan Duffield
c9585c7747 added set expiration for IX, cleaned up messages 2015-02-01 13:04:20 -07:00
Evan Duffield
a0d5f92f87 improvements to IsTransactionLocked 2015-02-01 10:47:56 -07:00
Evan Duffield
d3763f6f82 search inputs separately for IX 2015-02-01 09:16:31 -07:00
Evan Duffield
a3077626b5 various improvements to IX 2015-02-01 08:53:49 -07:00
Evan Duffield
5c7b132841 version bump / enable IX 2015-01-27 14:52:31 -07:00
Evan Duffield
539a8683a4 Added LiteMode
LiteMode disables Darksend/Masternodes/InstantX for clients
who want speed and don't need access to these features. UI
for Darksend is also hidden while in this mode.
2015-01-18 08:28:16 -07:00
Evan Duffield
826b18c41f Regtest+Darksend / Dsee update / vecMasternodes
- Made masternodes/darksend compatible with regression testing mode (a local-only blockchain that doesn't require mining). Developers can now test multiple rounds in a few minutes without waiting on mining (much faster).
- Added dsee security verification to v11
- darkSendMasternodes -> vecMasternodes (must clearer)
2014-12-30 19:54:00 -07:00
Francis Reynders
55cae78c3b Improve support for start-many:
- refactored CActiveMasternode
- added masternodeconfig to handle remote masternode configuration
- read masternodeconfig upon init
- new masternode rpc commands: stop-many, start-alias, stop-alias, list-conf
- added notCapableReason field for better handling not capable issues
2014-12-14 06:06:39 +01:00