Bitcoin Forum
May 09, 2016, 01:26:47 AM *
News: New! Latest stable version of Bitcoin Core: 0.12.1 [Torrent]
 
  Home Help Search Donate Login Register  
  Show Posts
Pages: « 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 ... 362 »
21  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 31, 2016, 10:35:34 AM
The word "standardness" implies that someone is setting a standard that should be followed by all nodes; but it is known that different relay nodes are using different arbitrary criteria to censor transactions and blocks.
Again - a total misunderstanding of the terminology and how Bitcoin works.

If you are seriously at all interested in what Standard and Valid transactions are then you should read the code

I don't plan to read the code, and I should not have to. The payment system of the world cannot be defined by a (messy) program.   Bitcoin should be an implementation-independent protocol, like SMTP and HTML. Anyone with sufficient knowledge of algorithms and networking should be able to understand how it works without reading the code.

And there should not be "the" code, since the maintainers of that code would be a central authority.

Whatever "standard" means, you cannot assume that miners will not create non-standard blocks that are accepted as valid by other miners and clients.  You cannot assume that every miner will run unmodified Core software; and you cannot assume that non-mining relay nodes will do anything specific.

Indeed I have little love for the current Core devs, for a dozen separate reasons.  To stay on the technical ones, they include (1) claim that soft forks are safer than hard forks, (2) the "fee market" and its paraphernalia, (3) SegWit, (4) reliance and encouragement of non-mining relays, (5) modifying bitcoin as if the Lightning Network is a certain thing.  Not me, but some very competent people (who also have read the code) have objectively pointed out the faults in those items; but their criticisms have never been answered.
22  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 30, 2016, 02:16:46 PM
Thanks for the reply.  You write:

The "special validity rules" [ of relay nodes ] are not consensus rules unlike the validation rules which are consensus rules. Those rules are called standardness rules and both miners and full nodes have them. The standardness rules are local node policy so they tend to change more often than consensus rules because if something is non-standard it can still be valid.

The word "standardness" implies that someone is setting a standard that should be followed by all nodes; but it is known that different relay nodes are using different arbitrary criteria to censor transactions and blocks.

Quote
Full nodes are even more important nowadays due to the prevalence of SPV mining. Many miners now aren't running full nodes, meaning they are not fully validating every single block and transaction they receive. The only nodes that do should do this now are the full nodes and they are should be what are enforcing the consensus rules because most miners aren't doing it and SPV wallets cannot.

Fixed that for you.  They should validate the blocks that they receive, but (unlike the miners) they have no motivation to do so, and there is no way for a client to check that they are.

The miners have a strong incentive to use only valid blocks as parents; when they gamble, as in the (badly named) "SPV mining" of empty blocks, it is because they have high confidence that the parent block is valid.  In the case of classic "SPV mining", they steal the hash of the parent block from another pool via Stratum.  Therefore, if that block was invalid, that other pool would be screwing all its members and itself.  In other words, when miners do "SPV mining" they gamble that the same incentives that spur them to validate their non-mepty blocks will spur the miner who assembled the previous non-empty block to validate it too.

Non-mining relay nodes have no incentives to validate the blocks that they relay.  On the contrary, they have a significant incentive to skip validation altogether. 

Quote
These full nodes should protect against [ ... ] malicious miners.

How exactly are they going to do that?  A relay node can only withhold a mined block that it considers invalid.  But if the malicious miners have a minority of the hashpower, that block will not get many confirmation, and soon be orphaned and rejected even by SPV clients.  On the other hand, if it comes form a majority branch, then sooner or later the SPV clients will receive it and accept it as valid, rejecting the "good" minority block that some relays offered instead.  And, in that case, bitcoin is done for anyway: nothing will save it if malicious miners have a majority of the hashpower.

On the other hand, a relay can withhold blocks from the majority branch and serve instead blocks from a minority branch, created by old, buggy, or malicious miners.  If all the relay nodes that are contacted by an SPV client do that, the SPV client will be screwed.  Given the way that clients get the addresses of relay nodes, and that such malicious relays are very easy to set up (much easier than setting up an effective malicious miner), this risk is far form negligible.

Perhaps the faith that some people have on relay nodes comes from experience with SMTP, NNTP, bitTorrent and other decentralized p2p networks, where nodes can (must) be assumed to be well-intentioned by default? Bitcoin is quite unlike those networks...

