Why would I send you coins to anything other than the address you provided to me? If you send me a bech32 address I use the native segwit scripts. If you send me an old address, I do what it specifies instead. The recipient has control over what type of script the payment is sent to, without any ambiguity.
> On Dec 18, 2017, at 1:41 PM, m...@albertodeluigi.com wrote: > > Hi Mark, > thank you. I understand your point, but despite what we define as a fork, > when a software uses a particular address, it becomes part of the rules of > that software. If another software doesn't recognize that address as a > bitcoin address, then the rules it enforces aren't compatible with the > behaviour of the first software. If you send me your bitcoins, I can't > receive it, exactly like if it was in another chain. This happens even if > there isn't such a situation where miners verify that transaction on a chain, > while other miners reject it. > > If we want to change the addresses, we need consensus and the coordinate > upgrade of the entire network. In case we haven't consensus, most of the > clients cannot send and receive bitcoins, which is a huge problem. > For this reason I think it is something we should discuss in order to make a > coordinated upgrade, exactly like what we do when we propose a fork. And it > would be better to do it precisely as a part of a fork, like a 2x (or > whatever other upgrade gaining enough consensus) > > Apart from the proposal of an upgrade to bench32, do you agree with the rest > of my points? I know segwit is valuable because it fixes tx malleability and > so on... thank you for your link, but that wasn't the point I wanted to > highlight! > > Thank you, > Alberto > > > > > Il 2017-12-18 18:38 Mark Friedenbach ha scritto: >> Addresses are entirely a user-interface issue. They don’t factor >> into the bitcoin protocol at all. >> The bitcoin protocol doesn’t have addresses. It has a generic >> programmable signature framework called script. Addresses are merely a >> UI convention for representing common script templates. 1.. addresses >> and 3… addresses have script templates that are not as optimal as >> could be constructed with post-segwit assumptions. The newer bech32 >> address just uses a different underlying template that achieves better >> security guarantees (for pay-to-script) or lower fees (for >> pay-to-pubkey-hash). But this is really a UI/UX issue. >> A “fork” in bitcoin-like consensus systems has a very specific >> meaning. Changing address formats is not a fork, soft or hard. >> There are many benefits to segregated witness. You may find this page >> helpful: >> https://bitcoincore.org/en/2016/01/26/segwit-benefits/ [4] >>> On Dec 18, 2017, at 8:40 AM, Alberto De Luigi via bitcoin-dev >>> <bitcoin-dev@lists.linuxfoundation.org> wrote: >>> Hello guys, >>> I have a few questions about the SegWit tx size, I'd like to have >>> confirmation about the following statements. Can you correct >>> mistakes or inaccuracies? Thank you in advance. >>> In general, SegWit tx costs more than legacy tx (source >>> https://bitcoincore.org/en/2016/10/28/segwit-costs/ [1]): >>> * Compared to P2PKH, P2WPKH uses 3 fewer bytes (-1%) in the >>> scriptPubKey, and the same number of witness bytes as P2PKH >>> scriptSig. >>> * Compared to P2SH, P2WSH uses 11 additional bytes (6%) in the >>> scriptPubKey, and the same number of witness bytes as P2SH >>> scriptSig. >>> * Compared to P2PKH, P2WPKH/P2SH uses 21 additional bytes (11%), >>> due to using 24 bytes in scriptPubKey, 3 fewer bytes in scriptSig >>> than in P2PKH scriptPubKey, and the same number of witness bytes as >>> P2PKH scriptSig. >>> * Compared to P2SH, P2WSH/P2SH uses 35 additional bytes (19%), due >>> to using 24 bytes in scriptPubKey, 11 additional bytes in scriptSig >>> compared to P2SH scriptPubKey, and the same number of witness bytes >>> as P2SH scriptSig. >>> But still it is convenient to adopt segwit because you move the >>> bytes to the blockweight part, paying smaller fee. In general, a tx >>> with 1 input and 1 output is about 190kb. If it's a Segwit tx, 82kb >>> in the non-witness part (blocksize), 108 in the witness part >>> (blockweight). >>> See source: >>> 4 bytes version >>> 1 byte input count >>> Input >>> 36 bytes outpoint >>> 1 byte scriptSigLen (0x00) >>> 0 bytes scriptSig >>> 4 bytes sequence >>> 1 byte output count >>> 8 bytes value >>> 1 byte scriptPubKeyLen >>> 22 bytes scriptPubKey (0x0014{20-byte keyhash}) >>> 4 bytes locktime >> https://bitcoin.stackexchange.com/questions/59408/with-100-segwit-transactions-what-would-be-the-max-number-of-transaction-confi >>> [2] >>> Which means, if you fill a block entirely with this kind of tx, you >>> can approximately double the capacity of the blockchain (blocksize >>> capped to 1mb, blockweight a little bit more than 2mb) >>> My concern is about segwit adoption by the exchanges. >>> SegWit transactions cost 10bytes more than legacy transactions for >>> each output (vout is 256 bits instead of 160). Exchanges aggregate >>> tx adding many outputs, which is of course something good for >>> bitcoin scalability, since this way we save space and pay less fees. >>> But when a tx has at least 10 outputs, using segwit you don't save >>> space, instead: >>> - the total blockweight is at least 100bytes higher (10bytes x 10 >>> outputs), so the blockchain is heavier >>> - you don't save space inside the blocksize, so you cannot validate >>> more transactions of this kind (with many outputs), nor get cheaper >>> fee >>> - without cheaper fees exchanges have no incentives for segwit >>> adoption before they decide to adopt LN >>> In general we can say that using SegWit: >>> - you decrease the fee only for some specific kind of transactions, >>> and just because you move some bytes to the blockweight >>> - you don’t save space in the blockchain, on the contrary the >>> total weight of the blockchain increases (so it's clear to me why >>> some time ago Luke tweeted to not use SegWit unless really >>> necessary... but then it's not clear why so much haste in promoting >>> BIP148 the 1st august risking a split) >>> If it's all correct, does something change with bech32? I'm reading >>> bech32 allows to save about 22% of the space. Is this true for >>> whatever kind of tx? Immediate benefits of segwit for scalability >>> are only with bech32? >>> Bech32 is non-compatible with the entire ecosystem (you cannot >>> receive coins from the quasi-totality of wallets in circulation), I >>> would say it is a hard fork. But the bare segwit is really so >>> different? the soft fork is "soft" for the reference client Bitcoin >>> Core, but outside you cannot know what happens, there are plenty of >>> implementations (especially frontend customization) which don’t >>> work with segwit and need to upgrade. To upgrade takes a lot of >>> time, especially when services are so crowded and so many new people >>> want to step in. At this point, if bech32 brings only efficiency >>> (but correct me if it’s not so) and it is well planned, it could >>> be a consensual upgrade, maybe together with a 2x blocksize? Is >>> there a specific plan for some upgrade in 2018? I personally think >>> it is far easier to reach consensus on a blocksize increase una >>> tantum rather than a dynamic increase. You cannot predict the >>> technology growth: will it be linear, exponential, or suddenly stop >>> for a while, maybe right before a huge innovation? I think a hard >>> fork bech32 upgrade + 2x could help a lot in scalability while we >>> test LN, and it might be the only way to effectively promote (or >>> should I say enforce?) SegWit adoption. >>> thank you, >>> Alberto De Luigi >>> (.com)_______________________________________________ >>> bitcoin-dev mailing list >>> bitcoin-dev@lists.linuxfoundation.org >>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev [3] >> Links: >> ------ >> [1] https://bitcoincore.org/en/2016/10/28/segwit-costs/ >> [2] >> https://bitcoin.stackexchange.com/questions/59408/with-100-segwit-transactions-what-would-be-the-max-number-of-transaction-confi >> [3] https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev >> [4] https://bitcoincore.org/en/2016/01/26/segwit-benefits/ > > _______________________________________________ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev