<oembed><type>rich</type><version>1.0</version><author_name>npub1ac86vemj7ce5z8jyxt39rna3tvwql6xd30ha3vxcd6esysp23d9qrlswfj</author_name><author_url>https://nostr.ae/npub1ac86vemj7ce5z8jyxt39rna3tvwql6xd30ha3vxcd6esysp23d9qrlswfj</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2017-07-11&#xA;📝 Original message:Separate from scale, there is utility to a hard-fork to fix wish-list&#xA;bugs that cant be reasonably fixed via soft-fork.  The spoonnet&#xA;proposal fixes a good number of interesting bugs.  Spoonnet and&#xA;several other HF research proposals can be found here&#xA;https://bitcoinhardforkresearch.github.io/  Part of the research on HF&#xA;is about safe deployment methods which is obviously the other main&#xA;consideration.  It seems to me likely that if the HF were to focus on&#xA;bug fixes, and not mix in new tradeoffs of security vs scale, it would&#xA;more easily reach consensus.&#xA;&#xA;Adam&#xA;&#xA;On 11 July 2017 at 17:03, Chris Stewart via bitcoin-dev&#xA;&lt;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt; Concept ACK.&#xA;&gt;&#xA;&gt; I think you are overstating the readiness of drivechains though. I think the&#xA;&gt; optimistic estimate for drivechains to be ready for bitcoin core is a year&#xA;&gt; out from today. More likely the date should be early 2018. Still a lot of&#xA;&gt; work to be done! :-)&#xA;&gt;&#xA;&gt; Also I don&#39;t know if I would put a hard fork suggestion in the scaling map.&#xA;&gt; If drivechains are successful they should be viewed as the way we scale --&#xA;&gt; not hard forking the protocol. Do you still have capacity concerns if&#xA;&gt; drivechains are successful?&#xA;&gt;&#xA;&gt; -Chris&#xA;&gt;&#xA;&gt; On Mon, Jul 10, 2017 at 11:50 AM, Paul Sztorc via bitcoin-dev&#xA;&gt; &lt;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; Summary&#xA;&gt;&gt; =========&#xA;&gt;&gt;&#xA;&gt;&gt; In my opinion, Greg Maxwell&#39;s scaling roadmap [1] succeeded in a few&#xA;&gt;&gt; crucial ways. One success was that it synchronized the entire Bitcoin&#xA;&gt;&gt; community, helping to bring finality to the (endless) conversations of&#xA;&gt;&gt; that time, and get everyone back to work. However, I feel that the Dec&#xA;&gt;&gt; 7, 2015 roadmap is simply too old to serve this function any longer. We&#xA;&gt;&gt; should revise it: remove what has been accomplished, introduce new&#xA;&gt;&gt; innovations and approaches, and update deadlines and projections.&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; Why We Should Update the Roadmap&#xA;&gt;&gt; =================================&#xA;&gt;&gt;&#xA;&gt;&gt; In a P2P system like Bitcoin, we lack authoritative info-sources (for&#xA;&gt;&gt; example, a &#34;textbook&#34; or academic journal), and as a result&#xA;&gt;&gt; conversations tend to have a problematic lack of progress. They do not&#xA;&gt;&gt; &#34;accumulate&#34;, as everyone must start over. Ironically, the scaling&#xA;&gt;&gt; conversation _itself_ has a fatal O(n^2) scaling problem.&#xA;&gt;&gt;&#xA;&gt;&gt; The roadmap helped solve these problems by being constant in size, and&#xA;&gt;&gt; subjecting itself to publication, endorsement, criticism, and so forth.&#xA;&gt;&gt; Despite the (unavoidable) nuance and complexity of each individual&#xA;&gt;&gt; opinion, it was at least globally known that X participants endorsed Y&#xA;&gt;&gt; set of claims.&#xA;&gt;&gt;&#xA;&gt;&gt; Unfortunately, the Dec 2015 roadmap is now 19 months old -- it is quite&#xA;&gt;&gt; obsolete and replacing it is long overdue. For example, it highlights&#xA;&gt;&gt; older items (CSV, compact blocks, versionbits) as being _future_&#xA;&gt;&gt; improvements, and makes no mention of new high-likelihood improvements&#xA;&gt;&gt; (Schnorr) or mis-emphasizes them (LN). It even contains mistakes (SegWit&#xA;&gt;&gt; fraud proofs). To read the old roadmap properly, one must already be a&#xA;&gt;&gt; technical expert. For me, this defeats the entire point of having one in&#xA;&gt;&gt; the first place.&#xA;&gt;&gt;&#xA;&gt;&gt; A new roadmap would be worth your attention, even if you didn&#39;t sign it,&#xA;&gt;&gt; because a refusal to sign would still be informative (and, therefore,&#xA;&gt;&gt; helpful)!&#xA;&gt;&gt;&#xA;&gt;&gt; So, with that in mind, let me present a first draft. Obviously, I am&#xA;&gt;&gt; strongly open to edits and feedback, because I have no way of knowing&#xA;&gt;&gt; everyone&#39;s opinions. I admit that I am partially campaigning for my&#xA;&gt;&gt; Drivechain project, and also for this &#34;scalability&#34;/&#34;capacity&#34;&#xA;&gt;&gt; distinction...that&#39;s because I believe in both and think they are&#xA;&gt;&gt; helpful. But please feel free to suggest edits.&#xA;&gt;&gt;&#xA;&gt;&gt; I emphasized concrete numbers, and concrete dates.&#xA;&gt;&gt;&#xA;&gt;&gt; And I did NOT necessarily write it from my own point of view, I tried&#xA;&gt;&gt; earnestly to capture a (useful) community view. So, let me know how I did.&#xA;&gt;&gt;&#xA;&gt;&gt;  ==== Beginning of New (&#34;July 2017&#34;) Roadmap Draft ====&#xA;&gt;&gt;&#xA;&gt;&gt; This document updates the previous roadmap [1] of Dec 2015. The older&#xA;&gt;&gt; statement endorsed a belief that &#34;the community is ready to deliver on&#xA;&gt;&gt; its shared vision that addresses the needs of the system while upholding&#xA;&gt;&gt; its values&#34;.&#xA;&gt;&gt;&#xA;&gt;&gt; That belief has not changed, but the shared vision has certainly grown&#xA;&gt;&gt; sharper over the last 18 months. Below is a list of technologies which&#xA;&gt;&gt; either increase Bitcoin&#39;s maximum tps rate (&#34;capacity&#34;), or which make&#xA;&gt;&gt; it easier to process a higher volume of transactions (&#34;scalability&#34;).&#xA;&gt;&gt;&#xA;&gt;&gt; First, over the past 18 months, the technical community has completed a&#xA;&gt;&gt; number of items [2] on the Dec 2015 roadmap. VersonBits (BIP 9) enables&#xA;&gt;&gt; Bitcoin to handle multiple soft fork upgrades at once. Compact Blocks&#xA;&gt;&gt; (BIP 152) allows for much faster block propagation, as does the FIBRE&#xA;&gt;&gt; Network [3]. Check Sequence Verify (BIP 112) allows trading partners to&#xA;&gt;&gt; mutually update an active transaction without writing it to the&#xA;&gt;&gt; blockchain (this helps to enable the Lightning Network).&#xA;&gt;&gt;&#xA;&gt;&gt; Second, Segregated Witness (BIP 141), which reorganizes data in blocks&#xA;&gt;&gt; to handle signatures separately, has been completed and awaits&#xA;&gt;&gt; activation (multiple BIPS). It is estimated to increase capacity by a&#xA;&gt;&gt; factor of 2.2. It also improves scalability in many ways. First, SW&#xA;&gt;&gt; includes a fee-policy which encourages users to minimize their impact on&#xA;&gt;&gt; the UTXO set. Second, SW achieves linear scaling of sighash operations,&#xA;&gt;&gt; which prevents the network from crashing when large transactions are&#xA;&gt;&gt; broadcast. Third, SW provides an efficiency gain for everyone who is not&#xA;&gt;&gt; verifying signatures, as these no longer need to be downloaded or&#xA;&gt;&gt; stored. SegWit is an enabling technology for the Lightning Network,&#xA;&gt;&gt; script versioning (specifically Schnorr signatures), and has a number of&#xA;&gt;&gt; benefits which&#xA;&gt;&gt; are unrelated to capacity [4].&#xA;&gt;&gt;&#xA;&gt;&gt; Third, the Lightning Network, which allows users to transact without&#xA;&gt;&gt; broadcasting to the network, is complete [5, 6] and awaits the&#xA;&gt;&gt; activation of SegWit. For those users who are able to make a single&#xA;&gt;&gt; on-chain transaction, it is estimated to increase both capacity and&#xA;&gt;&gt; scalability by a factor of ~1000 (although these capacity increases will&#xA;&gt;&gt; vary with usage patterns). LN also greatly improves transaction speed&#xA;&gt;&gt; and transaction privacy.&#xA;&gt;&gt;&#xA;&gt;&gt; Fourth, Transaction Compression [7], observes that Bitcoin transaction&#xA;&gt;&gt; serialization is not optimized for storage or network communication. If&#xA;&gt;&gt; transactions were optimally compressed (as is possible today), this&#xA;&gt;&gt; would improve scalability, but not capacity, by roughly 20%, and in some&#xA;&gt;&gt; cases over 30%.&#xA;&gt;&gt;&#xA;&gt;&gt; Fifth, Schnorr Signature Aggregation, which shrinks transactions by&#xA;&gt;&gt; allowing many transactions to have a single shared signature, has been&#xA;&gt;&gt; implemented [8] in draft form in libsecp256k1, and will likely be ready&#xA;&gt;&gt; by Q4 of 2016. One analysis [9] suggests that signature aggregation&#xA;&gt;&gt; would result in storage and bandwidth savings of at least 25%, which&#xA;&gt;&gt; would therefore increase scalability and capacity by a factor of 1.33.&#xA;&gt;&gt; The relative savings are even greater for multisignature transactions.&#xA;&gt;&gt;&#xA;&gt;&gt; Sixth, drivechain [10], which allows bitcoins to be temporarily&#xA;&gt;&gt; offloaded to &#39;alternative&#39; blockchain networks (&#34;sidechains&#34;), is&#xA;&gt;&gt; currently under peer review and may be usable by end of 2017. Although&#xA;&gt;&gt; it has no impact on scalability, it does allow users to opt-in to&#xA;&gt;&gt; greater capacity, by moving their BTC to a new network (although, they&#xA;&gt;&gt; will achieve less decentralization as a result). Individual drivechains&#xA;&gt;&gt; may have different security tradeoffs (for example, a greater reliance&#xA;&gt;&gt; on UTXO commitments, or MimbleWimble&#39;s shrinking block history) which&#xA;&gt;&gt; may give them individually greater scalability than mainchain Bitcoin.&#xA;&gt;&gt;&#xA;&gt;&gt; Finally, the capacity improvements outlined above may not be sufficient.&#xA;&gt;&gt; If so, it may be necessary to use a hard fork to increase the blocksize&#xA;&gt;&gt; (and blockweight, sigops, etc) by a moderate amount. Such an increase&#xA;&gt;&gt; should take advantage of the existing research on hard forks, which is&#xA;&gt;&gt; substantial [11]. Specifically, there is some consensus that Spoonnet&#xA;&gt;&gt; [12] is the most attractive option for such a hardfork. There is&#xA;&gt;&gt; currently no consensus on a hard fork date, but there is a rough&#xA;&gt;&gt; consensus that one would require at least 6 months to coordinate&#xA;&gt;&gt; effectively, which would place it in the year 2018 at earliest.&#xA;&gt;&gt;&#xA;&gt;&gt; The above are only a small sample of current scaling technologies. And&#xA;&gt;&gt; even an exhaustive list of scaling technologies, would itself only be a&#xA;&gt;&gt; small sample of total Bitcoin innovation (which is proceeding at&#xA;&gt;&gt; breakneck speed).&#xA;&gt;&gt;&#xA;&gt;&gt; Signed,&#xA;&gt;&gt; &lt;Names Here&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; [1]&#xA;&gt;&gt;&#xA;&gt;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-December/011865.html&#xA;&gt;&gt; [2] https://bitcoincore.org/en/2017/03/13/performance-optimizations-1/&#xA;&gt;&gt; [3] http://bluematt.bitcoin.ninja/2016/07/07/relay-networks/&#xA;&gt;&gt; [4] https://bitcoincore.org/en/2016/01/26/segwit-benefits/&#xA;&gt;&gt; [5]&#xA;&gt;&gt;&#xA;&gt;&gt; http://lightning.community/release/software/lnd/lightning/2017/05/03/litening/&#xA;&gt;&gt; [6] https://github.com/ACINQ/eclair&#xA;&gt;&gt; [7] https://people.xiph.org/~greg/compacted_txn.txt&#xA;&gt;&gt; [8]&#xA;&gt;&gt;&#xA;&gt;&gt; https://github.com/ElementsProject/secp256k1-zkp/blob/d78f12b04ec3d9f5744cd4c51f20951106b9c41a/src/secp256k1.c#L592-L594&#xA;&gt;&gt; [9] https://bitcoincore.org/en/2017/03/23/schnorr-signature-aggregation/&#xA;&gt;&gt; [10] http://www.drivechain.info/&#xA;&gt;&gt; [11] https://bitcoinhardforkresearch.github.io/&#xA;&gt;&gt; [12]&#xA;&gt;&gt;&#xA;&gt;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-February/013542.html&#xA;&gt;&gt;&#xA;&gt;&gt;  ==== End of Roadmap Draft ====&#xA;&gt;&gt;&#xA;&gt;&gt; In short, please let me know:&#xA;&gt;&gt;&#xA;&gt;&gt; 1. If you agree that it would be helpful if the roadmap were updated.&#xA;&gt;&gt; 2. To what extent, if any, you like this draft.&#xA;&gt;&gt; 3. Edits you would make (specifically, I wonder about Drivechain&#xA;&gt;&gt; thoughts and Hard Fork thoughts, particularly how to phrase the Hard&#xA;&gt;&gt; Fork date).&#xA;&gt;&gt;&#xA;&gt;&gt; Google Doc (if you&#39;re into that kind of thing):&#xA;&gt;&gt;&#xA;&gt;&gt; https://docs.google.com/document/d/1gxcUnmYl7yM0oKR9NY9zCPbBbPNocmCq-jjBOQSVH-A/edit?usp=sharing&#xA;&gt;&gt;&#xA;&gt;&gt; Cheers,&#xA;&gt;&gt; Paul&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; _______________________________________________&#xA;&gt;&gt; bitcoin-dev mailing list&#xA;&gt;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;&gt;&#xA;&gt;&#xA;&gt;&#xA;&gt; _______________________________________________&#xA;&gt; bitcoin-dev mailing list&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;</html></oembed>