Quote
These full nodes protect should protect against major mining screw ups like the July 4th fork

The blame for that incident should go to the Core devs, who choose to deploy BIP66 when 5% of the miners were still not ready, without a grace period and without alerts.  The miners should be blamed only for trusting that the devs knew what they were doing.

It seems that the miners did learn their lesson, because at the next soft fork (BIP65, IIRC) AntPool held back its vote until most of the tiny miners had upgraded, and prodded them to do so.  I wonder if the Core devs have learned theirs?
23  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: March 30, 2016, 10:38:24 AM
3. In terms of manipulation, owning Bitcoins is actually a hedge against the ongoing PM manipulation as the mechanisms existing in the gold manipulation 'industry' are not found in bitcoin.

Based on historical prices, I would guess that the floor price of gold (due to demand for jewelry, decoration, and industrial uses) is less than 400 USD/oz.  If that is correct, gold's current market price of ~1200 USD/oz is at least 3-4 times its floor price, due to demand for speculative trading (people buying it expecting to make money when its price rises) and for hedging or value storage (people buying it because they think that other investment options are more likely to lose their value).    

Demand for speculative trading and hedging is dependent on people's feelings and beliefs about the future of the economy, and therefore very fragile -- as shown by the crash of the gold price from the peak of ~1800 to ~1000 USD/oz in 2013--2015.  The overpricing is sustained by intensive marketing by the likes of Max Kaiser, Peter Schiff, ZeroHedge, etc.

Bitcoin's floor price would be due to demand for use as a currency.  The number unknown, but very low; most estimates put it below 10 USD/BTC, and there is no reason to expect it to grow very quickly. (Indeed, if the network's capacity is not lifted, it is unlikely to rise at all.)  So bitcoin is far more overpriced than gold.  As in the case of gold, the overpricing is due to demand for speculative trading and (to a much lesser extent) hedging and value storage; and is sustained by marketing by Antonopoulos, Ver, Andreessen, Silbert, etc..

Quote
4. Bitcoins are far more scarce than gold and silver. There are ~6 billion ounces of above ground gold and only 15.4 million bitcoins. That's one bitcoin for every 390 ounces. That's now. The future is actually in favor of bitcoin:gold ratio.

Scarcity by itself does not make an item valuable; for this one also needs demand that is large compared to the supply.  Tickets for last year's lottery, Soviet Trabant cars, and the hairs on my head are all very scarce, and have a hard cap on future supply; yet are not very valuable.

Moreover, an item is not effectively "scarce" if there is an abundance of adequate substitutes.  Gold has no adequate substitutes for jewelry, and its possible substitutes for certain industrial applications are even more scarce.  In contrast, one can create an infinite number of cryptocurrencies that are equivalent to bitcoin, or even better than it.  

The only advantage of bitcoin over litecoin and other altcoins is its popularity, its "brand recognition".  (It has more hashpower than the altcoins, but that is because it is more profitable to mine, which is because its coins sell for a higher price; which is again because of its popularity.)  Popularity that is not rooted in an fudamental quality is very fragile; it  could be quickly destroyed by bad news, bad management, or by good marketing of the alternatives.

Quote
6. Even if above ground gold doubles or triples in the mid-term future, it will still preserve its value due to fiat inflating at a much faster pace. However bitcoin will be inflating at a much lower pace than both, hence being an adequate store of value, which also has good upside potential (gold's marketcap can't go 10x to 70+ trillion range with ease, unlike bitcoin which can hit 4k usd and do a 10x).

Only fools and criminals will "invest" by hoarding a currency, whether it is dollars or bitcoins.  Thus, comparing gold to dollars as store of value is a red herring -- a misleading argument that sleazy gold peddlers use all he time.  Good investments are things that will have real value due to expected real demand, not conventional value or value inflated by speculative demand; and, even better, that create real wealth.  Stocks, real estate, tools, shops are examples of such wealth-creating things that are automatically protected against inflation.  In many countries there are also bonds, issued by banks or the government, that pay back a value adjusted for inflation plus a small interest.

