Next update

Rebuilt again.

[AMD64  | i686 | src]

  • Winsock related compiler warnings are fixed;
  • You don’t need repairwallet after upgrading anymore, wallet consistency being restored automatically during initial download process.

I guess that it’s a last testing build and v0.4.4.7 will be released at monday.

Testing builds were updated

Changes list:

  • Refactoring of Proof-of-Stake checkings code;
  • Remove some redundant messages from debug.log output;
  • Make stake related DoS checkings harder;
  • Database code is updated, direct CCoins links approach is implemented to decrease count of worthless flush and copy events;
  • Initial block download optimization, transaction hashes are cached now to make blocks validation faster;
  • Multiple CChainDB instantiations were replaced with a single CBlockTreeDB instance;
  • CCoinsDB and CBlockTreeDB are updated to use LevelDB storage;
  • gettxout and gettxoutsetinfo RPC calls added;
  • getblock and getblockbynumber RPC calls are now providing generator public key for proof-of-stake blocks.

Continue reading

Testing branch

Testing branch has been updated.

https://github.com/CryptoManiac/novacoin/tree/novacoin-next

screenshot

Switch to unspent coins approach

This commit replaces old transactions index with unspent coins database
which contains a basic metadata like heights, amounts, coinstake/coinbase 
flags and timestamps.

We still need access to blockchain for proof-of-stake blocks validation. 
Currently CheckProofOfStake() uses the coin database to find the block height, 
and then scans that block to find the dependency of coinstake kernel.

Continue reading

0.4.4.6 update
  • Core: Proof-of-Stake miner optimizations and cleanup;
  • Core: Remove BDB support;
  • Core: Automatically remove old transactions index database if that’s necessary, no runaway exceptions anymore.

P.S. Mac OS X build was replaced too.

0.4.4.6 update

It was decided to update some libraries, which are used for Windows builds

libminiupnpc 1.6 -> 1.8
openssl 1.0.1c -> 1.0.1f
libdb 4.8.30 -> 5.3.21

New builds are backward-compatible, but wallet.dat becomes unreadable for old builds once it was opened by new client.

Testing builds for compatibility checking: [AMD64  | i686]

Balthazar

As far we know, some payment processors and users accepts 0/unconfirmed transactions. But this solution is not secure, because it’s possible to create two transactions with the same inputs, but different outputs.

http://eprint.iacr.org/2012/248.pdf

Attacker is able to send a first transaction directly to victim, and then broadcast a second transaction over the network. This couldn’t be prevented using the proof-of-work design, but it’s possible to fight with such manipulations through using an extension for our proof-of-stake system, and we even don’t need a chain fork to implement this.

Continue reading

Changes planned for 0.4.4.8

Changes planned for 0.4.4.8:

  • Separate databases for private keys and transactions, instead of wallet.dat;
  • Moving the public data to separate folder (e.g. move blockchain database to AppData\Local\Novacoin on Windows);
  • Switching to UTXO storage (similar to used in the Bitcoin, but with extended metadata) instead of the current full transaction logs approach;
  • Switching to deterministic keys, and possibly withdrawal of the keypool approach;
  • Withdrawal of the Berkeley DB support (LevelDB is used by default for a long time).

This changes will be implemented in the 0.4.4.7 testing branch, the 0.4.4.7 binaries will be rebuilt and published sometimes, just for testing purposes.

Parts of this functionality are already available for testing.

Valid XHTML 1.0 Transitional Valid XHTML 1.0 Transitional Valid CSS Valid CSS      I find a bug/typo or I have a suggestion
Adapted for Lynx-like browsers
2013-2017 © Zloy & Co
For donations: 4ZLoY6T8wXKgrbZM9gL8fQt48NUzGo2yAg