I want to introduce myself by first (to avoid to be considered to be troll).
My name is Danny, Chinese, my first contact with Bitcoin was in 2013. My background is integrated circuit design. I studied C/C++ and linux in the college 15 years ago. I am not very familiar with open source software design, but my technology background is good enough to let me learn things quickly. I have developed a FPGA based SHA-256 miner and succesfully connect to the Eligius pool in early 2014 (Just for fun), all by C and verilog. I am a developer but not a professional software developer.
I am familiar with Bitcoin, transaction and block structure. I developed a program which can upload and download arbitrary file from/to the Bitcoincash blockchain. The downloader code is open sourced: https://github.com/bchfile/BCHFILE-extractor
I think I am not a troll.
Although many users and devs think Blocktime is not an issue, but a simple fact is that there is no single mainstream crypto choose a blocktime equal or larger than 10 minutes (No offense to anyone, I just express the idea that this is an undeniable proof that a shortter confirmation time has real needs).
For wallet users: If someone send me some BCH, although 0-conf gives some confidence, but I still need to wait for at least 1 confirmation to "make sure" someone else is not cheeting me (not 100%, but 1 confirm really means something), each more confirmation makes more confidence.
For nodes: You cannot spend a unconfirmed UTXO by default, you need to list the unspent UTXO and use createrawtransaction, signrawtransaction to manually create the TX and broadcast it. That means you need to wait for the TX to be confirmed before spend it by default.
Variance: (Here, I want to say sorry to many people especially some devs, in the previous posts, I did not show enough respect to them. In fact, the developers have done a lot of excellent work, most of which are unpaid, but not well known to the public.) The Variance is already been discussed by devs a long time, bobtail algorithm is a potential alternative, I have not figure it out by now, but reduce the block time can achieve a similar result, it's simple, 10 1-min block have an averagy effect, it has much less variance than 1 10-min block.
For exchanges: Obviously the exchanges plays the most important role in the crypto eco-system. Exchanges usually run "official" bitcoin cash nodes (bitcoin-abc), change the block time does not affect them (because the RPC call is not changed), the only affection is that they need to increase the confirmation numbers for deposit.
For developers: They need to upgrade the software before the HF just as the previous ones. Although change the blocktime is a major change, but in Code, the changes are rare, only a few lines of codes are affected for the core functions. (To approve this, I created a Bitcoin-abc fork in github, modified the blocktime to 2-min and reduce the subsidy to 1/5 at the same time, all the changes canbe seen here: https://github.com/Danyu-Wu/bitcoin-abc/commit/884414a04884a462c8e424ab1bde2fe632f59591). I spend 1 week to study the source code, and spend 2 days to complete the modification (Changes for test-code and some non-core functions are not completed yet), and 3 days for run the test (includes run a pool and connect to the testnet, in here you can find the blocks I mined in the testnet: https://www.blocktrail.com/tBCC/address/mmBG7ReKgGQgqhSZQjR28NvVDfeekjpnpV). I am not a professional programmer but can finish the core changes within 2-weeks, so it is clear that the change does not need much work.
----------------------------------------------------
In summary, I think change the blocktime maybe not the perfect consensus change for BCH, but that is the simplest one to improve the user experience significantly.
BTW: Anyone, especially developers who are interested in this topic, you can find the telegram group link here: https://github.com/Danyu-Wu/blocktime/blob/master/workgroup.md
[link] [comments]
source https://www.reddit.com/r/btc/comments/aevnxz/about_reducing_the_bch_block_time_i_have/
No comments:
Post a Comment