The term "inflation" can mean two things.  Popularly, it is any drop in the purchasing value of a currency.  Technically, it is a drop that is caused by an increase in the amount of currency in circulation, following the printing of new cash or the creation of more virtual money through easing of bank credits etc..  Bitcoin has a controlled and ultimately finite amount of the latter, so technically its inflation will decrease and eventually end.  In the popular sense, however, bitcoin's inflation  neither bounded nor temporary. The drop from ~1200 USD/BTC on 2013-11-28 to ~220 in Jan/2015 (a loss of 80% of purchasing power) was not due to the issuance of new coins.

24  Bitcoin / Development & Technical Discussion / Re: Question about SegWit on: March 30, 2016, 08:52:06 AM
Miners will not include the signature record in the mined block, so the block can stay below 1Mb, this helps smaller miners who may not be able to compete with the high price installations of the large miners.

This is not correct, right?  Miners (and relay nodes running new software) will have to include the signatures in the extension part of the block and send the whole block out to other miners (and to relay nodes running new software).  The extension record can be omitted only when a miner or relay node sends a block to a simple client.  Right?

Quote
The biggest threat to Bitcoin is centralisation, and a 2MB blocksize may force out smaller miners, and leave the network vulnerable to fee exploitation by a small group of miners. imho.

Centralization has happened because of several factors that favor larger miners over smaller ones -- including economies of scale, access to locations with cheaper power and natural cooling, better prices for bulk purchases, in-house hardware and software development, and better support from local governments.  If it is true that larger blocks give an advantage to bigger miners, they could get those same advantages by artificially delaying the transmission of blocks to rivals.
25  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 27, 2016, 07:19:42 PM
They are actually NOPs. They mean "do nothing" not "terminate with success".

Thanks.  I don't know the script language, but can't you build a script with those opcodes that fails to validate if the opcode is interpreted as a NOP, but succeeds if it is redefined to something else?  I suppose that the only redefinitons that would allow a soft fork are of the kind "if (condition) then FAIL else NOP", correct?

Quote
Nope, not true. The original Bitcoin Client (v0.1.0) did not having mining enabled by default. When you downloaded 0.1.0 it defaulted to being a non-mining relay node with the option in the GUI to enabled mining if you so desired. In fact Satoshi even said so himself in the original 0.1.0 announcement email: http://www.metzdowd.com/pipermail/cryptography/2009-January/014994.html.

You can examine the source code of 0.1.5 (the earliest available on github) at https://github.com/bitcoin/bitcoin/tree/v0.1.5 and you can get the original 0.1.0 client with the source code from http://satoshi.nakamotoinstitute.org/code/.

OK, I see what you mean.

Back in 2009 there was only one kind of node, the miner-user-relayer.  Every player could mine; not just in theory, but in practice.  Satoshi apparently assumed that mining would be widespread,even if occasional and anonymous.  And he assumed that players would join primarily for the benefits of being users.

Later a second kind of node (already predicted in the whitepaper) was introduced, the simple client.  Still, the simple client was supposed to use the same rules as the miners, but only check a subset of them.  

Today there is a third kind, the dedicated "full but non-mining" relay, aka "node", which apparently has a very distinct role and is supposed to be an essential defense against misbehaving miners and other menaces.  And, TIL, needs special validity rules.  

The relaying function of miners in the original design was already a bit fuzzy, but since relaying was cheap, and all nodes were supposed to be also users and (potential) miners, they could be assumed to share the mining incentives and have the good intentions.  That does not carry over to the present-day nodes.  We have examples of relay nodes that filter transactions based on arbitrary ideological criteria, nodes that are committed to specific "parties" in the block size war...  Where is the analysis that they are helping rather than harming the security of the network?

PS. For general joy of mankind, I am traveling in a few hours and will be offline for 2 days.
26  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 27, 2016, 06:38:01 PM
I suppose that you will not tell me where in the original design the non-mining relays were introduced as guardians of the Sared Protocol.

The what?

"Sacred Protocol".  Sorry for the typo.

Quote
You have just made yourself look even stupider than I could have possibly made you out to be with that (enjoy being an old fool - and at least I have saved others from wasting their time with you which I had realised needed to be addressed some time before which is why I bothered to do this).
If you want to leave this forum with any respect left at all then you'd best not reply. Cheesy

Right when the tone of the responses makes me think that I am getting close to something?  Grin

By the way, you have not told me where I can find a description of the multiple rule sets for different players, nor where in the original design the non-mining relays were described and given their special function.

(Satoshi always used "node" to mean "miner", if that is what you were thinking.)
 
