Author

Topic: Hard fork procedures (Read 1068 times)

legendary
Activity: 1106
Merit: 1001
June 02, 2015, 08:51:29 AM
#13
Yeah, now the six year old is confused.

I guess I'll have to keep a close eye on things, and if anything looks slightly off make the necessary contingencies to ensure my BTC don't end up on the wrong chain.

Armory is an advanced wallet, not meant for 6yo or users otherwise uneducated in the basic functions of the Core implementation, therefor I cannot provide an ELI5 level response.

Now, consider the following: Armory only runs on top of a binary implementing the bitcoin consensus and networking layer. It ultimately trusts that binary which means it doesn't check blocks against its own set of consensus rules.

Considering the difference between Core and XT (i.e. minimal), Armory won't know any better whether it is ran against Core or XT. Now if you understand how Core stores its block data on disk and know that Armory reads the block data from disk, you will know not to run XT and Core on the same home folder if you want to guarantee Armory will see only the fork of your choosing.

Actually, I just downloaded and installed XT, and it's a non event... Armory is running perfectly on top of it (or next to it, depending on the metaphor you choose).

Cheers,
sr. member
Activity: 255
Merit: 250
Senior Developer - Armory
June 01, 2015, 02:21:20 PM
#12
Now, consider the following: Armory only runs on top of a binary implementing the bitcoin consensus and networking layer. It ultimately trusts that binary which means it doesn't check blocks against its own set of consensus rules.

In other words, what I initially wrote was a bit off. We don't even bother verifying whether blocks are valid. We just accept them and process the transactions inside. (I believe those are validated on one level or another. I don't recall the exact nuts & bolts.) In that sense, Armory could almost certainly be used with XT right now, and even after the hard fork, if it happens. (Standard disclaimers, nuts & bolts, rubber meeting the road, etc.)

In other words, everybody's going into panic mode for no good reason. Sit back, have a drink, and relax. Smiley We've got you covered. Short of Gavin & Mike extending huge middle fingers to the Bitcoin community and its de facto standards, it'll be quite awhile before the current infighting affects anybody anyway.
legendary
Activity: 3766
Merit: 1364
Armory Developer
June 01, 2015, 01:22:26 PM
#11
Yeah, now the six year old is confused.

I guess I'll have to keep a close eye on things, and if anything looks slightly off make the necessary contingencies to ensure my BTC don't end up on the wrong chain.

Armory is an advanced wallet, not meant for 6yo or users otherwise uneducated in the basic functions of the Core implementation, therefor I cannot provide an ELI5 level response.

Now, consider the following: Armory only runs on top of a binary implementing the bitcoin consensus and networking layer. It ultimately trusts that binary which means it doesn't check blocks against its own set of consensus rules.

Considering the difference between Core and XT (i.e. minimal), Armory won't know any better whether it is ran against Core or XT. Now if you understand how Core stores its block data on disk and know that Armory reads the block data from disk, you will know not to run XT and Core on the same home folder if you want to guarantee Armory will see only the fork of your choosing.
legendary
Activity: 3430
Merit: 3080
June 01, 2015, 01:04:04 PM
#10

If you look at the information you linked to, you would realise it's been "here" for at least 6 months. Everyone has several more months than that to decide. Furthermore, Armory should be compatible with either version. So don't worry, cypherdoc

that's funny.  all but one of those nodes popped up in the last 48h or so.

i get what you mean though.  the XT node conversion may be happening now but accepting >1MB blocks won't happen until a larger % occurs which could take months.



If you look at the information you linked to, you'll see that Bitcoin XT is not currently, nor advertising itself, as a 20 MB block fork of the original client. It's actually for a handful of experimental features.

Also, the bitnodes.io information is only correct in as far as the point in time when that particular website began to record Bitcoin XT nodes. They've existed for months beforehand, I have seen them. The fact that bitnodes.io have decided to start recording instances of this experimental node is a symptom of the unnecessary misunderstanding and panic we've had so far.
legendary
Activity: 1764
Merit: 1002
June 01, 2015, 12:34:13 PM
#9

If you look at the information you linked to, you would realise it's been "here" for at least 6 months. Everyone has several more months than that to decide. Furthermore, Armory should be compatible with either version. So don't worry, cypherdoc

that's funny.  all but one of those nodes popped up in the last 48h or so.

i get what you mean though.  the XT node conversion may be happening now but accepting >1MB blocks won't happen until a larger % occurs which could take months.

legendary
Activity: 3430
Merit: 3080
June 01, 2015, 12:17:58 PM
#8

If you look at the information you linked to, you would realise it's been "here" for at least 6 months. Everyone has several more months than that to decide. Furthermore, Armory should be compatible with either version. So don't worry, cypherdoc
sr. member
Activity: 255
Merit: 250
Senior Developer - Armory
June 01, 2015, 12:08:27 PM
#7
Yeah, now the six year old is confused.

