Ummm, remember those "Expert" Bitcoin Price Predictions for 2019 ..... ohhhhh dear .....
Lots of cryptocurrency "experts" put whatever "reputation" and "credibility" they had on the line with Bitcoin predictions in 2019, and and came up wayyyyyy short. Eggs on Face ... by the cartoon. Any credibility thay had, completely destroyed, exposing them for the coin schills that they truly are. Luckily for these lying, delusional morons, Butters has a very short selective memory, and he will still believe everything they say again and again in the future, no matter how wrong or corrupt they are. Without further ado, I give you the "Expert" Bitcoin Price Predictions for 2019:
Question: Why isn't anyone holding the above "experts" accountable for their bogus, bullshit predictions ??? In addition, we have some gems from various Redditors, and here are some of the stand-outs:
04-28 13:15 - 'China Launches Blockchain-based Service Work (BSN) to Rule the World 中國推出區塊鏈，圖征服全球? By Chapman Chen, HKBNews' (self.Bitcoin) by /u/HKBNews removed from /r/Bitcoin within 17-27min
3 days ago, China launched Blockchain-based Service Network (BSN), which, coupled with the digital Yuan, a pilot version of which was launched in mid-April, will accomplish what Huawei has failed to do -- to infiltrate, monitor and control the entire world in all human activities, e.g. finance, technology, health, insurance, entertainment, social media, voting. The only antidote is worldwide adoption of truly decentralized and uncensored blockchains and Bitcoin.
BSN Covers 6 Continents!
On April 25th, the Chinese authorities announced the launching of Blockchain-based Service Network (BSN), aka ChinaChain. It is a cross-cloud, cross-portal, cross-underlying-framework, global infrastructure network jointly initiated and set up by State Information Center (SIC), state-owned firms China UnionPay, China Mobile and Red Date for deploying and operating various kinds of blockchain applications (1). IOST is the first overseas blockchain network to be taken on board of BSN (2). Now there are already 128 city nodes across the country, and 8 BSN portals including 7 respectively located in California, Johannesburg, Paris, Tokyo, Sydney, Singapore, and San Paulo. It is going to be applied in all trades, e.g., technology, finance, banking, health, insurance, social media, entertainment, issuing of passports, land registries, tax collection, law, voting.
BSN is even more Invasive than Huawei
Let's face it:- we are headed for a global digital economy. As neither the USA not Europe has yet established such an enormous blockchain infrastructure consortium, China will enjoy the first mover's advantage in the space. While Huawei has been rejected by America and many Western countries for security reasons, BSN is now an even more powerful plan to infiltrate and control the entire world in practically all domains.
According to Bloomberg (April 15), China's Central Bank has just launched a pilot digital Yuan in 4 cities, using blockchain, the technology behind Bitcoin. For instance, in Xiang-cheng, Suzhou, all employees will have to download a state-controlled digital wallet by May and all wages will be paid in digital Yuan from then on. Every penny spent by you will be scrutinized and censored by the CCP. And a spyware may be implanted in the digital Yuan wallet and/or ledger so that anybody, not just Chinese but also Westerners, who transact in digital RMB, will be affected and subject to surveillance by the CCP. Now, with BSN, this will not be limited to transactions in digital RMB. Instead, it will be extended to all sectors, all fields, all human activities all over the world.
Rejection of Libra + Blockchain Advocacy + Covid19
On October 24, Facebook's proposal to launch the cryptocurrency Libra was rejected by the U.S. Congress. On October 25, Chairman Xi Jinping announced that China will go all-in on blockchain. On November 17, 2019, a China-man from Hubei, carrying the covid19 virus, began to spread it across the globe, according to South China Morning Post. Bitboy Crypto on April 28, 2020 wonders whether all these are just coincidental, or they constitute a conspiracy on the part of China to beat the free world financially, technologically, and biologically (3).
What is Blockchain?
Blockchain, the technology underlying Bitcoin, is an electronic ledger distributed across and managed by peer-to-peer networks. It can exist without a centralized authority or server managing it, and its data quality can be maintained by database replication and computational trust.
The First Blockchain
The first work on a cryptographically secured chain of blocks was described in 1991 by Stuart Haber and W. Scott Stornetta. The first blockchain was conceptualized by a person (or group of people) known as Satoshi Nakamoto in 2008 to serve as the public transaction ledger of the cryptocurrency Bitcoin.
A Mutated Blockchain
The information stored in a normal blockchain is immutable. But the Chinese government favors a unique blockchain called EOS, wherein all transactions and governance decisions are processed and approved by only 21 main nodes known as supernodes, rather than numerous nodes distributed all over the world. Twelve of the EOS supernodes are in China. This makes it easier for the CCP to control blockchains, since the penalty of noncompliance with Chinese regulations is high for China-based supernodes.
The Only Antidote
"Tomorrow is now" (Eleanor Roosevelt 1962) . The decentralized, permissionless, and disinflationary Bitcoin is now the only thing in the world that can counteract the digital RMB, and urgent, extensive adoption of uncensored blockchain networks is the only solution to BSN hegemony.
Fb link: [[link]7
Web link: [[link]8
Terry Wang, IOST CTO, delivered a speech on blockchain to state leaders of China at the Great Hall of the People in December 2019. ([[link]10 )
Disclaimer: This article is neither an advertisement nor professional financial advice. ''' China Launches Blockchain-based Service Work (BSN) to Rule the World 中國推出區塊鏈，圖征服全球? By Chapman Chen, HKBNews Go1dfish undelete link unreddit undelete link Author: HKBNews 1: ww**facebook.com/h*ngkon*bil*ngu*lnews*p**t*/94*376245**0140*__xts__%5B0%**=68.*RAL*elagqu*qRl*biXCPZjOvd*FcQV**1Z27*O*IFt*3W*0**SC*ax*m1nQj*FKE_HdlLlKHn*VvRb*jo5qUsEw2xwmQ*H*3NPFBQ9**n***Hl*x*8**dX*TNlPEp*lHv*6k*-bt*0a**H***Ko*Zd20*9**j*uChT**L2AEH**B_Rl0*Rr*gG6F*b**z*b**x*g*5TmN*1IuIli*hTLOD**1hf*-Hae*MroDpv*DTGSsP_U**Z*-yMkK*EIoy5o**6*CW*NtI**vZkF3X*Ie*LN6DhhP*pb*DbHuMW*gcP4sIwYtzM*gMs*q*IweC3*oXL*7*ohCm0yfGQ*IM&**p*__tn**=KH-R 2: w*w.hkbn*ws.*et/po**/chi***launch*s-*lockchai**b***d-se*vic*-work-bsn-**-rule-the-wor*d-*E4%B*%AD%E5%9C*8B%E6%*E**8%E*%8**BA*E5%8D**0**5%A1%*A%**%8F%88%E*%BC%**%E5%9*%96%E5%BE%*1%E*%9**8D%E****%A*%*7%*0%83***%*C%*Fby-chapman-chen 3: w**.c***nne*s.com/zh-ha*t/**ti*les/12962**27608*htm 4: medi*m**o*/io*t/ios*-**o-*er*y-wa*g-prese**s-to-s*at**lead*rs-m*yo*s*and-ceos-in-ch*nas**rea*-hal*-of-*he-p*opl*-5*e885e*1*91 5: www.youtube**om/**tch?*=1*m**Q*LMqc 6: pr***ew.*ed**i**e3frgp871k*41.*pg?wid*h=**7*amp;format=pj*g&auto=webp*a*p;s=*2e3***df*c*d9***129c5*3fb46fd0f2046***f 7: w**.f**eb*ok*com*h**gkong*ilingualnew*/p*sts/*4937*2455001*0*\_\**n\_\_=-R**^1 8: **w.hkbnews.net*post/*hina-*au*ch**-****kc*a*n**ased-service**o*k-b**-t*-ru*e-the*world-%E*%B8*AD%E5%9C%8B%*6%8*%A*%E5%87*B*%E5%8*%8**E5%A1%8A*E9%8**88%E**BC%8C%E5%**%96**5**E*8*%**%9*%8D%E5%85%A8*E***0%83%EF%BC%*Fby-*hapma*-*hen]^^2 9: www.chai*news.com/zh-hant/*rt*c**s**29*2**2*60*.htm]^** 10: mediu*.co**io*t/io**-cto-te**y*w*ng-pre*e*ts-to-st*te-leader*-may*rs*and-**os-*n-ch*nas-*r*a**hall**f-***-people-5f*885ea1691*^^* 11: ww***o*tube.com/**t*h?v=18m*hQ*LMq*]^^5 Unknown links are censored to prevent spreading illicit content.
One secretive person (Theymos) owns /bitcoin and holds the opinion that the Bitcoin protocol should not be easily changed, and certainly not via a contentious hardfork. Their reasoning is that if you can change something via contentious hardfork, you can change anything, even the 21 million limit. Therefor they spread their believe (FUD) that such a hardfork would split the network. And anyone who disagrees and tries to push a hardfork is by their definition an attacker (or a fool). That is how they justify censorship & attacks against anything or anyone who tries to hardfork the network (so Bitcoin XT, then Bitcoin Classic and Bitcoin Unlimited). But (as I see it) the main reason a blocksize increase via hardfork is contentious is because it is contentious. There aren't actually many people who want a 1Mb limit. There is just a whole bunch of people who fear a contentious/dangerous Hardfork. You could say that Bitcoin has been paralysed with fear. Big blockers (and most people on /btc) are a bit more pragmatic. And most believe a simple majority must be in charge. Because the alternative is that a random minority can veto anything and thereby change Bitcoin for the worse. And a non-change like, not upgrading the limit, is definitely a huge change(!). If the intended use of the limit changes, then that should need consensus (and a proper design). Basically we want the free-market to be in charge, because that will lead to the most profitable Bitcoin, and by extension the most ideal blocksizes (which clearly needs to be balanced). What we now have is FUD and over-engineers being in control. Which is ironic because /bitcoin likes to call /btc FUD-sters. When it is clearly the other way around. The sad thing is that this sub desperately wants to believe in conspiracy theories, that Blockstream is behind all this. Something I can't disprove, but there is also not enough proof for this theory that you should take it seriously. The motivation of Core supporters/small blockers already makes total sense, and is very consistent. There is no need for alternative motives on either side. Edit: Btw, you can change anything (even the 21 million limit) via soft-fork. So the obsession with softforks over at /bitcoin makes no sense. The only advantage it still has is that only Blockstream/Core is willing to put the time/effort to make these complicated soft-forks, big thanks to VC funding. Which effectively puts Core in charge, and effectively makes Bitcoin a technocracy. Yet ironically you see Core dev's continue to say they are not in control. TL;DR: Minority veto's, softforks forever, censorship and attacks clearly put Core in control of Bitcoin's future.
An incomplete history of the Bitcoin Cash's origin and the Minimum Viable Fork project
A common meme is that Roger Ver, Jihan Wu, and Craig Wright are the ones responsible for the creation of Bitcoin Cash. This is untrue. Those are figureheads who played a role in popularizing or (for Bitmain, allegedly) funding later development, but they played almost no part until Bitcoin Cash development was long since underway. The Bitmain UAHF contingency plan blog post was made on 2017-06-14. This was the first event in Bitcoin Cash's history that reached a wide audience, but it came 15 months after work on what later became Bitcoin Cash began. The public decision to do a minority hard fork happened 2016-07-31, and was spearheaded by singularity87 and ftrader. ftrader did most of the initial development, which he had started back in March 2016. Even back then, the plan to fork before Segwit's activation was clear:
Bitmain was merely joining their effort in 2017, not starting it. Bitcoin Cash evolved out of the Minimum Viable Fork project that ftradeFreetrader started in March 2016, and which was discussed in /btcfork and /btc. Freetrader blogged about it quite a bit. If you read through his posts, you can see his initial prototype was built on Bitcoin Classic. In Oct 2016, a MVF version based on Bitcoin Core was made. Development on MVF stalled during the latter half of 2016 when it seemed like Bitcoin Unlimited's emergent consensus proposal was likely to gain adoption, but heated up again in early 2017 when BU lost support after a few remote crash 0-day exploits were found and used against BU on March 15 and again in April. Freetrader restarted his MVF work on Bitcoin Unlimited in April. The first mention of Bitcoin ABC is from May 7, 2017. The ABC project was started by deadalnix, but with mostly the same goal as ftrader's work using Core as the base instead of BU or Classic. At that time, ABC was just Core 0.14 minus RBF and Segwit; it didn't yet have any blocksize changes. Deadalnix reached out to Freetrader and asked him if he wanted to help, which Freetrader did. Freetrader made the first prototype of Bitcoin ABC with a blocksize limit other than 1 MB on or before May 21, 2017, while still working in parallel on the Bitcoin Unlimited version of the MVF. Ftrader and deadalnix continued to work on Bitcoin ABC for a couple months before Bitmain even mentioned their support for the contingency plan, and their contingency plan was basically the same as what ftrader and singularity87 had proposed back in June 2016 (but with more refinements and details worked out) -- perform a minority hard fork from BTC before Segwit activates to increase the blocksize limit, and do so in a way that ensures as clean a split as possible. Bitcoin ABC was announced to the public on July 1st, 2017, by ftrader and by deadalnix, about 2-3 months after deadalnix and ftrader began working on it, and 2 weeks after Bitmain announced its intent to support the UAHF. On the date that BCH forked, there were four separate compatible full-node clients:
Bitcoin ABC, developed mostly by Amaury Sechet/deadalnix and freetrader;
Bitcoin Unlimited, developed by the BU team (Andrew Stone/thezerg, Peter Tchipper, Andrea Suisani/sickpig, Peter Rizun, freetrader, and a few others, and funded by anonymous donors in 2016 for their Emergent Consensus proposal);
Bitcoin XT, developed initially by Gavin Andresen and Mike Hearn, and later by Tom Harding/dgenr8 and dagurval
Of those developers, the only ones who received money while they were working on these clients were possibly deadalnix (alleged but unconfirmed to be paid by Bitmain), and Gavin (MIT Digital Currency Initiative). Everybody else was a volunteer. At the time, BU's funds only paid for conferences, travel expenses, and a $20,000 bug bounty; BU didn't start paying its developers until after the BCH hard fork. A lot of Bitcoin Cash's early support came from Haipo Yang of ViaBTC. ViaBTC's exchange was the first to offer BCH trading pairs, and ViaBTC's pool was the first public pool to support BCH. I've also heard that Haipo Yang was the one who coined the name Bitcoin Cash -- can anyone confirm or deny this? ViaBTC played a significant role in BCH's deployment, far more than Roger Ver or Craig Wright, and had a comparable amount of influence to Bitmain. However, this was not obvious on the outside, because Haipo Yang is the kind of person who quietly builds things that work, instead of just being a prominent talking head like Craig Wright and Roger Ver are. Roger himself actually didn't fully support Bitcoin Cash until after the fork. Initially, he had his hopes up for Segwit2x, as did I. His name was conspicuously missing in an Aug 1, 2017 article about who supports Bitcoin Cash. It was only after Segwit2x failed on Nov 8, 2017 that he started to support BCH. Craig Wright on the other hand did praise the Bitcoin Cash initiative early on, probably largely because he hated Segwit for some reason. But he didn't do anything to help create BCH; he only spoke in favor of it. (I really wish he hadn't. His involvement in BCH fostered a lot of false beliefs among Bitcoin Cash's userbase, like the belief that selfish mining doesn't exist. We were only able to get rid of his crazed followers when BSV forked off. I'm very grateful that happened. But I digress.) Most people didn't take him seriously, but a modest minority bought his narrative hard. He was a pretty minor player at the time, and remained so until 2018. These are the people who created Bitcoin Cash. It's easy to place all the credit/blame on the most vocal figureheads, but the marketing department does not create the product; they just sell it. If you weren't around during the product's development, it's hard to know who actually built the thing and who was just a bandwagon joiner. CSW and Roger just hopped on the bandwagon. Jihan Wu/Bitmain and Haipo Yang/ViaBTC joined the crew of the bandwagon and contributed substantially to its development and survival, but by the time they had joined the bandwagon was already in motion. The real instigators were the community members like ftrader, deadalnix, singularity87, the BU crew, the Electron Cash crew (Calin Culianu, kyuupichan, Jonald Fyookball, etc.) and the many others who contributed in various ways that I haven't documented. For those of you who played a role or know of someone else who did but whom I didn't mention in this post, please make a comment below so we can all hear about it.
Bitcoin is slow because the block size was left at 1MB - 2MB with Witness Data on the SEGWIT network - after throwing the entire "team" developer of GitHub and being occupied by developers of what is now known as Blockstream. This size has been maintained and keeps referring to two issues: Mining in China and the decentralization of the nodes or transaction validators that you point out in the article. Mining in China occupies a good part of the pie that miners distribute - in turn these are the ones that confirm the transactions and undermine the blocks - since 2011 and these Chinese farms are behind something that in the West call "The Great Firewall "that prevents a stable connection and slows down the propagation of the block, its mining and confirmation of the transaction over 3 minutes   causing a large part of the mining coming from China and therefore the power of 'Hash' decreased drastically affecting the security of Bitcoin; The less Hash the greater the possibility of being attacked by the Bitcoin network through a 51% attack that could cause double spending - although this gives rise to many debates since the 51% attack on an already "mature" network like Bitcoin requires a Considerable expenditure on mining equipment to control 51% of the mining power and receiving the block reward and the commissions for confirmed transfer on each block would make it less likely that said miner or mining group would like to make a double expense upon receiving sufficient economic compensation. So only a malicious agent with the intentions of destroying the network and assuming the total losses on the investment of equipment would be willing to carry out such operation. Possibilities exist but these are reduced by being the miner compensated for their activity. In the same references to Chinese mining farms but in another more economical field; Bitcoin has 21 million that are obtained through mining and commissions on transfers. These 21 million are achieved over time and from there it becomes a deflationary element as there is no possibility of printing more coins. The question of the Bitcoin block costly and the influence of Chinese mining goes through the Bitcoin subsidy or, currently called as, block reward: When a miner puts a block in the chain he receives the Bitcoin reward that is "inside" "of that block and which is currently encrypted in 12.5. Every 210000 blocks the reward is reduced by half so in less than a year (312 days from today ) it will be reduced to 6.25 so the miners will see their subsidy fall in half unless Bitcoin's price per coin increases considerably or the mining farms begin to close or reduce mining equipment thus decreasing the power of the network's Hash. If Bitcoin reduces by half every 210000 blocks the subsidy per block to miners will come a time when they can only live and maintain their equipment for transaction fees and in a Bitcoin network with 7 transactions per second and a commission that tends to Increase the higher the number of movements in it makes it unfeasible for miners to continue in said 1MB network and above all that people want to use this payment method that is expensive and slow - more even than gold paper - Because remember that Bitcoin born as Peer 2 peer cash, not gold-. Therefore, if in time the subsidy or reward is going to be 0 or unable to cover the mining equipment expense, it is necessary to find a solution if the developers do not want to touch the block size. And this goes through three issues already raised in BIPs and about the community: RPF (Replace By Fee), Lightning Network and Increase in the number of Bitcoin since the demand for Bitcoin does not rise because it offers a quality service but for security and above all for the manipulation of Tether (USDT) and the large exchange houses: - The RBF consists in the substitution of a transaction without confirmations for another that would replace it with a higher commission eliminating the previous one of the mempool - the limbo of the transactions to be confirmed in Bitcoin -. Although this system seems effective, it does not eliminate the long-term problem of continuing to maintain the reduced block, but rather removes the problem of financing miners, but does not eliminate it and, above all, kills the operation of Bitcoin transactions by not eliminating the increase in commissions that would distance the user from its use. In addition to more easily allowing double spending  . - Lightning Network is a side-chain or second layer, that is, a software development not implemented in the Bitcoin network itself and therefore is not an element of the block chain so this should already be repudiated since being a External and non-auditable element such as Bitcoin gives rise to "blanks" and therefore lack of existence and possibility of auditing accounts  and even the loss of money or cancellation of the transaction  . It also faces the problem of routing since in a network in constant change with the openings and closures of payment channels it is unfeasible to establish a total and rapid diffusion to the nodes of LN - other than those of Bitcoin - so it comes into play Another new element of this network is the watchtowers in charge of ensuring compliance in open channels and over the entire LN network of payments. Obviously it requires an additional cost to hire this service and it is not yet implemented  and taking into account the pace at which Lightning Network is developed, it is doubtful that it will become available . In short, to use properly - which is not successful - LN you need a node valued at $ 300 , a watchtower, have a channel open 24/7 and with sufficient funds to carry out transactions    . - The increase in the Bitcoin offer was raised fleetingly by developer Peter Todd   and will become an open debate in a few years when the mining block reward is low and the price of Bitcoin cannot be sustained only with uncontrolled printing of Tether and the manipulation on the price of the currency   next to the collusion of the exchange houses headed by BitFinex  and personalities of the world 'crypto'  - if he survives long enough to see that moment since they are already behind Bitfinex for money laundering . When that moment arrives I am sure that a BIP - Bitcoin Improvement Proposal - will be launched by Blockstream or directly notified of the measure destroying the essence of Bitcoin and the TRUE DECENTRALIZATION: THE PROTOCOL. This brings us to the second reason for the slowness of Bitcoin. The correct and true decentralization goes through the code and the team of developers and maintainers, not any other. The protocol must be engraved in stone  and that the action of the miners distribute and decentralize the network and they maintain the nodes and the transactions in a completely capitalist economic relationship. Investing in machines and communication improves access, speed and spread of transactions and blocks and makes miners true competitors as well as facilitating the transmission of money and all kinds of transactions . The decentralization of the nodes was the other great reason to prevent the increase of the block and therefore the speed in the transaction. It is based on a false premise to base the decentralization of Bitcoin - which is nowhere on the whitepaper - on the raspberry nodes. The dispersion of the transaction and all the stages of the transaction and the blocks depend on the miner and his team, as well as the search for excellence in communications to avoid orphan blocks - which are stipulated in the Nakamoto consensus and are part of Bitcoin and not they throw no problem in the transactions only in the resolution of the reward of the block that affects the miners and should seek greater efficiency - and reorganizations. The audit on the Bitcoin network can be perfectly performed without there being a Bitcoin node in each house, in fact it would cause the same routing problems that occur / will occur in the LN network. Decentralization should not go through nodes but through developers and to a lesser extent by miners. If a protocol is continually being altered by developers they have the power of the network and it must be in constant struggle by the miners through the commission on transactions. Due to these two factors, the BIP0101 proposed by the developers that Satoshi left in charge  and that originated the creation of Bitcoin Unlimited was rejected, later it was attacked due to its recent creation through DDoS attacks in a statement of intentions of the network Blockstream bitcoin   remaining as a residual element. These two reasons are the cause of the drowning suffered by the Bitcoin network - including many other elements that were eliminated and that corresponded to the initial code completely changing the nature and destiny of Bitcoin that are not relevant and I will not enumerate -, Any other reason is propaganda by those who want to keep Bitcoin drowned in order to enrich themselves with mining sub-subsidies and second-layer software like LN. Bitcoin has a structure similar to gold and can collect certain attributes of it but its destination in efficient and fast transmission as effective - among other transactions. Bitcoin was designed to professionalize miners and create a new industry around them, so mining centers will become datacenters  and they will replicate all transaction logs and even this professionalization will eventually lead to specialization in other types of transactions born new industries around you that will support the nodes according to specialization - Data, asset transfers, money, property rights, etc ... - Bitcoin scales to infinity if they leave the protocol FREE enough to do so. P.D: Core, since the departure of Hearn and Andersen, they know perfectly well what they are doing: The worst breed from the Cyberpunk movement has been combined with the worst breed of the current synarchy; The ends always touch.  https://np.reddit.com/btc/comments/3ygo96/blocksize_consensus_census/cye0bmt/  https://www.youtube.com/watch?v=ivgxcEOyWNs&feature=youtu.be&t=2h36m20s  https://www.bitcoinblockhalf.com/  https://petertodd.org/2016/are-wallets-ready-for-rbf  https://www.ccn.com/bitcoin-atm-double-spenders-police-need-help-identifying-four-criminals/  https://bitcointalk.org/index.php?topic=4905430.0 https://www.trustnodes.com/2018/03/26/lightning-network-user-loses-funds || https://www.trustnodes.com/2019/03/13/lightning-network-has-many-routing-problems-says-lead-dev-at-lightning-labs  https://diar.co/volume-2-issue-25/  https://blockonomi.com/watchtowers-bitcoin-lightning-network/  https://twitter.com/starkness/status/676599570898419712  https://store.casa/lightning-node/  https://bitcoin.stackexchange.com/questions/81906/to-create-a-channel-on-the-lightning-network-do-you-have-to-execute-an-actual-t  https://blog.muun.com/the-inbound-capacity-problem-in-the-lightning-network/  https://medium.com/@octskyward/the-capacity-cliff-586d1bf7715e  https://dashnews.org/peter-todd-argues-for-bitcoin-inflation-to-support-security/  https://twitter.com/peterktodd/status/1092260891788103680  https://medium.com/datadriveninvestotether-usd-is-used-to-manipulate-bitcoin-prices-94714e65ee31  https://twitter.com/CryptoJetHammestatus/1149131155469455364  https://www.bitrates.com/news/p/crypto-collusion-the-web-of-secrets-at-the-core-of-the-crypto-market  https://archive.is/lk1lH  https://iapps.courts.state.ny.us/nyscef/ViewDocument?docIndex=8W00ssb7x5ZOaj8HKFdbfQ==  https://bitcointalk.org/index.php?topic=195.msg1611#msg1611  https://github.com/bitcoin/bips/blob/mastebip-0101.mediawiki  https://www.reddit.com/bitcoinxt/comments/3yewit/psa_if_youre_running_an_xt_node_in_stealth_mode/  https://www.reddit.com/btc/comments/3yebzi/coinbase_down/ https://bitcointalk.org/index.php?topic=532.msg6306#msg6306"
Transcript of the community Q&A with Steve Shadders and Daniel Connolly of the Bitcoin SV development team. We talk about the path to big blocks, new opcodes, selfish mining, malleability, and why November will lead to a divergence in consensus rules. (Cont in comments)
We've gone through the painstaking process of transcribing the linked interview with Steve Shadders and Daniell Connolly of the Bitcoin SV team. There is an amazing amount of information in this interview that we feel is important for businesses and miners to hear, so we believe it was important to get this is a written form. To avoid any bias, the transcript is taken almost word for word from the video, with just a few changes made for easier reading. If you see any corrections that need to be made, please let us know. Each question is in bold, and each question and response is timestamped accordingly. You can follow along with the video here: https://youtu.be/tPImTXFb_U8
Connor: 02:19.68,0:02:45.10 Alright so thank You Daniel and Steve for joining us. We're joined by Steve Shadders and Daniel Connolly from nChain and also the lead developers of the Satoshi’s Vision client. So Daniel and Steve do you guys just want to introduce yourselves before we kind of get started here - who are you guys and how did you get started? Steve: 0,0:02:38.83,0:03:30.61
So I'm Steve Shadders and at nChain I am the director of solutions in engineering and specifically for Bitcoin SV I am the technical director of the project which means that I'm a bit less hands-on than Daniel but I handle a lot of the liaison with the miners - that's the conditional project.
Hi I’m Daniel I’m the lead developer for Bitcoin SV. As the team's grown that means that I do less actual coding myself but more organizing the team and organizing what we’re working on.
Connor 03:23.07,0:04:15.98 Great so we took some questions - we asked on Reddit to have people come and post their questions. We tried to take as many of those as we could and eliminate some of the duplicates, so we're gonna kind of go through each question one by one. We added some questions of our own in and we'll try and get through most of these if we can. So I think we just wanted to start out and ask, you know, Bitcoin Cash is a little bit over a year old now. Bitcoin itself is ten years old but in the past a little over a year now what has the process been like for you guys working with the multiple development teams and, you know, why is it important that the Satoshi’s vision client exists today? Steve: 0:04:17.66,0:06:03.46
I mean yes well we’ve been in touch with the developer teams for quite some time - I think a bi-weekly meeting of Bitcoin Cash developers across all implementations started around November last year. I myself joined those in January or February of this year and Daniel a few months later. So we communicate with all of those teams and I think, you know, it's not been without its challenges. It's well known that there's a lot of disagreements around it, but some what I do look forward to in the near future is a day when the consensus issues themselves are all rather settled, and if we get to that point then there's not going to be much reason for the different developer teams to disagree on stuff. They might disagree on non-consensus related stuff but that's not the end of the world because, you know, Bitcoin Unlimited is free to go and implement whatever they want in the back end of a Bitcoin Unlimited and Bitcoin SV is free to do whatever they want in the backend, and if they interoperate on a non-consensus level great. If they don't not such a big problem there will obviously be bridges between the two, so, yeah I think going forward the complications of having so many personalities with wildly different ideas are going to get less and less.
Cory: 0:06:00.59,0:06:19.59 I guess moving forward now another question about the testnet - a lot of people on Reddit have been asking what the testing process for Bitcoin SV has been like, and if you guys plan on releasing any of those results from the testing? Daniel: 0:06:19.59,0:07:55.55
Sure yeah so our release will be concentrated on the stability, right, with the first release of Bitcoin SV and that involved doing a large amount of additional testing particularly not so much at the unit test level but at the more system test so setting up test networks, performing tests, and making sure that the software behaved as we expected, right. Confirming the changes we made, making sure that there aren’t any other side effects. Because of, you know, it was quite a rush to release the first version so we've got our test results documented, but not in a way that we can really release them. We're thinking about doing that but we’re not there yet.
Just to tidy that up - we've spent a lot of our time developing really robust test processes and the reporting is something that we can read on our internal systems easily, but we need to tidy that up to give it out for public release. The priority for us was making sure that the software was safe to use. We've established a test framework that involves a progression of code changes through multiple test environments - I think it's five different test environments before it gets the QA stamp of approval - and as for the question about the testnet, yeah, we've got four of them. We've got Testnet One and Testnet Two. A slightly different numbering scheme to the testnet three that everyone's probably used to – that’s just how we reference them internally. They're [1 and 2] both forks of Testnet Three. [Testnet] One we used for activation testing, so we would test things before and after activation - that one’s set to reset every couple of days. The other one [Testnet Two] was set to post activation so that we can test all of the consensus changes. The third one was a performance test network which I think most people have probably have heard us refer to before as Gigablock Testnet. I get my tongue tied every time I try to say that word so I've started calling it the Performance test network and I think we're planning on having two of those: one that we can just do our own stuff with and experiment without having to worry about external unknown factors going on and having other people joining it and doing stuff that we don't know about that affects our ability to baseline performance tests, but the other one (which I think might still be a work in progress so Daniel might be able to answer that one) is one of them where basically everyone will be able to join and they can try and mess stuff up as bad as they want.
Yeah, so we so we recently shared the details of Testnet One and Two with the with the other BCH developer groups. The Gigablock test network we've shared up with one group so far but yeah we're building it as Steve pointed out to be publicly accessible.
Connor: 0:10:18.88,0:10:44.00 I think that was my next question I saw that you posted on Twitter about the revived Gigablock testnet initiative and so it looked like blocks bigger than 32 megabytes were being mined and propagated there, but maybe the block explorers themselves were coming down - what does that revived Gigablock test initiative look like? Daniel: 0:10:41.62,0:11:58.34
That's what did the Gigablock test network is. So the Gigablock test network was first set up by Bitcoin Unlimited with nChain’s help and they did some great work on that, and we wanted to revive it. So we wanted to bring it back and do some large-scale testing on it. It's a flexible network - at one point we had we had eight different large nodes spread across the globe, sort of mirroring the old one. Right now we scaled back because we're not using it at the moment so they'll notice I think three. We have produced some large blocks there and it's helped us a lot in our research and into the scaling capabilities of Bitcoin SV, so it's guided the work that the team’s been doing for the last month or two on the improvements that we need for scalability.
I think that's actually a good point to kind of frame where our priorities have been in kind of two separate stages. I think, as Daniel mentioned before, because of the time constraints we kept the change set for the October 15 release as minimal as possible - it was just the consensus changes. We didn't do any work on performance at all and we put all our focus and energy into establishing the QA process and making sure that that change was safe and that was a good process for us to go through. It highlighted what we were missing in our team – we got our recruiters very busy recruiting of a Test Manager and more QA people. The second stage after that is performance related work which, as Daniel mentioned, the results of our performance testing fed into what tasks we were gonna start working on for the performance related stuff. Now that work is still in progress - some of the items that we identified the code is done and that's going through the QA process but it’s not quite there yet. That's basically the two-stage process that we've been through so far. We have a roadmap that goes further into the future that outlines more stuff, but primarily it’s been QA first, performance second. The performance enhancements are close and on the horizon but some of that work should be ongoing for quite some time.
Some of the changes we need for the performance are really quite large and really get down into the base level view of the software. There's kind of two groups of them mainly. One that are internal to the software – to Bitcoin SV itself - improving the way it works inside. And then there's other ones that interface it with the outside world. One of those in particular we're working closely with another group to make a compatible change - it's not consensus changing or anything like that - but having the same interface on multiple different implementations will be very helpful right, so we're working closely with them to make improvements for scalability.
Connor: 0:14:32.60,0:15:26.45 Obviously for Bitcoin SV one of the main things that you guys wanted to do that that some of the other developer groups weren't willing to do right now is to increase the maximum default block size to 128 megabytes. I kind of wanted to pick your brains a little bit about - a lot of the objection to either removing the box size entirely or increasing it on a larger scale is this idea of like the infinite block attack right and that kind of came through in a lot of the questions. What are your thoughts on the “infinite block attack” and is it is it something that that really exists, is it something that miners themselves should be more proactive on preventing, or I guess what are your thoughts on that attack that everyone says will happen if you uncap the block size? Steve: 0:15:23.45,0:18:28.56
I'm often quoted on Twitter and Reddit - I've said before the infinite block attack is bullshit. Now, that's a statement that I suppose is easy to take out of context, but I think the 128 MB limit is something where there’s probably two schools of thought about. There are some people who think that you shouldn't increase the limit to 128 MB until the software can handle it, and there are others who think that it's fine to do it now so that the limit is increased when the software can handle it and you don’t run into the limit when this when the software improves and can handle it. Obviously we’re from the latter school of thought. As I said before we've got a bunch of performance increases, performance enhancements, in the pipeline. If we wait till May to increase the block size limit to 128 MB then those performance enhancements will go in, but we won't be able to actually demonstrate it on mainnet. As for the infinitive block attack itself, I mean there are a number of mitigations that you can put in place. I mean firstly, you know, going down to a bit of the tech detail - when you send a block message or send any peer to peer message there's a header which has the size of the message. If someone says they're sending you a 30MB message and you're receiving it and it gets to 33MB then obviously you know something's wrong so you can drop the connection. If someone sends you a message that's 129 MB and you know the block size limit is 128 you know it’s kind of pointless to download that message. So I mean these are just some of the mitigations that you can put in place. When I say the attack is bullshit, I mean I mean it is bullshit from the sense that it's really quite trivial to prevent it from happening. I think there is a bit of a school of thought in the Bitcoin world that if it's not in the software right now then it kind of doesn't exist. I disagree with that, because there are small changes that can be made to work around problems like this. One other aspect of the infinite block attack, and let’s not call it the infinite block attack, let's just call it the large block attack - it takes a lot of time to validate that we gotten around by having parallel pipelines for blocks to come in, so you've got a block that's coming in it's got a unknown stuck on it for two hours or whatever downloading and validating it. At some point another block is going to get mined b someone else and as long as those two blocks aren't stuck in a serial pipeline then you know the problem kind of goes away.
Cory: 0:18:26.55,0:18:48.27 Are there any concerns with the propagation of those larger blocks? Because there's a lot of questions around you know what the practical size of scaling right now Bitcoin SV could do and the concerns around propagating those blocks across the whole network. Steve 0:18:45.84,0:21:37.73
Yes, there have been concerns raised about it. I think what people forget is that compact blocks and xThin exist, so if a 32MB block is not send 32MB of data in most cases, almost all cases. The concern here that I think I do find legitimate is the Great Firewall of China. Very early on in Bitcoin SV we started talking with miners on the other side of the firewall and that was one of their primary concerns. We had anecdotal reports of people who were having trouble getting a stable connection any faster than 200 kilobits per second and even with compact blocks you still need to get the transactions across the firewall. So we've done a lot of research into that - we tested our own links across the firewall, rather CoinGeeks links across the firewall as they’ve given us access to some of their servers so that we can play around, and we were able to get sustained rates of 50 to 90 megabits per second which pushes that problem quite a long way down the road into the future. I don't know the maths off the top of my head, but the size of the blocks that can sustain is pretty large. So we're looking at a couple of options - it may well be the chattiness of the peer-to-peer protocol causes some of these issues with the Great Firewall, so we have someone building a bridge concept/tool where you basically just have one kind of TX vacuum on either side of the firewall that collects them all up and sends them off every one or two seconds as a single big chunk to eliminate some of that chattiness. The other is we're looking at building a multiplexer that will sit and send stuff up to the peer-to-peer network on one side and send it over splitters, to send it over multiple links, reassemble it on the other side so we can sort of transition the great Firewall without too much trouble, but I mean getting back to the core of your question - yes there is a theoretical limit to block size propagation time and that's kind of where Moore's Law comes in. Putting faster links and you kick that can further down the road and you just keep on putting in faster links. I don't think 128 main blocks are going to be an issue though with the speed of the internet that we have nowadays.
Connor: 0:21:34.99,0:22:17.84 One of the other changes that you guys are introducing is increasing the max script size so I think right now it’s going from 201 to 500 [opcodes]. So I guess a few of the questions we got was I guess #1 like why not uncap it entirely - I think you guys said you ran into some concerns while testing that - and then #2 also specifically we had a question about how certain are you that there are no remaining n squared bugs or vulnerabilities left in script execution? Steve: 0:22:15.50,0:25:36.79
It's interesting the decision - we were initially planning on removing that cap altogether and the next cap that comes into play after that (next effective cap is a 10,000 byte limit on the size of the script). We took a more conservative route and decided to wind that back to 500 - it's interesting that we got some criticism for that when the primary criticism I think that was leveled against us was it’s dangerous to increase that limit to unlimited. We did that because we’re being conservative. We did some research into these log n squared bugs, sorry – attacks, that people have referred to. We identified a few of them and we had a hard think about it and thought - look if we can find this many in a short time we can fix them all (the whack-a-mole approach) but it does suggest that there may well be more unknown ones. So we thought about putting, you know, taking the whack-a-mole approach, but that doesn't really give us any certainty. We will fix all of those individually but a more global approach is to make sure that if anyone does discover one of these scripts it doesn't bring the node to a screaming halt, so the problem here is because the Bitcoin node is essentially single-threaded, if you get one of these scripts that locks up the script engine for a long time everything that's behind it in the queue has to stop and wait. So what we wanted to do, and this is something we've got an engineer actively working on right now, is once that script validation goad path is properly paralyzed (parts of it already are), then we’ll basically assign a few threads for well-known transaction templates, and a few threads for any any type of script. So if you get a few scripts that are nasty and lock up a thread for a while that's not going to stop the node from working because you've got these other kind of lanes of the highway that are exclusively reserved for well-known script templates and they'll just keep on passing through. Once you've got that in place, and I think we're in a much better position to get rid of that limit entirely because the worst that's going to happen is your non-standard script pipelines get clogged up but everything else will keep keep ticking along - there are other mitigations for this as well I mean I know you could always put a time limit on script execution if they wanted to, and that would be something that would be up to individual miners. Bitcoin SV's job I think is to provide the tools for the miners and the miners can then choose, you know, how to make use of them - if they want to set time limits on script execution then that's a choice for them.
Yeah, I'd like to point out that a node here, when it receives a transaction through the peer to peer network, it doesn't have to accept that transaction, you can reject it. If it looks suspicious to the node it can just say you know we're not going to deal with that, or if it takes more than five minutes to execute, or more than a minute even, it can just abort and discard that transaction, right. The only time we can’t do that is when it's in a block already, but then it could decide to reject the block as well. It's all possibilities there could be in the software.
Yeah, and if it's in a block already it means someone else was able to validate it so…
Cory: 0,0:26:21.21,0:26:43.60 There’s a lot of discussions about the re-enabled opcodes coming – OP_MUL, OP_INVERT, OP_LSHIFT, and OP_RSHIFT up invert op l shift and op r shift you maybe explain the significance of those op codes being re-enabled? Steve: 0:26:42.01,0:28:17.01
Well I mean one of one of the most significant things is other than two, which are minor variants of DUP and MUL, they represent almost the complete set of original op codes. I think that's not necessarily a technical issue, but it's an important milestone. MUL is one that's that I've heard some interesting comments about. People ask me why are you putting OP_MUL back in if you're planning on changing them to big number operations instead of the 32-bit limit that they're currently imposed upon. The simple answer to that question is that we currently have all of the other arithmetic operations except for OP_MUL. We’ve got add divide, subtract, modulo – it’s odd to have a script system that's got all the mathematical primitives except for multiplication. The other answer to that question is that they're useful - we've talked about a Rabin signature solution that basically replicates the function of DATASIGVERIFY. That's just one example of a use case for this - most cryptographic primitive operations require mathematical operations and bit shifts are useful for a whole ton of things. So it's really just about completing that work and completing the script engine, or rather not completing it, but putting it back the way that it was it was meant to be.
Connor 0:28:20.42,0:29:22.62 Big Num vs 32 Bit. I've seen Daniel - I think I saw you answer this on Reddit a little while ago, but the new op codes using logical shifts and Satoshi’s version use arithmetic shifts - the general question that I think a lot of people keep bringing up is, maybe in a rhetorical way but they say why not restore it back to the way Satoshi had it exactly - what are the benefits of changing it now to operate a little bit differently? Daniel: 0:29:18.75,0:31:12.15
Yeah there's two parts there - the big number one and the L shift being a logical shift instead of arithmetic. so when we re-enabled these opcodes we've looked at them carefully and have adjusted them slightly as we did in the past with OP_SPLIT. So the new LSHIFT and RSHIFT are bitwise operators. They can be used to implement arithmetic based shifts - I think I've posted a short script that did that, but we can't do it the other way around, right. You couldn't use an arithmetic shift operator to implement a bitwise one. It's because of the ordering of the bytes in the arithmetic values, so the values that represent numbers. The little endian which means they're swapped around to what many other systems - what I've considered normal - or big-endian. And if you start shifting that properly as a number then then shifting sequence in the bytes is a bit strange, so it couldn't go the other way around - you couldn't implement bitwise shift with arithmetic, so we chose to make them bitwise operators - that's what we proposed.
That was essentially a decision that was actually made in May, or rather a consequence of decisions that were made in May. So in May we reintroduced OP_AND, OP_OR, and OP_XOR, and that was also another decision to replace three different string operators with OP_SPLIT was also made. So that was not a decision that we've made unilaterally, it was a decision that was made collectively with all of the BCH developers - well not all of them were actually in all of the meetings, but they were all invited.
Another example of that is that we originally proposed OP_2DIV and OP_2MUL was it, I think, and this is a single operator that multiplies the value by two, right, but it was pointed out that that can very easily be achieved by just doing multiply by two instead of having a separate operator for it, so we scrapped those, we took them back out, because we wanted to keep the number of operators minimum yeah.
There was an appetite around for keeping the operators minimal. I mean the decision about the idea to replace OP_SUBSTR, OP_LEFT, OP_RIGHT with OP_SPLIT operator actually came from Gavin Andresen. He made a brief appearance in the Telegram workgroups while we were working out what to do with May opcodes and obviously Gavin's word kind of carries a lot of weight and we listen to him. But because we had chosen to implement the May opcodes (the bitwise opcodes) and treat the data as big-endian data streams (well, sorry big-endian not really applicable just plain data strings) it would have been completely inconsistent to implement LSHIFT and RSHIFT as integer operators because then you would have had a set of bitwise operators that operated on two different kinds of data, which would have just been nonsensical and very difficult for anyone to work with, so yeah. I mean it's a bit like P2SH - it wasn't a part of the original Satoshi protocol that once some things are done they're done and you know if you want to want to make forward progress you've got to work within that that framework that exists.
When we get to the big number ones then it gets really complicated, you know, number implementations because then you can't change the behavior of the existing opcodes, and I don't mean OP_MUL, I mean the other ones that have been there for a while. You can't suddenly make them big number ones without seriously looking at what scripts there might be out there and the impact of that change on those existing scripts, right. The other the other point is you don't know what scripts are out there because of P2SH - there could be scripts that you don't know the content of and you don't know what effect changing the behavior of these operators would mean. The big number thing is tricky, so another option might be, yeah, I don't know what the options for though it needs some serious thought.
That’s something we've reached out to the other implementation teams about - actually really would like their input on the best ways to go about restoring big number operations. It has to be done extremely carefully and I don't know if we'll get there by May next year, or when, but we’re certainly willing to put a lot of resources into it and we're more than happy to work with BU or XT or whoever wants to work with us on getting that done and getting it done safely.
Connor: 0:35:19.30,0:35:57.49 Kind of along this similar vein, you know, Bitcoin Core introduced this concept of standard scripts, right - standard and non-standard scripts. I had pretty interesting conversation with Clemens Ley about use cases for “non-standard scripts” as they're called. I know at least one developer on Bitcoin ABC is very hesitant, or kind of pushed back on him about doing that and so what are your thoughts about non-standard scripts and the entirety of like an IsStandard check? Steve: 0:35:58.31,0:37:35.73
I’d actually like to repurpose the concept. I think I mentioned before multi-threaded script validation and having some dedicated well-known script templates - when you say the word well-known script template there’s already a check in Bitcoin that kind of tells you if it's well-known or not and that's IsStandard. I'm generally in favor of getting rid of the notion of standard transactions, but it's actually a decision for miners, and it's really more of a behavioral change than it is a technical change. There's a whole bunch of configuration options that miners can set that affect what they do what they consider to be standard and not standard, but the reality is not too many miners are using those configuration options. So I mean standard transactions as a concept is meaningful to an arbitrary degree I suppose, but yeah I would like to make it easier for people to get non-standard scripts into Bitcoin so that they can experiment, and from discussions of I’ve had with CoinGeek they’re quite keen on making their miners accept, you know, at least initially a wider variety of transactions eventually.
So I think IsStandard will remain important within the implementation itself for efficiency purposes, right - you want to streamline base use case of cash payments through them and prioritizing. That's where it will remain important but on the interfaces from the node to the rest of the network, yeah I could easily see it being removed.
Cory: 0,0:38:06.24,0:38:35.46 *Connor mentioned that there's some people that disagree with Bitcoin SV and what they're doing - a lot of questions around, you know, why November? Why implement these changes in November - they think that maybe the six-month delay might not cause a split. Well, first off what do you think about the ideas of a potential split and I guess what is the urgency for November? Steve: 0:38:33.30,0:40:42.42
Well in November there's going to be a divergence of consensus rules regardless of whether we implement these new op codes or not. Bitcoin ABC released their spec for the November Hard fork change I think on August 16th or 17th something like that and their client as well and it included CTOR and it included DSV. Now for the miners that commissioned the SV project, CTOR and DSV are controversial changes and once they're in they're in. They can't be reversed - I mean CTOR maybe you could reverse it at a later date, but DSV once someone's put a P2SH transaction into the project or even a non P2SH transaction in the blockchain using that opcode it's irreversible. So it's interesting that some people refer to the Bitcoin SV project as causing a split - we're not proposing to do anything that anyone disagrees with - there might be some contention about changing the opcode limit but what we're doing, I mean Bitcoin ABC already published their spec for May and it is our spec for the new opcodes, so in terms of urgency - should we wait? Well the fact is that we can't - come November you know it's bit like Segwit - once Segwit was in, yes you arguably could get it out by spending everyone's anyone can spend transactions but in reality it's never going to be that easy and it's going to cause a lot of economic disruption, so yeah that's it. We're putting out changes in because it's not gonna make a difference either way in terms of whether there's going to be a divergence of consensus rules - there's going to be a divergence whether whatever our changes are. Our changes are not controversial at all.
If we didn't include these changes in the November upgrade we'd be pushing ahead with a no-change, right, but the November upgrade is there so we should use it while we can. Adding these non-controversial changes to it.
Connor: 0:41:01.55,0:41:35.61 Can you talk about DATASIGVERIFY? What are your concerns with it? The general concept that's been kind of floated around because of Ryan Charles is the idea that it's a subsidy, right - that it takes a whole megabyte and kind of crunches that down and the computation time stays the same but maybe the cost is lesser - do you kind of share his view on that or what are your concerns with it? Daniel: 0:41:34.01,0:43:38.41
Can I say one or two things about this – there’s different ways to look at that, right. I'm an engineer - my specialization is software, so the economics of it I hear different opinions. I trust some more than others but I am NOT an economist. I kind of agree with the ones with my limited expertise on that it's a subsidy it looks very much like it to me, but yeah that's not my area. What I can talk about is the software - so adding DSV adds really quite a lot of complexity to the code right, and it's a big change to add that. And what are we going to do - every time someone comes up with an idea we’re going to add a new opcode? How many opcodes are we going to add? I saw reports that Jihan was talking about hundreds of opcodes or something like that and it's like how big is this client going to become - how big is this node - is it going to have to handle every kind of weird opcode that that's out there? The software is just going to get unmanageable and DSV - that was my main consideration at the beginning was the, you know, if you can implement it in script you should do it, because that way it keeps the node software simple, it keeps it stable, and you know it's easier to test that it works properly and correctly. It's almost like adding (?) code from a microprocessor you know why would you do that if you can if you can implement it already in the script that is there.
It’s actually an interesting inconsistency because when we were talking about adding the opcodes in May, the philosophy that seemed to drive the decisions that we were able to form a consensus around was to simplify and keep the opcodes as minimal as possible (ie where you could replicate a function by using a couple of primitive opcodes in combination, that was preferable to adding a new opcode that replaced) OP_SUBSTR is an interesting example - it's a combination of SPLIT, and SWAP and DROP opcodes to achieve it. So at really primitive script level we've got this philosophy of let's keep it minimal and at this sort of (?) philosophy it’s all let's just add a new opcode for every primitive function and Daniel's right - it's a question of opening the floodgates. Where does it end? If we're just going to go down this road, it almost opens up the argument why have a scripting language at all? Why not just add a hard code all of these functions in one at a time? You know, pay to public key hash is a well-known construct (?) and not bother executing a script at all but once we've done that we take away with all of the flexibility for people to innovate, so it's a philosophical difference, I think, but I think it's one where the position of keeping it simple does make sense. All of the primitives are there to do what people need to do. The things that people don't feel like they can't do are because of the limits that exist. If we had no opcode limit at all, if you could make a gigabyte transaction so a gigabyte script, then you can do any kind of crypto that you wanted even with 32-bit integer operations, Once you get rid of the 32-bit limit of course, a lot of those a lot of those scripts come up a lot smaller, so a Rabin signature script shrinks from 100MB to a couple hundred bytes.
I lost a good six months of my life diving into script, right. Once you start getting into the language and what it can do, it is really pretty impressive how much you can achieve within script. Bitcoin was designed, was released originally, with script. I mean it didn't have to be – it could just be instead of having a transaction with script you could have accounts and you could say trust, you know, so many BTC from this public key to this one - but that's not the way it was done. It was done using script, and script provides so many capabilities if you start exploring it properly. If you start really digging into what it can do, yeah, it's really amazing what you can do with script. I'm really looking forward to seeing some some very interesting applications from that. I mean it was Awemany his zero-conf script was really interesting, right. I mean it relies on DSV which is a problem (and some other things that I don't like about it), but him diving in and using script to solve this problem was really cool, it was really good to see that.
I asked a question to a couple of people in our research team that have been working on the Rabin signature stuff this morning actually and I wasn't sure where they are up to with this, but they're actually working on a proof of concept (which I believe is pretty close to done) which is a Rabin signature script - it will use smaller signatures so that it can fit within the current limits, but it will be, you know, effectively the same algorithm (as DSV) so I can't give you an exact date on when that will happen, but it looks like we'll have a Rabin signature in the blockchain soon (a mini-Rabin signature).
Cory: 0:48:13.61,0:48:57.63 Based on your responses I think I kinda already know the answer to this question, but there's a lot of questions about ending experimentation on Bitcoin. I was gonna kind of turn that into – with the plan that Bitcoin SV is on do you guys see like a potential one final release, you know that there's gonna be no new opcodes ever released (like maybe five years down the road we just solidify the base protocol and move forward with that) or are you guys more on the idea of being open-ended with appropriate testing that we can introduce new opcodes under appropriate testing. Steve: 0:48:55.80,0:49:47.43
I think you've got a factor in what I said before about the philosophical differences. I think new functionality can be introduced just fine. Having said that - yes there is a place for new opcodes but it's probably a limited place and in my opinion the cryptographic primitive functions for example CHECKSIG uses ECDSA with a specific elliptic curve, hash 256 uses SHA256 - at some point in the future those are going to no longer be as secure as we would like them to be and we'll replace them with different hash functions, verification functions, at some point, but I think that's a long way down the track.
I'd like to see more data too. I'd like to see evidence that these things are needed, and the way I could imagine that happening is that, you know, that with the full scripting language some solution is implemented and we discover that this is really useful, and over a period of, like, you know measured in years not days, we find a lot of transactions are using this feature, then maybe, you know, maybe we should look at introducing an opcode to optimize it, but optimizing before we even know if it's going to be useful, yeah, that's the wrong approach.
I think that optimization is actually going to become an economic decision for the miners. From the miner’s point of view is if it'll make more sense for them to be able to optimize a particular process - does it reduce costs for them such that they can offer a better service to everyone else? Yeah, so ultimately these decisions are going to be miner’s main decisions, not developer decisions. Developers of course can offer their input - I wouldn't expect every miner to be an expert on script, but as we're already seeing miners are actually starting to employ their own developers. I’m not just talking about us - there are other miners in China that I know have got some really bright people on their staff that question and challenge all of the changes - study them and produce their own reports. We've been lucky with actually being able to talk to some of those people and have some really fascinating technical discussions with them.
The Astounding Incompetence, Negligence, and Dishonesty of the Bitcoin Unlimited Developers
On August 26, 2016 someone noticed that their Classic node had been forked off of the "Big Blocks Testnet" that Bitcoin Classic and Bitcoin Unlimited were running. Neither implementation was testing their consensus code on any other testnets; this was effectively the only testnet being used to test either codebase. The issue was due to a block on the testnet that was mined on July 30, almost a full month prior to anyone noticing the fork at all, which was in violation of the BIP109 specification that Classic miners were purportedly adhering to at the time. Gregory Maxwell observed:
That was a month ago, but it's only being noticed now. I guess this is demonstrating that you are releasing Bitcoin Classic without much testing and that almost no one else is either? :-/ The transaction in question doesn't look at all unusual, other than being large. It was, incidentally, mined by pool.bitcoin.com, which was signaling support for BIP109 in the same block it mined that BIP 109 violating transaction.
I haven't even bothered to find out the exact cause. We have had BUIP016 passed to adhere to strict BIP109 compatibility (at least in what we generate) by merging Classic code, but BIP109 is DOA -- so no-one bothered to do it. I think that the only value to be had from this episode is to realise that consensus rules should be kept to an absolute, money-function-protecting minimum. If this was on mainnet, I'll be the Classic users would be unhappy to be forked onto a minority branch because of some arbitrary limit that is yet another thing would have needed to be fought over as machine performance improves but the limit stays the same.
Incredibly, when a confused user expressed disbelief regarding the fork, Andrew Stone responded:
Really? There was no classic fork? As i said i didnt bother to investigate. Can you give me a link to more info? Its important to combat this fud.
Of course, the proof of the fork (and the BIP109-violating block/transaction) had already been provided to Stone by Maxwell. Andrew Stone was willing to believe that the entire fork was imaginary, in the face of verifiable proof of the incident. He admits that he didn't investigate the subject at all, even though that was the only testnet that Unlimited could have possibly been performing any meaningful tests on at the time, and even though this fork forced Classic to abandon BIP109 entirely, leaving it vulnerable to the types of attacks that Gavin Andresen described in his Guided Tour of the 2mb Fork:
“Accurate sigop/sighash accounting and limits” is important, because without it, increasing the block size limit might be dangerous... It is set to 1.3 gigabytes, which is big enough so none of the blocks currently in the block chain would hit it, but small enough to make it impossible to create poison blocks that take minutes to validate.
As a result of this fork (which Stone was clueless enough to doubt had even happened), Bitcoin Classic and Bitcoin Unlimited were both left vulnerable to such attacks. Fascinatingly, this fact did not seem to bother the developers of Bitcoin Unlimited at all. On November 17, 2016 Andrew Stone decided to post an article titled A Short Tour of Bitcoin Core wherein he claimed:
Bitcoin Unlimited is building the highest quality, most stable, Bitcoin client available. We have a strong commitment to quality and testing as you will see in the rest of this document.
The irony of this claim should soon become very apparent. In the rest of the article, Stone wrote with venomous and overtly hostile rhetoric:
As we mine the garbage in the Bitcoin Core code together... I want you to realise that these issues are systemic to Core
He went on to describe what he believed to be multiple bugs that had gone unnoticed by the Core developers, and concluded his article with the following paragraph:
I hope when reading these issues, you will realise that the Bitcoin Unlimited team might actually be the most careful committers and testers, with a very broad and dedicated test infrastructure. And I hope that you will see these Bitcoin Core commits— bugs that are not tricky and esoteric, but simple issues that well known to average software engineers —and commits of “Very Ugly Hack” code that do not reflect the care required for an important financial network. I hope that you will realise that, contrary to statements from Adam Back and others, the Core team does not have unique skills and abilities that qualify them to administer this network.
Perhaps the biggest and most concerning danger here isn't that they don't know what they're doing-- but that they don't know what they don't know... to the point where this is their best attempt at criticism.
Amusingly enough, in the "Let's Lose Some Money" section of the article, Stone disparages an unnamed developer for leaving poor comments in a portion of the code, unwittingly making fun of Satoshi himself in the process. To summarize: Stone set out to criticize the Core developer team, and in the process revealed that he did not understand the codebase he was working on, had in fact personally introduced the majority of the bugs that he was criticizing, and was actually completely unable to identify any bugs that existed in current versions Core. Worst of all, even after receiving feedback on his article, he did not appear to comprehend (much less appreciate) any of these facts. On January 27, 2017, Bitcoin Unlimited excitedly released v1.0 of their software, announcing:
The third official BU client release reflects our opinion that Bitcoin full-node software has reached a milestone of functionality, stability and scalability. Hence, completion of the alpha/beta phase throughout 2009-16 can be marked in our release version.
A mere 2 days later, on January 29, their code accidentally attempted to hard-fork the network. Despite there being a very clear and straightforward comment in Bitcoin Core explaining the space reservation for coinbase transactions in the code, Bitcoin Unlimited obliviously merged a bug into their client which resulted in an invalid block (23 bytes larger than 1MB) being mined by Roger Ver's Bitcoin.com mining pool on January 29, 2017, costing the pool a minimum of 13.2 bitcoins. A large portion of Bitcoin Unlimited nodes and miners (which naively accepted this block as valid) were temporarily banned from the network as a result, as well. The code change in question revealed that the Bitcoin Unlimited developers were not only "commenting out and replacing code without understanding what it's for" as well as bypassing multiple safety-checks that should have prevented such issues from occurring, but that they were not performing any peer review or testing whatsoever of many of the code changes they were making. This particular bug was pushed directly to the master branch of Bitcoin Unlimited (by Andrew Stone), without any associated pull requests to handle the merge or any reviewers involved to double-check the update. This once again exposed the unprofessionalism and negligence of the development team and process of Bitcoin Unlimited, and in this case, irrefutably had a negative effect in the real world by costing Bitcoin.com thousands of dollars worth of coins. In effect, this was the first public mainnet fork attempt by Bitcoin Unlimited. Unsurprisingly, the attempt failed, costing the would-be forkers real bitcoins as a result. It is possible that the costs of this bug are much larger than the lost rewards and fees from this block alone, as other Bitcoin Unlimited miners may have been expending hash power in the effort to mine slightly-oversized (invalid) blocks prior to this incident, inadvertently wasting resources in the doomed pursuit of invalid coins. On March 14, 2017, a remote exploit vulnerability discovered in Bitcoin Unlimited crashed 75% of the BU nodes on the network in a matter of minutes. In order to downplay the incident, Andrew Stone rapidly published an article which attempted to imply that the remote-exploit bug also affected Core nodes by claiming that:
approximately 5% of the “Satoshi” Bitcoin clients (Core, Unlimited, XT) temporarily dropped off of the network
the Bitcoin Unlimited team found the issue, identified it as an attack and fixed the problem before the Core team chose to ignore it
The vulnerability in question was in thinblock.cpp, which has never been part of Bitcoin Core; in other words, this vulnerability only affected Bitcoin Classic and Bitcoin Unlimited nodes. In the same Medium article, Andrew Stone appears to have doctored images to further deceive readers. In the reddit thread discussing this deception, Andrew Stone denied that he had maliciously edited the images in question, but when questioned in-depth on the subject, he resorted to citing his own doctored images as sources and refused to respond to further requests for clarification or replication steps. Beyond that, the same incident report (and images) conspicuously omitted the fact that the alleged "5% drop" on the screenshotted (and photoshopped) node-graph was actually due to the node crawler having been rebooted, rather than any problems with Core nodes. This fact was plainly displayed on the 21 website that the graph originated from, but no mention of it was made in Stone's article or report, even after he was made aware of it and asked to revise or retract his deceptive statements. There were actually 3 (fundamentally identical) Xthin-assert exploits that Unlimited developers unwittingly publicized during this episode, which caused problems for Bitcoin Classic, which was also vulnerable. On top of all of the above, the vulnerable code in question had gone unnoticed for 10 months, and despite the Unlimited developers (including Andrew Stone) claiming to have (eventually) discovered the bug themselves, it later came out that this was another lie; an external security researcher had actually discovered it and disclosed it privately to them. This researcher provided the following quotes regarding Bitcoin Unlimited:
I am quite beside myself at how a project that aims to power a $20 billion network can make beginner’s mistakes like this. I am rather dismayed at the poor level of code quality in Bitcoin Unlimited and I suspect there [is] a raft of other issues The problem is, the bugs are so glaringly obvious that when fixing it, it will be easy to notice for anyone watching their development process, it doesn’t help if the software project is not discreet about fixing critical issues like this. In this case, the vulnerabilities are so glaringly obvious, it is clear no one has audited their code because these stick out like a sore thumb
What is Bitcoin Cash? Simply put, it’s a difference of opinion on how bitcoin should scale. Some people say there’s a war going, on but there’s no war. One side has used censorship, mass-banning, and corrupt behavior to misinform most new people in this space. Those of us who were here back in 2012 remember watching this play out. We were the ones screaming at the devs to increase Bitcoins capacity and make it more functional and innovative. They literally didn’t give a shit. And that’s what spawned Bitcoin Cash, Bitcoin Unlimited, BitcoinXT, and all the other attempts to bypass the Core development team. Here you can see the CEO of Coinbase meeting with them and walking away absolutely infuriated at their arrogance and unwillingness to work with anyone in the industry. Here you can see Satoshi Nakamoto‘s right-hand man stating that Bitcoin Cash fits the description of the bitcoin he was working on with the founder Satoshi himself. Here you can see the creator of Ethereum, Vitalik Buterin, stating that Bitcoin Cash is what bitcoin was supposed to be, and that it was Core who “forked” away from the original vision. Not BCH. For people who were passionate about Bitcoins intended social change to “bank the unbanked”, help the poorest escape government seizure of their money and take power away from those who control the money supply and start wars that kill innocent children (Core proponents actually mock that statement by the way), it was a nightmare living through those years. Watching Bitcoin become less and less relevant, because a handful of developers had a stranglehold on the repository. But there was a reason. And everyone eventually found out what it was. They had started a company. A Corporation. With investors. Investors in the hundreds of millions. And they had a plan: To funnel all of bitcoins transactions off chain and charge for them. So they could get filthy rich. Then we understood why they wouldn’t increase bitcoins capacity on-chain. The Core devs had been bought off by a Corporation. In fact they had become a Corporation themselves. And that’s when all hell broke loose. And that’s when the banning started. Literally thousands of members of the community we’re getting booted from the Reddit sub for raising concerns. Simply because they disagreed with a Corporation coming in and strangling on-chain scaling to force usership of their new off-chain solution (Lightning), for profit. Some prominent founding figures gave up on Bitcoin altogether, and the rest migrated to btc. Vitalik Buterin (creator of Ethereum) himself spoke out against it many times. There’s no war. There’s corruption. And then there’s a group of people who want Bitcoin to keep its transactions on the block chain where they belong. If you had told me in 2012 that Bitcoin would be a block chain with no fucking transactions on it because a corporation had come in and found a way to get filthy rich by rerouting them? I wouldn’t have believed you. But that’s what happened, and that’s why I support Bitcoin Cash now. Just like Satoshi Nakamoto‘s right-hand man, Vitalik Buterin, the CEO of Coinbase, the CEO of BitPay, Lamassu, Gemini, and every other major player in this industry right now.
Core/Blockstream attacks any dev who knows how to do simple & safe "Satoshi-style" on-chain scaling for Bitcoin, like Mike Hearn and Gavin Andresen. Now we're left with idiots like Greg Maxwell, Adam Back and Luke-Jr - who don't really understand scaling, mining, Bitcoin, or capacity planning.
Before Core and AXA-owned Blockstream started trying to monopolize and hijack Bitcoin development, Bitcoin had some intelligent devs. Remember Mike Hearn? Mike Hearn was a professional capacity planner for one of the world's busiest websites: Google Maps / Earth.
TIL On chain scaling advocate Mike Hearn was a professional capacity planner for one of the world’s busiest websites.
21 months ago, Gavin Andresen published "A Scalability Roadmap", including sections called: "Increasing transaction volume", "Bigger Block Road Map", and "The Future Looks Bright". This was the Bitcoin we signed up for. It's time for us to take Bitcoin back from the strangle-hold of Blockstream.
Gavin Andresen: "Let's eliminate the limit. Nothing bad will happen if we do, and if I'm wrong the bad things would be mild annoyances, not existential risks, much less risky than operating a network near 100% capacity." (June 2016)
"Notice how anyone who has even remotely supported on-chain scaling has been censored, hounded, DDoS'd, attacked, slandered & removed from any area of Core influence. Community, business, Hearn, Gavin, Jeff, XT, Classic, Coinbase, Unlimited, ViaBTC, Ver, Jihan, Bitcoin.com, btc" ~ u/randy-lawnmole
4 weird facts about Adam Back: (1) He never contributed any code to Bitcoin. (2) His Twitter profile contains 2 lies. (3) He wasn't an early adopter, because he never thought Bitcoin would work. (4) He can't figure out how to make Lightning Network decentralized. So... why do people listen to him??
https://np.reddit.com/btc/comments/6a72vm/purely_coincidental/ Why does it seem so hard to "scale" Bitcoin? Because we've been following toxic insane "leaders" like Greg Maxwell, Luke-Jr, and Adam Back. Here are two old posts - from over a year ago - when everyone already had their hair on fire about the urgency of increaing the blocksize. Meanwhile the clueless "leaders" from Core - Greg Maxwell and Luke-Jr - ignored everyone because they're are apparently too stupid to read a simple graph:
Just click on these historical blocksize graphs - all trending dangerously close to the 1 MB (1000KB) artificial limit. And then ask yourself: Would you hire a CTO / team whose Capacity Planning Roadmap from December 2015 officially stated: "The current capacity situation is no emergency" ?
"They [Core/Blockstream] fear a hard fork will remove them from their dominant position." ... "Hard forks are 'dangerous' because they put the market in charge, and the market might vote against '[the] experts' [at Core/Blockstream]" - ForkiusMaximus
"The 'logic' of a 'UASF' is that if a minority throw themselves off a cliff, the majority will follow behind and hand them a parachute before they hit the ground. Plus, I'm not even sure SegWit on a minority chain makes any sense given the Anyone-Can-Spend hack that was used." ~ u/Capt_Roger_Murdock
They have been immensely damaging to Bitcoin with their repeated denials of reality and their total misunderstanding of how Bitcoin works. Insane toxic "leaders" like Greg Maxwell, Luke-Jr and Adam Back keep spreading nonsense and lies which are harmful to the needs of Bitcoin users and miners. What can we do now? Code that supports bigger blocks (Bitcoin Unlimited, Bitcoin Classic, Extension Blocks, 8 MB blocksize) is already being used by 40-50% of hashpower on the network. https://coin.dance/blocks http://nodecounter.com/#bitcoin_classic_blocks Code that supports bigger blocks:
Scaling Bitcoin is only complicated or dangerous if you listen to insane toxic "leaders" like Greg Maxwell, Luke-Jr and Adam Back. Scaling Bitcoin is safe and simple if you just ignore the bizarre proposals like SegWit and now UASF being pushed by those insane toxic "leaders". We can simply install software like Bitcoin Unlimited, Bitcoin Classic - or any client supporting bigger blocks, such as Extension Blocks or 8 MB blocksize - and move forward to simple & safe on-chain scaling for Bitcoin - and we could easily enjoy a scenario such as the following:
Bitcoin Original: Reinstate Satoshi's original 32MB max blocksize. If actual blocks grow 54% per year (and price grows 1.542 = 2.37x per year - Metcalfe's Law), then in 8 years we'd have 32MB blocks, 100 txns/sec, 1 BTC = 1 million USD - 100% on-chain P2P cash, without SegWit/Lightning or Unlimited
/u/vampireban wants you to believe that "a lot of people voted" and "there is consensus" for Core's "roadmap". But he really means only 57 people voted. And most of them aren't devs and/or don't understand markets. Satoshi designed Bitcoin for *the economic majority* to vote - not just 57 people.
vampireban has been very busy lately on r\bitcoin and btc, trying to preach his depressing message of hopelessness and resignation to the masses:
segwit and lightning, not our solution but an ok solution and time to plan for success
Adam Back & Greg Maxwell are experts in mathematics and engineering, but not in markets and economics. They should not be in charge of "central planning" for things like "max blocksize". They're desperately attempting to prevent the market from deciding on this. But it will, despite their efforts.
"Core dev" maaku7 is on the front page today for saying he'd "quit" if users were the "boss" of Bitcoin. He was already being laughed at yesterday in another thread for saying he thought fiat was run by "majority-vote". Let him "quit". He never actually understood how Bitcoin works.
https://np.reddit.com/btc/comments/41j818/core_dev_umaaku7_is_on_the_front_page_today_fo So basically what vampireban is saying is: 57 people - many of who don't contribute code to Bitcoin, and/or don't understand economics - have "voted", and so we should all just accept that an move on. But that is not the system that Satoshi designed. Satoshi designed Bitcoin to allow the economic majority to vote using their CPU. He did not design a system where only 57 wannabe devs and economic noobs can vote using some web page linked to a bunch of mostly-empty Github repos. Satoshi also happened to disagree rather vehemently with Core's "roadmap". He preferred the simplest approach that would work - hard-fork the code, to support bigger blocks:
"The existing Visa credit card network processes about 15 million Internet purchases per day worldwide. Bitcoin can already scale much larger than that with existing hardware for a fraction of the cost. It never really hits a scale ceiling." - Satoshi Nakomoto
When all 21 million bitcoins are mined, there won't be a block reward to pay to miners. When a Bitcoin user sends a BTC transaction, a small fee is attached. These fees go to miners and this is what will be used to pay miners instead of the block reward. How Many Bitcoins Will Be Mined Before The Next Halving? There are BTC left to be mined until the next block reward halving. How Many Bitcoin ... Bitcoin is design to have only 21 million BTC ever created, thus making it a deflationary currency. Bitcoin uses the SHA-256 hashing algorithm with an average transaction confirmation time of 10 minutes. Miners today are mining Bitcoin using ASIC chip dedicated to only mining Bitcoin, and the hash rate has shot up to peta hashes. Coin.dance also shows that Bitcoin ABC has 744 nodes at the time of writing, there’s 693 Bitcoin Unlimited nodes, 20 BCHD nodes, a single XT node, and three unknown nodes online today. Bitcoin Wiki; Reddit; Live Chat; The Bitcoin Forum Index Other Beginners & Help; Bitcoin Wikipedia. 5 posts • Page 1 of 1. Cryptonetix Representative Nickel Bitcoiner Posts: 211 Joined: Thu Sep 21, 2017 8:50 pm. Bitcoin Wikipedia . Fri Mar 29, 2019 4:21 am . I believe there are MANY people who might feel or think that they know pretty all about the Crypto industry, but that’s so much away ... Bitcoin is a distributed, worldwide, decentralized digital money. Bitcoins are issued and managed without any central authority whatsoever: there is no government, company, or bank in charge of Bitcoin. You might be interested in Bitcoin if you like cryptography, distributed peer-to-peer systems, or economics. A large percentage of Bitcoin ...
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube. WOW!!! BITCOIN is EXPLODING RIGHT NOW!!! LET THE BITCOIN BULL RUN BEGIN!!! 🚀 🔶 Join ByBit Exchange 👉 http://bybit.kdub.co 📺 ByBit Tutorial: https://youtu ... We discuss the market conditions today and compare them to the last market cycle. We also take a look at the primary logarithmic regression band fit to non-b... Aug. 19 -- Bitcoin was built on the sort of open-source ethos that has driven generations of geeks. But the same principles it celebrates—a decentralized network of contributors, a transparent ... Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.