27  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 27, 2016, 06:07:46 PM
The non-mining relay nodes were added later, without any justification.  They break that security argument.

Rubbish.

I'm sorry but you have not tried to understand one thing but instead tried to just post rubbish again and again and again.

I suppose that you will not tell me where in the original design the non-mining relays were introduced as guardians of the Sared Protocol.
28  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 27, 2016, 05:46:27 PM
Would that software accept as parent a block mined by some other miner that contains them?

Yes it would as it assumes that whoever has mined them did know that they were valid.

That sounds bizarre if you say it that way: it would mean that a miner *cannot* verify the validity of the parent block, and has to trust the previous miner.

But perhaps what you should have said is: "Yes, it would validate that block fully -- with his (old) validity rules, in which those opcodes are NOPs, hence it would accept the block as valid."  Is that so?  

That is what I have always understood...

Quote
Does the current version of the Core mining software accept transactions with those NOPs, for inclusion into the candidate block?  

No - it would not (as it could not know whether or not they are valid).

This is not wrong, since a miner can exclude any transactions, by any criterion.  However, given that old miners will accept blocks with those opcodes as valid, its seems rather pointless.  There is no way to ensure that all (or any) miners will abide by this rule.  Any miner could create and mine blocks that use those opcodes; and other old miners would accept those blocks;  Correct?

By the way, are those NOPs really NOPs, or do they mean "terminate the verification with success"?  

Quote
Also without relaying you actually wouldn't have a P2P network at all (so it is an essential part of the system not some optional thing)

In the original design, the propagation was supposed to occur among the miners, who have incentives to keep the network running and to keep clients happy.  The original design depended on those incentives to argue that even simple clients would have adequate security.

The non-mining relay nodes were added later, without any justification.  They break that security argument.

A miner may be offering his services for two possible reasons: 1. to get the reward and fees, or 2. some other motive.  Bitcoin is based on the assumption that motive 1 is fairly likely, so if you contact N random miners it is quite likely that you will get at least one such "selfish greeedy" guy.  

A non-mining relay node cannot have motivation 1, so his motivation can be only 2, "some other motive".  What security can you derive from that?

Quote
and there are expectations that a node will not relay invalid txs or blocks (and any node that does will be banned by your client).

If the party that receives a tx or block checks some rule, then nothing is gained by having the relay to check that rule too.  If the receiver does not check some rule, then he will not notice when the relay sends data that does not satisfy it; and will not ban the relay.
29  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: March 27, 2016, 03:11:08 PM
Gentleman, start your engines. It's time to go up into the clouds and beyond.

http://i67.tinypic.com/2aeyxeb.jpg

Lift off is coming this week, short or long it. could be an epic cry week if you choose wrong.

Three days to the resolution of this dramatic competition.  