I'll take a crack at this, in a manner where the 6yo will cry for Mommy. Smiley If goatpig or anybody else would like to correct me, please speak up. (I've never used BC-XT and am shooting from the hip in some regards.)

For now at least, the BC Core vs. BC-XT scare is highly overblown. XT is essentially a copy of Core with a few minor changes here and there. Armory uses Core only to communicate with the Bitcoin network, and only to read the blockchain data that Core stores on the computer. That's it.

Unfortunately, I believe XT and Core both store their blockchains in the same location. (I could swear luke-jr or some other contributor pointed this out on Reddit or the dev list yesterday. I can't find the comment in question, though, and could easily be wrong.) If that's true, there could be a problem once the chains fork if people keep switching between programs. I'd argue it's important for XT to store its data elsewhere if they end up forking, otherwise it'll be a mess if people go back and forth.

When will a fork happen? It essentially boils down to when XT starts allowing blocks that aren't acceptable under Core. Right now, that doesn't happen. XT does a couple of behind-the-scenes things differently but the end result, the blockchain, is exactly the same. If the increased block size is committed to XT, I don't think that'll kick in right away. Like the soft forks that have rolled out, X number of miners will have to indicate that they can handle the latest transaction or block version. When P2SH was added, the standard was ~75% for the new rules to apply to those using them and, more importantly, ~95% for the new rules to apply to everybody. (Will this apply to the megablocks? I assume so. Gavin would really be playing with fire if he just shoved megablocks down everybody's throats overnight.)

In other words, until the megablocks hit ~75% on the network, they must be validated using the pre-megablock rules. Unless Gavin & Mike have some grand plan to flip tons of miners overnight, this will take months to occur. Even relatively non-controversial changes, like the soft forks, take months to occur. There's no way this change will take place quickly.

What does all this mean for Armory? The blocks will be validated but it'll be quite awhile before Armory must be upgraded. Even when it is, we can always add some sort of switch asking whether or not the user is on Core or XT. Once Armory knows what to expect, all will be well.

Does that answer your question? Smiley Dollars to donuts I'm wrong on one detail or another but the gist should be accurate. I can definitely say that the devs aren't sweating this. We have far bigger fish to fry before we worry about the relatively trivial changes that would be necessary if the Core/XT split becomes a real problem. I'm reminded of OpenSSL's Heartbleed bug and how everybody was freaked out about it, even though Armory doesn't use OpenSSL. It's an issue for some people, yes, but it's not an all-hands-on-deck kinda deal for us.

EDIT: Also, as best I can tell, XT had its last commit at the end of 2014. There have been months of commits to Core since then, including the BIP 66 soft fork that's rolling out right now. Mike & Gavin have a fair amount of work to do in order to catch up with Core before they even think about rolling out the hard fork.
legendary
Activity: 1764
Merit: 1002
legendary
Activity: 1106
Merit: 1001
June 01, 2015, 09:09:07 AM
#5
OK, but just to make it absolutely clear (assume I'm a six year old who stumbled into bitcoins and computers), if the time comes, and I download and run XT, Armory will have no problem? Also, Armory can run QT by itself, if memory serves. Will we get the option of running XT if there is a fork and we choose to do that?

Depends on the binary you make available to Armory.

Yeah, now the six year old is confused.

I guess I'll have to keep a close eye on things, and if anything looks slightly off make the necessary contingencies to ensure my BTC don't end up on the wrong chain.
legendary
Activity: 3766
Merit: 1364
Armory Developer
June 01, 2015, 07:56:38 AM
#4
OK, but just to make it absolutely clear (assume I'm a six year old who stumbled into bitcoins and computers), if the time comes, and I download and run XT, Armory will have no problem? Also, Armory can run QT by itself, if memory serves. Will we get the option of running XT if there is a fork and we choose to do that?

Depends on the binary you make available to Armory.
legendary
Activity: 1106
Merit: 1001
June 01, 2015, 06:26:54 AM
#3
OK, but just to make it absolutely clear (assume I'm a six year old who stumbled into bitcoins and computers), if the time comes, and I download and run XT, Armory will have no problem? Also, Armory can run QT by itself, if memory serves. Will we get the option of running XT if there is a fork and we choose to do that?
legendary
Activity: 3766
Merit: 1364
Armory Developer
May 29, 2015, 06:19:03 PM
#2
As long as your Core implementation only records the relevant fork on disk, Armory will only see that.

Armory trusts the local Core instance for block validity so it doesn't check that transactions are valid (according to this or that consensus rules). If somehow your Bitcoin Node maintains both forks on disk (why would it if the divergence in consensus caused a fork?), then Armory will only care for the longest chain.
legendary
Activity: 1106
Merit: 1001
May 29, 2015, 02:43:57 PM
#1
Hi there:

Could someone from Armory let us know how the proposed hard fork might or might not affect us users? Will Armory continue to run if we switch to BitcoinXT? Is there anything we'll need to do specifically to ensure we're on the chain we choose to be on?

Thanks.
Jump to: