v0.11.1 - InstantX Release

eduffield

Core Developer
Mar 9, 2014
1,084
5,319
183



We are excited to announce the release of Darkcoin Core v0.11.1! We have decided to push out InstantX in a separate release because it’s working perfectly on testnet and our other changes to the masternode network will take some time to complete.


This release includes a full implementation of InstantX, a new version of enforcement that works with the updated Bitcoin architecture, huge improvements to Darksend, many more languages supported, lower bandwidth usage and a fully implemented sporking framework.


For more information about how InstantX works, checkout our whitepaper: https://www.darkcoin.io/wp-content/uploads/2014/09/InstantTX.pdf

Hard Fork

This release implements two hard forks, so all users must update ASAP. The network will fork in 1 week or when 80% of miners have updated.

Laggy client? Try starting your client with --upgradewallet=61000. It seems the older wallet version causes most of these issues. BACKUP your wallet first though!

InstantX

v0.11.1 utilizes a fully implemented version of InstantX. To try InstantX, use the QT wallet and simply click the “InstantX” checkbox when sending money. Funds send using InstantX will gain 5 masternode-level confirmations within seconds from the network, then within an average of 1.25 minutes a 6th block-level confirmation will make funds spendable on most websites.

InstantX is automatically enabled and this means when using the daemon, the API will show transactions as confirmed as soon as the masternode network successfully locks them in place.

To disable InstantX, simply start the daemon/client with --instantxdepth=0. This will be the equivalent of running in a pure proof-of-work mode.

InstantX does not support sending via the API at this point. This will be included in a future version.

InstantX Tutorial

To use InstantX, simply check the “InstantX” box, then send money normally.



On the transaction screen, it should update within a few seconds from the question mark icon to the clock



To see more information about the state of InstantX, double click the transaction.

Possible messages include:
“Verified via InstantX”: This means network locks are in place and the money is safe
“InstantX verification in progress - X of 25 signatures” : This means the network is currently processing your transaction and your client is waiting on more signatures from masternodes
“InstantX verification failed” : The network failed to validate the transaction. In this case, normal proof-of-work will occur.




Requirements / Feature Breakdown:
  • Inputs used must have 5 block-level confirmations in order to send via IX
  • To lock a transaction via IX, 15 of 25 elected masternodes must respond by voting
  • Transaction locks are lost when restarting the client and only last for an hour
  • Transactions must pay a fee of 0.01 DRK to use IX
  • Once a transaction lock is in place, conflicting transactions will be rejected if in blocks or relayed as a normal transaction.
  • InstantX is designed to work nearly all of the time. I expect it will work on about 98%+ of transactions in it’s present form. If it fails, the transaction will simply fall back to normal proof of work.

DarkSend

Various improvements have been made to Darksend, such as the fully implemented “DSTX” message. This means that when anonymizing funds, Darksend transactions are first class citizens in miner’s blocks and will be included immediately. Other stability issues were also fixed.

DSTX messages are a new type of protocol extension, which allows masternodes to submit special transactions, which don't require fees to be submitted into the blockchain. This improves user privacy for Darksend and removes the dead-change attack.

Enforcement

v11.0’s implementation of enforcement was not compatible with the newer Bitcoin architure. Recently we moved from the Litecoin code base, to the new Bitcoin codebase. This exposed some edge cases within the Bitcoin code that caused enforcement to stop working consistently.

This has been fixed in v11.1, but will require all users update so we remain on the same fork. Enforcement will be activated as soon as 80% of the network has updated (usually a couple days).

Language Support

Thanks to Vertoe and the community for spear heading this project, the client now fully supports over 20 languages such as Portuguese, German, Russian, Polish, Spanish, Vietnamese, French, Italian, Catalan, Chinese, Danish, Finnish, Swedish, Czech, Turkish and Bavarian (and many more).

Full release notes:

https://github.com/darkcoin/darkcoin/blob/master/doc/release-notes/release-notes-0.11.1.md


Downloads
11.1.25 Core - All Users

Source: https://github.com/darkcoin/darkcoin
Compiled Binaries: https://www.darkcoin.io/downloads/

Updates:
v0.11.1.20 - Limit IX to 1000DRK max for the time being
v0.11.1.21 - Fixed spork message propagation
v0.11.1.22 - Added block-replay spork for on the fly fork resolution
v0.11.1.23 - Masternode payments fix
v0.11.1.24 - Fix masternode payments sync bug / BlockHeight default for CalcScore
v0.11.1.25 - Ban cheating pools / stronger enforcement code

Thanks to who contributed to this release, at least:

- Vertoe
- Udjin
- Holger Schinzel
- Raze
- Mario Müller
- Crowning
- Alexandre Devilliers
- Stuart Buck
- Tiago Serôdio
- Slawek
- Moli
- Lukas Jackson
- Snogcel
- Jimbit
- Coingun
- Sub-Ether
 
Last edited by a moderator:

CODERsp

Member
Jul 5, 2014
114
35
78
Waiting for binaries to immediately update masternodes!