(Last year's contest was won by @fonzie.)
30  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 27, 2016, 05:35:05 AM
As stated (on three separate posts already) validation isn't just a simple and single concept.
There are different validation rules depending upon whether you are mining, relaying or verifying a block (i.e. context).
So the rule about a NOP is not the same rule in all three situations (something that you just don't seem to be able to grok).

Thanks. Well, indeed, the fact that the validity rules are different for different players is new for me.  Is it explained in some place that I should have read?  (The descriptions of soft/hard fork that I have read, for example, always say "the rules", "the old rules", "the new rules" -- never "the miner rules" or "the client rules", etc.

So, does the current version of the Core mining software accept transactions with those NOPs, for inclusion into the candidate block? 

Would that software accept as parent a block mined by some other miner that contains them?

Quote
(also - I am assuming that you know that [ ... ] the rules [ for relay nodes ] are also dependent upon whether you are relaying a tx or a block)

No, I did not know that either.  But, again, one cannot assume anything about the behavior of non-mining relay nodes, so it seems pointless to worry about that.
31  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 27, 2016, 05:00:16 AM
We have tried again and again to explain but you simply refuse to even read what we post (and just keep on quoting one or another thing to keep on repeating your non-point) - so I'm done with trying to explain things to you (this is also off-topic anyway).

It would have been enough to say "your previous understanding was correct, the current mining software will accept and mine transactions containing those NOPs, and that sentence by Greg meant something else"  or "your previous understanding was wrong, the current mining software will not accept or mine transactions containing those NOPs". 

Quote
(I have read the code and have been a software engineer since the 1980's)

I have been programming continuously since 1969, and worked for a few years at software research labs in the US...
32  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 27, 2016, 04:42:31 AM
It was explained to you that the op code is *valid* in the context of validating a block (so of course the block would not be rejected by older software). Why do you think it is called a NOP?

Sigh.  That is what I always understood.  But then:

The primary established mechanism for safe softforks is the reserved script NOPs (which will not be relayed or mined by unmodified software today)

What does this mean?  That the current version of the mining software will reject transactions that have those NOPs?

Quote
much of software deals with many practical things such as byte size limits that don't apply to math in general so you're not really making any sense with that statement either - if we were talking about pure maths then the block reward would never end for a start

I haven't looked at the code itself, but I do understand a few things about programming.  For example, a few months ago I found a rounding error in the table of block rewards on the bitcoin wiki.  (And integers are math too, you know.)

On the other hand, I wonder if you really understand how the protocol is supposed to work.  Can you see why the original design did not have non-mining relay nodes?
33  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: March 27, 2016, 12:02:31 AM
Now that Adam is back, it would be nice to have all the classics again (thinking in Tera and Windj) even if only for a week... before the tsunami of cryptos entering the hyperspace

Me too?
34  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 26, 2016, 06:34:20 PM
Quote
At this point a script that uses this previous NOP code now enforces a rule check to make sure that the nLocktime is greater than or equal to the value on the stack (if not then the result is zero).

This is a restriction not a relaxation (as it can now fail this test) - when any node that hasn't upgraded sees this in a block that has been mined then it will also accept the script as valid even though it didn't do the check and this prevents a fork (as it is indeed being treated as a NOP for such nodes and the value that was pushed onto the stack is the result which is non-zero).

I understand that perfectly, thank you.  But, IIUC, Greg just claimed that, in fact, the miners running the current version of the software reject any transactions and blocks with such NOPs.  Whereas the miners running the new version will accept them, if the new semantics given to them is satisfied.

If that is true, then old miners, even if they are a minority, should reject the blocks created by the new miners, as soon as they start including the redefined opcode.  Isn't that correct?

Quote
and again you need to understand the difference between relaying, mining and validating

The policies of independent non-mining relay nodes are irrelevant, since they can reject transactions by any criteria they like, and have no incentives to behave in any particular way; and also because clients can (should) always bypass them and talk to miners directly (or to relays run by miners).  The functioning of the network cannot depend on them.

The policies that matter are those of the miners.  It does not make any difference for the network where in the mining software a certain rule is enforced:  if the miners reject transactions that have some property, then that property is effectively part of their validity rules.

If you want to keep on arguing about definitions without actually bothering to understand how the system works then I don't think that anyone here is going to keep on wasting their time trying to explain it to you.

Bitcoin isn't some sort of theoretical model but instead is a practical piece of software (so it doesn't actually care about what you think the behaviour of things should be according to what you think the terms should refer to).

Wait, you are telling me that bitcoin is not "guaranteed by math"?  Grin


Edit: created by the miners --> created by the new miners
35  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 26, 2016, 11:47:09 AM
As for the non-mining relay nodes, they are aberrations that have no place in the protocol and break all its (already weak) security guarantees.   They should not exist, and clients shoud not use them.
Non-mining relay nodes have several useful purposes: probably the most important one is as a first line of defense against denial of service attacks. Especially if such nodes are run in the cloud service provider who charges $0/GB for incoming traffic (like Amazon EC2): it nearly completely defangs the most common DDoS via UDP flood.

Why should those non-mining relays (NMRs) be assumed to be "good guys"?

The original bitcoin protocol (without NMRs) provided some guarantee for simple clients, under the hypothesis that there was a majority of selfish greedy miners, and that the miners contacted by a client included at least one selfish greedy one. With NMRs, in order to give the same guarantee one must also assume that there is at least one path of honest NMRs between the client an such miner.  The basic premise of bitcoin is that selfish greed is prevalent, but honesty cannot be assumed.

 
36  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 25, 2016, 07:16:48 PM
Because the unmodified software doesn't know what the NOP is intended to do, however, it won't relay such a script (nor would an unmodified miner mine it). This is because the unmodified software knows enough to know it can't be sure if the script is valid or not.

If no miner will mine a transaction that has a NOP code, then the NOP is effectively illegal.  I.e., those lines in the miner's software that say to reject such transactions are effectively part of the validity rules.  

Which means that making those opcodes legal is a relaxation of the existing rules, and therefore not a soft-fork type of change.

Quote
(there is a clear difference between relaying, mining and validating)

Each player can validate as much as he wants, by any rules that he wants.  However, if he wants to use "the" bitcoin that "everybody" uses, he had better use rules that are compatible with them, in the sense that he must trust the same blockchain that they trust.  As long as "everybody" prefers to trust the chain with the 1500 PH/s, "everybody" had better accept as valid whatever chain is created by the miners with the majority of that hashpower.

Likewise, each miner in theory can adopt any validity criteria that he likes.  He can change them at any time, apply them if and when he wants, and build his blocks any way he wants.  But, as long as he wants to earn bitcoins that he can sell, he must make blocks that end up included in some blockchain that enough potential buyers will trust.  There is no algorithm for that: he must watch the "market" and try to guess how the humans will behave.  

My point is that external observers cannot tell which validity rules a miner is using, nor when or whether he applies them.  All they can see are the blocks that he broadcasts.  In particular, there is no way to tell whether a miner is not accepting transactions with NOPs because NOPs are invalid in his version of the validiy rules, or because he is afraid that someone else may consider them invalid, or because he thinks that they bring bad luck.

As for the non-mining relay nodes, they are aberrations that have no place in the protocol and break all its (already weak) security guarantees.   Thhey should not exist, and clients shoud not use them.
37  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 25, 2016, 06:29:30 AM
The primary established mechanism for safe softforks is the reserved script NOPs (which will not be relayed or mined by unmodified software today)

If a fork makes a previously illegal opcode legal, how can it be a soft fork?
38  Bitcoin / Development & Technical Discussion / Re: Question about SegWit on: March 24, 2016, 08:43:50 PM
But, how Alice's wallet would know whether Bob's wallet is SegWit compatible or not. Because, as I understand, depending on this Alice's wallet should create P2WPKH output or P2PKH output respectively.
Well if Alice somehow had a direct connection to Bob's wallet, her wallet would know because of the service bit indicating segwit. Otherwise, she would only know if Bob told her. However, the reference implementation creates by default a P2PKH output when an address is entered. This is to keep the backwards compatibility. I am assuming that there will be checkbox to allow the user to indicate if he wants to send it as a segwit output but that is not the current default.

OK, so now consider the reverse situation: Bob is running a new client, and Alice is running an old one.  If Bob wants Alice to send him coins, what should he tell her: "pay to this address" or "pay to this segwit script", or "pay to either"?

Or: suppose Alice wants to make a payment that can be collected by either Bob or Carol.  Bob is running an old client, and Carol a new one.  Bob tells Alice "pay me to this address",  Carol says "pay me to this segwit script".  What should Alice do?
39  Bitcoin / Development & Technical Discussion / Question about SegWit on: March 24, 2016, 02:19:45 PM
Suppose Alice is running "new" (SegWit-capable) client software, and sends some bitcoin to Bob, who is running an "old" (SegWit-oblivious) client, with a SegWIt transaction T1.

I understand that Bob would still be able to spend that bitcoin with a non-SegWit transaction T2, by providing the proper signature; is that correct?

But would Bob know what signature he must provide, without Alice telling him?  Or will Bob's client believe that the output of T1 is "anyone can spend", and assume that T2 does not require a signature?
40  Bitcoin / Development & Technical Discussion / Re: Segwit details? N + 2*numtxids + numvins > N, segwit uses more space than 2MB HF on: March 22, 2016, 03:24:55 AM
Any soft fork should be backwards compatible, unless there is a good reason not to.  ... Even for security and bug fixes, the objective should be to not make any transactions invalid.

That is mathematically impossible.  A soft fork, by definition, is a change that only makes the rules more restrictive: that is, some transactions that were valid by the old rules are invalid by the new ones, whereas all transactions that are valid by the new rules are also valid by the old ones.  

Quote
Barring emergency fixes, you can make it so that the change depends on the transaction version number.

As I explained already, that is often not an option.  Soft forks are often issued precisely because it is necessary or desirable to outlaw certain types of transactions.  Note that miners cannot distinguish a genuine mothballed transaction from a new transaction that is using the old version number just to frustrate the fork.
Pages: « 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 ... 362 »
Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!