-
Notifications
You must be signed in to change notification settings - Fork 3k
increase MIN_TX_SIZE #51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Seems legit :D What will happen with old client validating with the wrong fee and trying to send with a wrong fee ? for reference the transaction validation code is in main.cpp line 482. It compares the difference of value in and value out to a recalculated minimal fee (line 564 to 569). The pull request change the way the minimal fee is calculated. |
My best guess is: an old client trying to validate a new transaction would still succeed, because the new scheme is legal under the old scheme. An old client trying to send a transaction with too small of a fee will have that transaction rejected, with no indication to the user that this will happen. The right way to do this would be to have the change happen at a particular block. That's like two orders of magnitude more difficult to implement, though. I haven't worked with the bitcoin source before, so don't trust me on this. |
Do you have a dogecoin testnet? |
Nope. How can i set that up ? The change on a particular block would make it cleaner but doesn't change the fact that there would be a fuckload of old (rogue) client validating wrong transaction. |
I have no idea D= And the point of the specific-future-block change is that you have time to make a majority of miners switch to the new version before the actual change occurs. Then whoever hasn't updated by that point would be forced to, because their blocks would get rejected by the network. Miners validate all the transactions in every block they receive, right? I'm really out of my depth here. I can try to take a look at how the bitcoin guys patched that one hard-fork bug they had, I believe they used the same future-block scheme. |
Wouldn’t the branch at jaekwon@a649784 be better? |
Yes. It looks like he knows what he's doing. |
Running jaekwon/dogecoin@a649784 now after checking the diffs, working great. |
Fixed in other pull. |
0bac72c455 Merge bitcoin-core/crc32c-subtree#5: local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets 002cfa280e local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets 0d624261ef Merge bitcoin-core/crc32c-subtree#2: Merge upstream cac7ca830b Merge commit 'fa5ade41ee480003d9c5af6f43567ba22e4e17e6' into bitcoin-fork fa5ade41ee Fix compilation warnings on ARM64 with old GCC versions. (dogecoin#52) db08d22129 Updated Travis-CI configuration. (dogecoin#51) e31619a5b7 Fix GitHub links. (dogecoin#50) 7fa4c263e8 Update Travis CI config. (dogecoin#49) a3d9e6d1a4 Updated third_party/ and Travis CI config. (dogecoin#48) b5ef9be675 Merge #1: Merge changes from upstream 9e7f512430 Merge remote-tracking branch 'origin/master' into bitcoin-fork 1f85030246 Add support for ARM64 darwin (dogecoin#43) 3bb959c982 Remove unnecessary reinterpret_cast (dogecoin#42) 2e97ab26b1 Fix (unused) ReadUint64LE for BE machines (dogecoin#41) 47b40d2209 Bump dependencies. (dogecoin#40) ba74185625 Move CI to Visual Studio 2019. efa301a7e5 Allow different C/C++ standards when this is used as a subproject. cc6d71465e CMake: Use configure_package_config_file() git-subtree-dir: src/crc32c git-subtree-split: 0bac72c4552baf1cc9fe03ee30d6542cb7af2e04
0bac72c455 Merge bitcoin-core/crc32c-subtree#5: local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets 002cfa280e local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets 0d624261ef Merge bitcoin-core/crc32c-subtree#2: Merge upstream cac7ca830b Merge commit 'fa5ade41ee480003d9c5af6f43567ba22e4e17e6' into bitcoin-fork fa5ade41ee Fix compilation warnings on ARM64 with old GCC versions. (dogecoin#52) db08d22129 Updated Travis-CI configuration. (dogecoin#51) e31619a5b7 Fix GitHub links. (dogecoin#50) 7fa4c263e8 Update Travis CI config. (dogecoin#49) a3d9e6d1a4 Updated third_party/ and Travis CI config. (dogecoin#48) b5ef9be675 Merge dogecoin#1: Merge changes from upstream 9e7f512430 Merge remote-tracking branch 'origin/master' into bitcoin-fork 1f85030246 Add support for ARM64 darwin (dogecoin#43) 3bb959c982 Remove unnecessary reinterpret_cast (dogecoin#42) 2e97ab26b1 Fix (unused) ReadUint64LE for BE machines (dogecoin#41) 47b40d2209 Bump dependencies. (dogecoin#40) ba74185625 Move CI to Visual Studio 2019. efa301a7e5 Allow different C/C++ standards when this is used as a subproject. cc6d71465e CMake: Use configure_package_config_file() git-subtree-dir: src/crc32c git-subtree-split: 0bac72c4552baf1cc9fe03ee30d6542cb7af2e04
0bac72c455 Merge bitcoin-core/crc32c-subtree#5: local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets 002cfa280e local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets 0d624261ef Merge bitcoin-core/crc32c-subtree#2: Merge upstream cac7ca830b Merge commit 'fa5ade41ee480003d9c5af6f43567ba22e4e17e6' into bitcoin-fork fa5ade41ee Fix compilation warnings on ARM64 with old GCC versions. (dogecoin#52) db08d22129 Updated Travis-CI configuration. (dogecoin#51) e31619a5b7 Fix GitHub links. (dogecoin#50) 7fa4c263e8 Update Travis CI config. (dogecoin#49) a3d9e6d1a4 Updated third_party/ and Travis CI config. (dogecoin#48) b5ef9be675 Merge #1: Merge changes from upstream 9e7f512430 Merge remote-tracking branch 'origin/master' into bitcoin-fork 1f85030246 Add support for ARM64 darwin (dogecoin#43) 3bb959c982 Remove unnecessary reinterpret_cast (dogecoin#42) 2e97ab26b1 Fix (unused) ReadUint64LE for BE machines (dogecoin#41) 47b40d2209 Bump dependencies. (dogecoin#40) ba74185625 Move CI to Visual Studio 2019. efa301a7e5 Allow different C/C++ standards when this is used as a subproject. cc6d71465e CMake: Use configure_package_config_file() git-subtree-dir: src/crc32c git-subtree-split: 0bac72c4552baf1cc9fe03ee30d6542cb7af2e04
0bac72c455 Merge bitcoin-core/crc32c-subtree#5: local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets 002cfa280e local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets 0d624261ef Merge bitcoin-core/crc32c-subtree#2: Merge upstream cac7ca830b Merge commit 'fa5ade41ee480003d9c5af6f43567ba22e4e17e6' into bitcoin-fork fa5ade41ee Fix compilation warnings on ARM64 with old GCC versions. (dogecoin#52) db08d22129 Updated Travis-CI configuration. (dogecoin#51) e31619a5b7 Fix GitHub links. (dogecoin#50) 7fa4c263e8 Update Travis CI config. (dogecoin#49) a3d9e6d1a4 Updated third_party/ and Travis CI config. (dogecoin#48) b5ef9be675 Merge #1: Merge changes from upstream 9e7f512430 Merge remote-tracking branch 'origin/master' into bitcoin-fork 1f85030246 Add support for ARM64 darwin (dogecoin#43) 3bb959c982 Remove unnecessary reinterpret_cast (dogecoin#42) 2e97ab26b1 Fix (unused) ReadUint64LE for BE machines (dogecoin#41) 47b40d2209 Bump dependencies. (dogecoin#40) ba74185625 Move CI to Visual Studio 2019. efa301a7e5 Allow different C/C++ standards when this is used as a subproject. cc6d71465e CMake: Use configure_package_config_file() git-subtree-dir: src/crc32c git-subtree-split: 0bac72c4552baf1cc9fe03ee30d6542cb7af2e04
this makes min transaction fee 1 dogecoin.