P.S. Successfully updated.
 
Last edited by a moderator:
  • Like
Reactions: Raico

RenegadeMan

Member
Aug 6, 2014
61
92
58
Congratulations Evan and the rest of the development team. When I think about that post you made all those months ago saying something like "I've worked out a way to make transactions almost instantaneous by using the masternode network" and us all going "WOW!! (what will he come up with next!)", and here we are today not too far along with the finished product. A great effort by everyone. Thanks very much.
 
  • Like
Reactions: moli

dazman

Active Member
May 14, 2014
118
139
93
Congratulations to everybody who has put so much hard work into this release. What you're creating is simply amazing, the world is now starting to realise it and I'm so glad I've been able to experience the ride so for... :)
 
Last edited by a moderator:

rango

Active Member
Jun 19, 2014
158
221
103
Great work. All MNs and other nodes updated!

Two notes:

1. In Mac Os Wallet, InstantX ist not checked as default
2. InstantX transactions involve a fee of 0.01 DRK. Is this fee going to the miners or MN operators?

Best,
Rango
 

eduffield

Core Developer
Mar 9, 2014
1,084
5,319
183
Great work. All MNs and other nodes updated!

Two notes:

1. In Mac Os Wallet, InstantX ist not checked as default
2. InstantX transactions involve a fee of 0.01 DRK. Is this fee going to the miners or MN operators?

Best,
Rango
1. That's on purpose. We'll enable it by default in a later release.
2. The fees go to miners, but masternode operators can their share of the mining fees too.
 
  • Like
Reactions: moli and rango

Figlmüller

Member
Sep 2, 2014
85
45
58
Vienna, Austria
Hi,

While trying to build the new version (pulled from master branch) using make I noticed it automatically runs configure and overrides flags previously set by me using the configure command. What's wrong?

edit: I'm sorry, forget what I said. A wrong command entered by me was the cause.
 
Last edited by a moderator:

yellowcox

New Member
Apr 23, 2014
15
3
3
Hi,

Since the version 11.0.14 and the new 11.1.19 my masternode can't sync.
The last good version for me is the version 11.0.13
I deleted peers.dat, replace the binary, and launch darkcoind
What can I do to resolve this?

2015-02-10 12:34:19 CActiveMasternode::ManageStatus() - Sync in progress. Must wait until sync is complete to start masternode.
2015-02-10 12:34:43 CDarkSendPool::UpdateState() == 3 | 3
2015-02-10 12:35:10 CheckBlock() : skipping masternode payment checks
2015-02-10 12:35:10 ProcessBlock: ORPHAN BLOCK 6, prev=0000000000050719a7c682aba8833f7e3f34d1f3ab1d92a2d783dbdbf186fdc2
2015-02-10 12:35:18 CheckBlock() : skipping masternode payment checks
2015-02-10 12:35:18 ProcessBlock: ORPHAN BLOCK 7, prev=00000000000f4c918f339987f9ccd56f38962c299719cd1573e5c57a7873b88a
2015-02-10 12:35:19 CActiveMasternode::ManageStatus() - Sync in progress. Must wait until sync is complete to start masternode.
2015-02-10 12:35:21 partner 54.88.160.148:46218 using obsolete version 70051; disconnecting
2015-02-10 12:35:21 ProcessMessage(version, 108 bytes) FAILED
2015-02-10 12:36:19 CActiveMasternode::ManageStatus() - Sync in progress. Must wait until sync is complete to start masternode.


on darkcoin.conf I have this:

rpcuser=user
rpcpassword=password
rpcallowip=127.0.0.1
listen=1
server=1
daemon=1
logtimestamps=1
maxconnections=256
#externalip=myIP
masternode=1
addnode=23.23.186.131:9999
masternodeprivkey=myprivatemasternodekey


Thx
 

Rux

Member
Mar 9, 2014
68
32
58
Status: 0/confirmed (InstantX verification failed), broadcast through 3 node(s)

:( maybe more MN need to be updated?

i sent 0.04 just to test
 

Rux

Member
Mar 9, 2014
68
32
58
how come? i updated 30min ago ;)

