I totally agree that wallets should warn their users. On Friday, March 24, 2017 at 4:50:35 PM UTC+1, Matt Corallo wrote: > > I'm not claiming it's an attack or not. Simply, technically, the blocks > generated are invalid according to the consensus rules enforced by the vast > majority of those accepting Bitcoin for goods and fiat. Bitcoin was > designed to ignore any changes to consensus rules unless everyone goes > along with them. Because of the reduced-SPV model that some clients > (especially those built on bitcoinj) use, this kind of change has massive > ability to negatively impact users. Whether you agree with Bitcoin > Unlimited and plan to switch to it or not, you cannot deny that wallets > which do not at least warn their users, notifying them of which coin they > will be using, are putting their users at significant risk. > > On March 24, 2017 8:38:12 AM PDT, "Tobias B." <brand...@gmail.com > <javascript:>> wrote: >> >> I guess when you interpret a majority of miners running BU as an attack >> on the network then you can read that from the paper. I'd define an attack >> as someone spending money on mining to steal funds, double spend or harm >> the bitcoin network on purpose. I think here miners just disagree with >> Bitcoin Core on how to grow the bitcoin ecosystem. >> >> On Friday, March 24, 2017 at 3:44:27 PM UTC+1, Matt Corallo wrote: >>> >>> If you really want to get political, Satoshi never envisioned SPV the >>> way it's implemented today. Satoshi described SPV repeatedly as clients >>> which accept fraud proofs allowing them to, just like full nodes, reject >>> any invalid chain. Bitcoin was never designed to follow an invalid chain, >>> regardless of it's hashpower. The reason this doesn't exist is Bitcoin is >>> not currently set up to allow for efficient/small fraud proofs, and getting >>> it right is super, super hard. >>> >>> On March 24, 2017 2:28:15 AM PDT, "Tobias B." <brand...@gmail.com> >>> wrote: >>>> >>>> Maybe this is so messy because bitcoin was simply never intended to >>>> follow a minority chain. Maybe the assumption was that it is more reliable >>>> to measure support from economically incentivized miners than economically >>>> incentivized developers. >>>> Maybe we shouldn't try to keep a minority chain alive in the first >>>> place and if it wan'ts to stay alive it has to change it's PoW and become >>>> an altcoin with the coin distribution starting from where bitcoin is at >>>> that point in time. But maybe I'm too political here. You just want to >>>> protect users, that's fine. But whatever change Bitcoinj implements, users >>>> who do not update their software will be in danger when there are two >>>> bitcoin chains that're using the same PoW. For me that's an argument to >>>> not >>>> support that scenario. If core really wants to ignore a majority decision >>>> of 80% of the miners then I think they're obligated to change the PoW to >>>> prevent this mess. >>>> >>>> On Friday, March 24, 2017 at 12:34:45 AM UTC+1, Manfred Karrer wrote: >>>>> >>>>> No I don't bet on it, just wanted to mention that it is a (very) >>>>> possible further escalation scenario. If the minority chain gets attacked >>>>> it seems to me also the most likely survival tactic. But I would not >>>>> count >>>>> on that of course. >>>>> >>>>> So far I still have no satisfying solution how to deal with a HF in >>>>> Bitsquare. >>>>> Stopping the trading is hard in Bitsquare as it is decentralized. >>>>> Preventing users to use the wallet and become victim of unintended >>>>> replays is impossible. >>>>> Whitelist for BTC chain nodes helps only for confirmed txs but not >>>>> unconfirmed. That would not risk loss of funds but the usability in the >>>>> trade would get screwed. >>>>> >>>>> So lets hope that BU does not escalate and we can spend time on more >>>>> productive stuff. >>>>> But at the end it demonstrates a very serious vulnerability with SPV >>>>> mode. >>>>> I hope the work on Bitcoin Core SPV will become a viable alternative >>>>> soon. I consider midterm to move over to that model in Bitsquare. That >>>>> would solve the privacy issues with bloom filters as well. >>>>> >>>>> >>>>> Am Donnerstag, 23. März 2017 10:46:51 UTC-5 schrieb Matt Corallo: >>>>>> >>>>>> I'm not sure you can bet on BTC having a PoW change, let alone make >>>>>> that bet and risk users getting completely screwed if it doesn't happen. >>>>>> >>>>>> On March 23, 2017 2:35:02 AM PDT, "Tobias B." <brand...@gmail.com> >>>>>> wrote: >>>>>>> >>>>>>> So as the minority (core) chain is likely to make a PoW change, >>>>>>> wouldn't this break SPV clients? I hope in such a case this chain would >>>>>>> also add replay protection - people would have to install new clients >>>>>>> anyway. >>>>>>> >>>>>>> On Wednesday, March 22, 2017 at 10:14:39 PM UTC+1, Manfred Karrer >>>>>>> wrote: >>>>>>>> >>>>>>>> When you talk about minority chain we should take in consideration >>>>>>>> that this might change over time. So todays winning chain might be the >>>>>>>> loser of tomorrow and so on. Might be pretty messy with re-orgs and >>>>>>>> double >>>>>>>> spends... >>>>>>>> Also I would not count with what some people expect that the >>>>>>>> minority chain will quickly die (or get killed). The ETH devs made >>>>>>>> that >>>>>>>> mistake and underestimated ETC a lot. Mining resources and price are >>>>>>>> highly >>>>>>>> dynamic factors making predictions much harder. Not to talk about the >>>>>>>> emotional and political factors... >>>>>>>> Also a PoW change is a very likely element in such a scenario... >>>>>>>> >>>>>>>> >>>>>>>> Am Mittwoch, 22. März 2017 11:18:23 UTC-5 schrieb Andreas >>>>>>>> Schildbach: >>>>>>>>> >>>>>>>>> Maybe the recommendation should be: if you want to follow a >>>>>>>>> minority >>>>>>>>> chain, use the Peer API to connect to a trusted peer under your >>>>>>>>> control. >>>>>>>>> You can then run your desired full node implemention on the >>>>>>>>> trusted peer >>>>>>>>> and bitcoinj will follow. If the network between bitcoinj and the >>>>>>>>> trusted peer is not to be trusted, use a VPN to secure that >>>>>>>>> connection >>>>>>>>> (the Bitcoin protocol itself lacks authentication). >>>>>>>>> >>>>>>>>> That would be far more reliable than a version string whitelist. >>>>>>>>> In >>>>>>>>> fact, frontending bitcoinj with bitcoind has always been a >>>>>>>>> recommendation for centralized/web services, so if they followed >>>>>>>>> that >>>>>>>>> recommendation they should not have to change anything. >>>>>>>>> >>>>>>>>> >>>>>>>>> On 03/22/2017 03:34 PM, Tobias B. wrote: >>>>>>>>> > Still maybe it adding an API call to go into "whitelist mode" >>>>>>>>> and then >>>>>>>>> > add certain node ips would be a compromise. Software building on >>>>>>>>> > bitcoinj could then offer the user to go into this mode and add >>>>>>>>> certain >>>>>>>>> > ips there. >>>>>>>>> > >>>>>>>>> > On Wednesday, March 22, 2017 at 3:25:15 PM UTC+1, Tobias B. >>>>>>>>> wrote: >>>>>>>>> > >>>>>>>>> > A whitelist of nodes for me sounds highly conflicting with >>>>>>>>> the >>>>>>>>> > decentralized nature of bitcoin. Also what if nodes switch >>>>>>>>> their >>>>>>>>> > software? Not that unlikely in case they notice that their >>>>>>>>> minority >>>>>>>>> > chain is dying. >>>>>>>>> > >>>>>>>>> > On Wednesday, March 22, 2017 at 1:28:09 PM UTC+1, Jameson >>>>>>>>> Lopp wrote: >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > On Wed, Mar 22, 2017 at 1:55 AM, Manfred Karrer >>>>>>>>> > <manfred...@gmail.com> wrote: >>>>>>>>> > >>>>>>>>> > A Bitcoin core node will not mine a transaction >>>>>>>>> originated >>>>>>>>> > in a >1 MB block (not sure if it would relay it). >>>>>>>>> BitcoinJ >>>>>>>>> > has no validation of that consensus rule, so it >>>>>>>>> would accept >>>>>>>>> > a tx from a BTU block. I think with a whitelist to >>>>>>>>> connect >>>>>>>>> > to BTC core nodes only (or better run your local >>>>>>>>> node) you >>>>>>>>> > should be safe against receiving txs from a BTU >>>>>>>>> block (> >>>>>>>>> > 1MB or built on top of a >1MB block). If BTC core >>>>>>>>> does not >>>>>>>>> > check if a tx has inputs from a >1 MB block for >>>>>>>>> replaying >>>>>>>>> > then we need to take extra care of 0 confirmation >>>>>>>>> txs. >>>>>>>>> > Does anyone here know if that is the case? >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > If your software ignores all unconfirmed transactions >>>>>>>>> then I >>>>>>>>> > could see a slightly stronger argument for going the >>>>>>>>> whitelist >>>>>>>>> > route. My point was that unconfirmed transactions will >>>>>>>>> get >>>>>>>>> > relayed around the network by nodes on both chain forks. >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > Yes I agree on the protocol level it will be hard as >>>>>>>>> the >>>>>>>>> > nodes can easily lie. >>>>>>>>> > >>>>>>>>> > Sure wallet providers should not have to deal with >>>>>>>>> it. But I >>>>>>>>> > don't see much alternative. As pure wallet it might >>>>>>>>> be >>>>>>>>> > easier to tell the people just dont use yoru wallet >>>>>>>>> for a >>>>>>>>> > few days/week. But for Bitsquare as an exchange that >>>>>>>>> is not >>>>>>>>> > really an option, trading should not get stopped >>>>>>>>> (and in >>>>>>>>> > case of Bitsquare cannot really). >>>>>>>>> > >>>>>>>>> > Maybe 2015 people have not been so nervous about it >>>>>>>>> because >>>>>>>>> > it was before ETH demonstrated the risk and damage >>>>>>>>> of a HF... >>>>>>>>> > >>>>>>>>> > Am Dienstag, 21. März 2017 21:42:07 UTC-5 schrieb >>>>>>>>> Jameson Lopp: >>>>>>>>> > >>>>>>>>> > I don't think replay protection can be added at >>>>>>>>> the >>>>>>>>> > network level. Peers could lie about their >>>>>>>>> software >>>>>>>>> > version and/or switch it, plus it's highly >>>>>>>>> likely that a >>>>>>>>> > chain split won't result in a clean network >>>>>>>>> partition. >>>>>>>>> > Transactions will get relayed around the network >>>>>>>>> > comprised of nodes on both chains and you can >>>>>>>>> expect >>>>>>>>> > that Core nodes would still relay transactions >>>>>>>>> to you >>>>>>>>> > that were originally broadcast by Unlimited >>>>>>>>> nodes and >>>>>>>>> > vice versa. >>>>>>>>> > >>>>>>>>> > At a more philosophical level, I'm not so sure >>>>>>>>> that the >>>>>>>>> > onus is on every wallet provider to implement >>>>>>>>> protection >>>>>>>>> > against contentious hard forks. You could have >>>>>>>>> made >>>>>>>>> > similar arguments that BitcoinJ should have >>>>>>>>> added replay >>>>>>>>> > protection when support for 8MB blocks was >>>>>>>>> nearing 50% >>>>>>>>> > hashrate back in 2015. >>>>>>>>> > >>>>>>>>> > On Tue, Mar 21, 2017 at 8:28 PM, Manfred Karrer >>>>>>>>> > <manfred...@gmail.com> wrote: >>>>>>>>> > >>>>>>>>> > Btw. of course the whitelist can be set by >>>>>>>>> the user >>>>>>>>> > himself, so if he runs a full node he can >>>>>>>>> use that. >>>>>>>>> > But knowing that the majority of users are >>>>>>>>> not >>>>>>>>> > running their own full node we need >>>>>>>>> alternative >>>>>>>>> > solutions as well. >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > Am Dienstag, 21. März 2017 19:23:56 UTC-5 >>>>>>>>> schrieb >>>>>>>>> > Manfred Karrer: >>>>>>>>> > >>>>>>>>> > Andreas, how are you planning to protect >>>>>>>>> users >>>>>>>>> > of the Android wallet agains replay >>>>>>>>> attacks? >>>>>>>>> > How does a user know if she/he can send >>>>>>>>> his >>>>>>>>> > wallet coins to a peer who accepts only >>>>>>>>> BTC or >>>>>>>>> > BTU (e.g. exchange)? Otherwise he might >>>>>>>>> end up >>>>>>>>> > pretty frustrated to see outgoing >>>>>>>>> transactions >>>>>>>>> > at this wallet but not confirmation of >>>>>>>>> receipt >>>>>>>>> > at the receiver. >>>>>>>>> > >>>>>>>>> > You cannot assume that all your users >>>>>>>>> are >>>>>>>>> > blindly following the longest PoW chain >>>>>>>>> as the >>>>>>>>> > only valid BTC chain and ignore the >>>>>>>>> replay >>>>>>>>> > attack risks. >>>>>>>>> > There might be even legal issues >>>>>>>>> connected to it >>>>>>>>> > (see ETH HF and losses from replay >>>>>>>>> attacks), >>>>>>>>> > probably less for a wallet provider than >>>>>>>>> for a >>>>>>>>> > centralized exchange holding customers >>>>>>>>> funds. >>>>>>>>> > But I am not sure if that would not fall >>>>>>>>> back to >>>>>>>>> > others as well (due diligence), at least >>>>>>>>> people >>>>>>>>> > could try to sue... >>>>>>>>> > >>>>>>>>> > One of the easiest solution I see is to >>>>>>>>> deploy a >>>>>>>>> > whitelist of Bitcoin Core nodes and use >>>>>>>>> those >>>>>>>>> > for the P2P network connections. >>>>>>>>> > You can give the user the choice to >>>>>>>>> select >>>>>>>>> > between whitelist Bitcoin Core nodes (if >>>>>>>>> he >>>>>>>>> > wants BTC), whitelist BU nodes (i he >>>>>>>>> wants BTU) >>>>>>>>> > or public network (if he thinks all >>>>>>>>> plays out by >>>>>>>>> > itself and is aware of the included >>>>>>>>> risk/mess). >>>>>>>>> > Of course a whitelist is not great as >>>>>>>>> well but >>>>>>>>> > that would solve the problem that we >>>>>>>>> cannot know >>>>>>>>> > in advance the data which helps us to >>>>>>>>> > distinguish between the chains (like >>>>>>>>> blockID or >>>>>>>>> > certain transactions). That whitelist >>>>>>>>> only need >>>>>>>>> > to be used as long the HF is messy, once >>>>>>>>> things >>>>>>>>> > have settled it can be removed or >>>>>>>>> replaced by >>>>>>>>> > other distinguishing data sources like >>>>>>>>> blockIds. >>>>>>>>> > >>>>>>>>> > If BTU implements a clean mechanism to >>>>>>>>> make it >>>>>>>>> > easy to distinguish that would be the >>>>>>>>> best >>>>>>>>> > solution of course but I am not aware of >>>>>>>>> any >>>>>>>>> > concrete plans for such. >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > Am Mittwoch, 15. März 2017 06:08:55 >>>>>>>>> UTC-5 >>>>>>>>> > schrieb Andreas Schildbach: >>>>>>>>> > >>>>>>>>> > As long as a fork does not change >>>>>>>>> the proof >>>>>>>>> > of work rules, bitcoinj >>>>>>>>> > makes no assumptions about forks. It >>>>>>>>> will >>>>>>>>> > always select the chain with >>>>>>>>> > the most work. >>>>>>>>> > >>>>>>>>> > What do you mean by "requesting an >>>>>>>>> UTXO" and >>>>>>>>> > what do you want to achieve >>>>>>>>> > by that? >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > On 03/14/2017 06:07 PM, Manfred >>>>>>>>> Karrer wrote: >>>>>>>>> > > If there would happen really a BU >>>>>>>>> fork SPV >>>>>>>>> > wallets could get a >>>>>>>>> > > connection to a majority of BU >>>>>>>>> nodes and >>>>>>>>> > so a different view to the network. >>>>>>>>> > > Any plans or ideas how to deal >>>>>>>>> with that? >>>>>>>>> > > >>>>>>>>> > > One idea would be to use a UTXO >>>>>>>>> which is >>>>>>>>> > known to exist on only 1 chain >>>>>>>>> > > request that and use that as a >>>>>>>>> check to >>>>>>>>> > see which chain the node is >>>>>>>>> > > operated on. >>>>>>>>> > > If it is not the chain the wallet >>>>>>>>> supports >>>>>>>>> > the node gets disconnected. >>>>>>>>> > > >>>>>>>>> > > Br, >>>>>>>>> > > Manfred >>>>>>>>> > > >>>>>>>>> > > -- >>>>>>>>> > > You received this message because >>>>>>>>> you are >>>>>>>>> > subscribed to the Google >>>>>>>>> > > Groups "bitcoinj" group. >>>>>>>>> > > To unsubscribe from this group and >>>>>>>>> stop >>>>>>>>> > receiving emails from it, send >>>>>>>>> > > an email to >>>>>>>>> bitcoinj+u...@googlegroups.com >>>>>>>>> > > <mailto: >>>>>>>>> bitcoinj+u...@googlegroups.com>. >>>>>>>>> > > For more options, visit >>>>>>>>> > https://groups.google.com/d/optout >>>>>>>>> > <https://groups.google.com/d/optout>. >>>>>>>>> >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > -- >>>>>>>>> > You received this message because you are >>>>>>>>> subscribed >>>>>>>>> > to the Google Groups "bitcoinj" group. >>>>>>>>> > To unsubscribe from this group and stop >>>>>>>>> receiving >>>>>>>>> > emails from it, send an email to >>>>>>>>> > bitcoinj+u...@googlegroups.com. >>>>>>>>> > For more options, visit >>>>>>>>> > https://groups.google.com/d/optout >>>>>>>>> > <https://groups.google.com/d/optout>. >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > -- >>>>>>>>> > You received this message because you are subscribed >>>>>>>>> to the >>>>>>>>> > Google Groups "bitcoinj" group. >>>>>>>>> > To unsubscribe from this group and stop receiving >>>>>>>>> emails >>>>>>>>> > from it, send an email to >>>>>>>>> bitcoinj+u...@googlegroups.com. >>>>>>>>> > For more options, visit >>>>>>>>> https://groups.google.com/d/optout >>>>>>>>> > <https://groups.google.com/d/optout>. >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > -- >>>>>>>>> > You received this message because you are subscribed to the >>>>>>>>> Google >>>>>>>>> > Groups "bitcoinj" group. >>>>>>>>> > To unsubscribe from this group and stop receiving emails from >>>>>>>>> it, send >>>>>>>>> > an email to bitcoinj+u...@googlegroups.com >>>>>>>>> > <mailto:bitcoinj+u...@googlegroups.com>. >>>>>>>>> > For more options, visit https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>>> >>>>>>>>>
-- You received this message because you are subscribed to the Google Groups "bitcoinj" group. To unsubscribe from this group and stop receiving emails from it, send an email to bitcoinj+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.