{"ref":"refs/heads/coinbaser","push_id":54737642,"commits":[{"sha":"1c4aab926e0b25e0c896d4703d858eda1eb14ea5","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@ndrix.org","name":"Michael Hendricks"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/1c4aab926e0b25e0c896d4703d858eda1eb14ea5","message":"Retain only the most recent time samples\n\nRemembering all time samples makes nTimeOffset slow to respond to\nsystem clock corrections.  For instance, I start my node with a system\nclock that's 30 minutes slow and run it for a few days.  During that\ntime, I accumulate 10,000 offset samples with a median of 1800\nseconds.  Now I correct my system clock.  Without this change, my node\nmust collect another 10,000 samples before nTimeOffset is correct\nagain.  With this change, I must only accumulate 100 samples to\ncorrect the offset.\n\nStoring unlimited time samples also allows an attacker with many IP\naddresses (ex, a large botnet) to perform a memory exhaustion attack\nagainst Bitcoin nodes.  The attacker sends a version message from each\nIP to his target, consuming more of the target's memory each time.\nTime samples are small, so this attack might be impractical under the\nold code, but it's impossible with the new code."},{"sha":"4dba26620cf1015b8e980ce3e401d15c64e1169d","author":{"email":"ef42a9aea18f003ecd734268463ded7f0030960b@gmail.com","name":"Rune K Svendsen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/4dba26620cf1015b8e980ce3e401d15c64e1169d","message":"When using Qt GUI, move parameter-parsing to start of qt/bitcoin.cpp:main()"},{"sha":"7e55c1ab650163011a690daf74cb1cc89bdd563b","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/7e55c1ab650163011a690daf74cb1cc89bdd563b","message":"Collapse no-op ExtractAddress/ExtractAddressInner"},{"sha":"1466b8b78ad8cabf93ac3f65f5929213c5dd3c8f","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/1466b8b78ad8cabf93ac3f65f5929213c5dd3c8f","message":"Rework unit tests so test_bitcoin.cpp does not #include them all"},{"sha":"bf798734db4539a39edd6badf54a1c3aecf193e5","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/bf798734db4539a39edd6badf54a1c3aecf193e5","message":"Support 3 new multisignature IsStandard transactions\n\nInitial support for (a and b), (a or b), and 2-of-3 escrow\ntransactions (where a, b, and c are keys)."},{"sha":"cc40ba2151a627b6da9af4932e0bee58e69aacb5","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/cc40ba2151a627b6da9af4932e0bee58e69aacb5","message":"Global fixture to send output to console instead of debug.log"},{"sha":"e679ec969c8b22c676ebb10bea1038f6c8f13b33","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/e679ec969c8b22c676ebb10bea1038f6c8f13b33","message":"OP_EVAL implementation\n\nOP_EVAL is a new opcode that evaluates an item on the stack as a script.\nIt enables a new type of bitcoin address that needs an arbitrarily\ncomplex script to redeem."},{"sha":"d7062ef1bd3319689d402027131f2c46efeddcb6","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/d7062ef1bd3319689d402027131f2c46efeddcb6","message":"Put OP_EVAL string in coinbase of generated blocks"},{"sha":"fae3e2aab646a4813c6b9ad28b4c9cf4330c1a59","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/fae3e2aab646a4813c6b9ad28b4c9cf4330c1a59","message":"Disable addmultisigaddress if not testnet"},{"sha":"a0871afb2b1d6d358c833fd08bca2f13c840fd4d","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/a0871afb2b1d6d358c833fd08bca2f13c840fd4d","message":"Interpret OP_EVAL as OP_NOP until Feb 1, 2012"},{"sha":"2a45a494b0bec6a0f1fc6ab7f26c260b85e7ff3e","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/2a45a494b0bec6a0f1fc6ab7f26c260b85e7ff3e","message":"Use block times for 'hard' OP_EVAL switchover, and refactored EvalScript\nso it takes a flag for how to interpret OP_EVAL.\nAlso increased IsStandard size of scriptSigs to 500 bytes, so\na 3-of-3 multisig transaction IsStandard."},{"sha":"be237c119e82a4c01f4ef3da4264faa6c900e9e3","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/be237c119e82a4c01f4ef3da4264faa6c900e9e3","message":"Fix logic for IsChange() for send-to-self transactions."},{"sha":"9e470585b35a84fcb7f6aa41ac0216c117e2a5e1","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/9e470585b35a84fcb7f6aa41ac0216c117e2a5e1","message":"Update bitcoin address numbers for latest luke-jr/sipa scheme"},{"sha":"bafb43d6c18c1bf7eb1fcc04bed85e45bd03e961","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/bafb43d6c18c1bf7eb1fcc04bed85e45bd03e961","message":"Merge branch 'txn_block_info' of https://github.com/luke-jr/bitcoin"},{"sha":"3528650560a2c417da2303869c743da019defc6d","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/3528650560a2c417da2303869c743da019defc6d","message":"Merge pull request #690 from runeksvendsen/qt-cmdline-options-parsing\n\nWhen using Qt GUI, move parameter-parsing to start of qt/bitcoin.cpp:main()"},{"sha":"bd846c0e565ca0db276cb6b7eac7763bebe19b84","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/bd846c0e565ca0db276cb6b7eac7763bebe19b84","message":"Cleanup: removed dead code, and use C99 typedefs for int64 (supported by all modern c++ compilers)"},{"sha":"26ce92b3526430d4a40b2faccef4facb966d6a0a","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/26ce92b3526430d4a40b2faccef4facb966d6a0a","message":"Use std::numeric_limits<> for typesafe INT_MAX/etc"},{"sha":"9ef7fa344741cb34ba4e15cff06d61d1c7a74e24","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/9ef7fa344741cb34ba4e15cff06d61d1c7a74e24","message":"Code cleanup: use ECDSA_size() instead of fixed 10,000 byte sig buffer, and explicity init static var"},{"sha":"74f5435e104be76cd342a9a196ed4a10b8a7e248","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/74f5435e104be76cd342a9a196ed4a10b8a7e248","message":"Merge pull request #716 from gavinandresen/cleanup\n\nCleanups suggested by genjix"},{"sha":"387c8e3c5b1e00c6e9e57bfb069a6bfed09411d9","author":{"email":"19a45ba432ebf68c5c553ec17ef341bff6a9e1b9@gmail.com","name":"Gavin Andresen"},"url":"https://api.github.com/repos/luke-jr/bitcoin/commits/387c8e3c5b1e00c6e9e57bfb069a6bfed09411d9","message":"Merge pull request #673 from mndrix/less-time-data\n\nStore fewer time samples"}],"head":"a82613c6fca62296fe1cf6b2746ed0876f333a38","size":26}