{"shas":[["3a8029f0335dbdb039eccb7bddc88fb0cd1ff971","d0b35c280567a6e00291dab426e321dcd3a56fd2@utopios.org","Update nTime after nExtraNonce to avoid potential race\n(extraNonce being reset due to just-occurred time change after nTime is set)","Luke Dashjr"],["aa4a9c5250f94c82a9e4077a1b56ba634a9841fa","d0b35c280567a6e00291dab426e321dcd3a56fd2@utopios.org","Reset extraNonce only every 15 seconds, just in case some miner is updating time himself and stuff","Luke Dashjr"],["02d87b3aa375810bcd63dcf72637e788a75fc7d4","d0b35c280567a6e00291dab426e321dcd3a56fd2@utopios.org","Reset extraNonce only when prevBlock changes, so miners can continue updating the time on their work until it's stale","Luke Dashjr"],["7ec552676c66488fe00fb503d02ec4a389a715b7","1fa2ef4755a9226cb9a0a4840bd89b158ac71391@bluematt.me","Add minversion to wallet.","Matt Corallo"],["acd6501610817eee0bd1c8ea9c591f043affbaec","c1fe694431f9243042d0eb4561d822ec1200493d@gmail.com","Prepare codebase for Encrypted Keys.","Pieter Wuille"],["c1aacf0be347b10a6ab9bbce841e8127412bce41","e5eb0b72f90f1cad2810eac7a76025a8ec6735df@dreamwidth.org","mlock() all private keys in memory\n\nInline comment and idea come from the encprivkeys branch\nby Matt Corallo <matt@bluematt.me>.","Dylan Noblesmith"],["aa496b75c2ff3bfb232d1ab023391f62a0183fd5","bbc07dc96bb50bf6868a2ddfc4dae14fbed703d9@gmail.com","remove magic number: change threshold for nLockTime to constant","Wladimir J. van der Laan"],["354f2dd09487c865f8f0d0d40f66573f764e5a96","15f615bf7d20c2937c7eb5aa759110fd6768848c@exmulti.com","Merge pull request #392 from laanwj/antimagic\n\nRemove another magic number: change threshold for nLockTime to constant","Jeff Garzik"],["a48c671957e37594d8f9e0fd51b24e7a4f44300e","d15667e2d58fd2e3f6a4a33b12ede1eb153be19b@jrbobdobbs.org","Make mlock() and munlock() portable to systems that require the address to be on a page boundary.","Doug Huff"],["6c9498147fb4bd6e1a79eaaa0c93a558a57a0caf","8bfd13cad0bc4b2ac41d9e235951e72c9b62c2aa@jayschwa.net","Add logos/branding currently found on bitcoin.org into NSIS installer.","Jay Weisskopf"],["230b894779aa0876e68eb7ebdcf8d05bf1ac97b4","8bfd13cad0bc4b2ac41d9e235951e72c9b62c2aa@jayschwa.net","Set default compression for NSIS installer to LZMA.\n\nUse of LZMA (versus the current zlib) shaves a few MB off the installer.","Jay Weisskopf"],["aa0bcaaf2be4bbb7729d307fffec13b7ef0cb806","8bfd13cad0bc4b2ac41d9e235951e72c9b62c2aa@jayschwa.net","Remove NSIS branding from bottom divider.","Jay Weisskopf"],["4e87d341f75f13bbd7d108c31c03886fbc4df56f","1fa2ef4755a9226cb9a0a4840bd89b158ac71391@bluematt.me","Add wallet privkey encryption.\n\nThis commit adds support for ckeys, or enCrypted private keys, to the wallet.\nAll keys are stored in memory in their encrypted form and thus the passphrase\nis required from the user to spend coins, or to create new addresses.\n\nKeys are encrypted with AES-256-CBC using OpenSSL's EVP library. The key is\ncalculated via EVP_BytesToKey using SHA512 with (by default) 25000 rounds and\na random salt.\n\nBy default, the user's wallet remains unencrypted until they call the RPC\ncommand encryptwallet <passphrase> or, from the GUI menu, Options->\nEncrypt Wallet.\n\nWhen the user is attempting to call RPC functions which require the password\nto unlock the wallet, an error will be returned unless they call\nwalletpassphrase <passphrase> <time to keep key in memory> first.\n\nA keypoolrefill command has been added which tops up the users keypool\n(requiring the passphrase via walletpassphrase first).\nkeypoolsize has been added to the output of getinfo to show the user the\nnumber of keys left before they need to specify their passphrase (and call\nkeypoolrefill).\n\nNote that walletpassphrase will automatically fill keypool in a separate\nthread which it spawns when the passphrase is set. This could cause some\ndelays in other threads waiting for locks on the wallet passphrase, including\none which could cause the passphrase to be stored longer than expected,\nhowever it will not allow the passphrase to be used longer than expected as\nThreadCleanWalletPassphrase will attempt to get a lock on the key as soon\nas the specified lock time has arrived.\n\nWhen the keypool runs out (and wallet is locked) GetOrReuseKeyFromPool\nreturns vchDefaultKey, meaning miners may start to generate many blocks to\nvchDefaultKey instead of a new key each time.\n\nA walletpassphrasechange <oldpassphrase> <newpassphrase> has been added to\nallow the user to change their password via RPC.\n\nWhenever keying material (unencrypted private keys, the user's passphrase,\nthe wallet's AES key) is stored unencrypted in memory, any reasonable attempt\nis made to mlock/VirtualLock that memory before storing the keying material.\nThis is not true in several (commented) cases where mlock/VirtualLocking the\nmemory is not possible.\n\nAlthough encryption of private keys in memory can be very useful on desktop\nsystems (as some small amount of protection against stupid viruses), on an\nRPC server, the password is entered fairly insecurely. Thus, the only main\nadvantage encryption has for RPC servers is for RPC servers that do not spend\ncoins, except in rare cases, eg. a webserver of a merchant which only receives\npayment except for cases of manual intervention.\n\nThanks to jgarzik for the original patch and sipa, gmaxwell and many others\nfor all their input.\n\nConflicts:\n\n\tsrc/wallet.cpp","Matt Corallo"],["ddebdd9a8fb118caca4f981f6641696c1c227f02","1fa2ef4755a9226cb9a0a4840bd89b158ac71391@bluematt.me","Set the number of SHA512 rounds based on the speed of the computer.","Matt Corallo"],["98545d2cdf53f7b6f32eba7a7f51034a9ca994c2","1fa2ef4755a9226cb9a0a4840bd89b158ac71391@bluematt.me","Push unlocked_until in getinfo.","Matt Corallo"],["81598083e7c822964815bdb1e26d6c62760e52b8","1fa2ef4755a9226cb9a0a4840bd89b158ac71391@bluematt.me","Dynamically remove/insert the Options for encryption in the menus.","Matt Corallo"],["fbeb5fb4835b9c58baec3e6331b0dd5bbdca67f1","1fa2ef4755a9226cb9a0a4840bd89b158ac71391@bluematt.me","Add the walletlock RPC method to lock the wallet manually.","Matt Corallo"],["b6b039d84ed3d1616cb97ee45ff24ec343efbed0","1fa2ef4755a9226cb9a0a4840bd89b158ac71391@bluematt.me","Add Wallet Encryption section to README","Matt Corallo"],["0efda1a79eab6dd2e101edc615c6dd14138c31a2","c1fe694431f9243042d0eb4561d822ec1200493d@gmail.com","Do not use obsolete CPrivKey for passing keys around","Pieter Wuille"],["96f34cd5c4d76459917b29b15aa9f4b7e2a6cec1","1fa2ef4755a9226cb9a0a4840bd89b158ac71391@bluematt.me","Use DB Transactions when encrypting wallet.\nThis speeds up the encryption process significantly.","Matt Corallo"]],"ref":"refs/heads/getblock","size":198,"head":"fcc6ee07108272993b5239540419dc4838c1d318","push_id":42539667}