[email protected]:~$ ./darkcoind getinfo
{
"version" : 110119,
"protocolversion" : 70066,
"walletversion" : 61000,
"balance" : 0.00000000,
"darksend_balance" : 0.00000000,
"blocks" : 217822,
"timeoffset" : 0,
"connections" : 9,
"proxy" : "",
"difficulty" : 3454.04269761,
"testnet" : false,
"keypoololdest" : 1422536461,
"keypoolsize" : 1001,
"paytxfee" : 0.00000000,
"relayfee" : 0.00001000,
"errors" : ""
 

eduffield

Core Developer
Mar 9, 2014
1,084
5,319
183
Hi,

Since the version 11.0.14 and the new 11.1.19 my masternode can't sync.
The last good version for me is the version 11.0.13
I deleted peers.dat, replace the binary, and launch darkcoind
What can I do to resolve this?

2015-02-10 12:34:19 CActiveMasternode::ManageStatus() - Sync in progress. Must wait until sync is complete to start masternode.
2015-02-10 12:34:43 CDarkSendPool::UpdateState() == 3 | 3
2015-02-10 12:35:10 CheckBlock() : skipping masternode payment checks
2015-02-10 12:35:10 ProcessBlock: ORPHAN BLOCK 6, prev=0000000000050719a7c682aba8833f7e3f34d1f3ab1d92a2d783dbdbf186fdc2
2015-02-10 12:35:18 CheckBlock() : skipping masternode payment checks
2015-02-10 12:35:18 ProcessBlock: ORPHAN BLOCK 7, prev=00000000000f4c918f339987f9ccd56f38962c299719cd1573e5c57a7873b88a
2015-02-10 12:35:19 CActiveMasternode::ManageStatus() - Sync in progress. Must wait until sync is complete to start masternode.
2015-02-10 12:35:21 partner 54.88.160.148:46218 using obsolete version 70051; disconnecting
2015-02-10 12:35:21 ProcessMessage(version, 108 bytes) FAILED
2015-02-10 12:36:19 CActiveMasternode::ManageStatus() - Sync in progress. Must wait until sync is complete to start masternode.


on darkcoin.conf I have this:

rpcuser=user
rpcpassword=password
rpcallowip=127.0.0.1
listen=1
server=1
daemon=1
logtimestamps=1
maxconnections=256
#externalip=myIP
masternode=1
addnode=23.23.186.131:9999
masternodeprivkey=myprivatemasternodekey


Thx
Try starting with --reindex
 
S

snogcel

Guest
Fantastic news!! Can't wait to give this a try on mainnet - congrats to everyone involved!
 

eduffield

Core Developer
Mar 9, 2014
1,084
5,319
183
where can I find more about the sporking framework?
Full implementation of spork. Currently this includes 4 different sporks, InstantX, InstantX block enforcement, masternode payments enforcement, and reconverge. This uses the inventory system, so it's super efficient and very powerful for future development. Reconverge will put the blockchain into a mode where it will attempt to reprocess any forks without restarting the client, this means if we even had a fork in the future this can be triggered to fix it without any damage to the network.

Files:
https://github.com/darkcoin/darkcoin/blob/master/src/spork.cpp
https://github.com/darkcoin/darkcoin/blob/master/src/spork.h

Here's an example of how it's used in the code:
https://github.com/darkcoin/darkcoin/blob/master/src/main.cpp#L2831
 

splawik21

Grizzled Member
Dash Core Team
Moderator
Foundation Member
Dash Support Group
Apr 8, 2014
1,918
1,273
1,283
Full implementation of spork. Currently this includes 4 different sporks, InstantX, InstantX block enforcement, masternode payments enforcement, and reconverge. This uses the inventory system, so it's super efficient and very powerful for future development. Reconverge will put the blockchain into a mode where it will attempt to reprocess any forks without restarting the client, this means if we even had a fork in the future this can be triggered to fix it without any damage to the network.

Files:
https://github.com/darkcoin/darkcoin/blob/master/src/spork.cpp
https://github.com/darkcoin/darkcoin/blob/master/src/spork.h

Here's an example of how it's used in the code:
https://github.com/darkcoin/darkcoin/blob/master/src/main.cpp#L2831
Can I like it 10 times? :)
 
  • Like
Reactions: moli

mjsrs

Member
Aug 6, 2014
87
68
68
Full implementation of spork. Currently this includes 4 different sporks, InstantX, InstantX block enforcement, masternode payments enforcement, and reconverge. This uses the inventory system, so it's super efficient and very powerful for future development. Reconverge will put the blockchain into a mode where it will attempt to reprocess any forks without restarting the client, this means if we even had a fork in the future this can be triggered to fix it without any damage to the network.

Files:
https://github.com/darkcoin/darkcoin/blob/master/src/spork.cpp
https://github.com/darkcoin/darkcoin/blob/master/src/spork.h

Here's an example of how it's used in the code:
https://github.com/darkcoin/darkcoin/blob/master/src/main.cpp#L2831

Thanks Evan.
Does this means darkcoin is fork proof?
Can't decide which one I like more, if InstantX or this "Full spork implementation".
This should be advertised.
 
  • Like
Reactions: moli and bituzer

thelonecrouton

Well-known Member
Foundation Member
Apr 15, 2014
1,135
813
283
Congrats Evan&Team! The future continues to arrive. :)

Smooth update.

edit: why 5 as the default IX depth, not 6? Just a cautionary interim measure?
 
Last edited by a moderator:
  • Like
Reactions: splawik21

tungfa

Administrator
Dash Core Team
Moderator
Foundation Member
Masternode Owner/Operator
Apr 9, 2014
8,967
6,739
1,283
Somebody on my chat (congratulating the team) is requesting this:

Can i please request for the 64 bit installer to be separated out for Windows
Right now I have to download the entire zip all the time

Any thoughts
(i am a MAC guy so i do not know what that means)