58. On the Development of an Alert System

58

On the Development of an Alert System

SATOSHI DISCUSSES his development of an alert system where important messages can be delivered across the Bitcoin network only by those who own a private key, in this case Satoshi himself. This could be used, for example, to report to all miners the requirement for an important software upgrade after a bug (issue) has been found.

Development of alert system

Posted by satoshi, August 22, 2010, 11:55:06 PM

I’ve been working on writing the alert system. Alerts are broadcast through the network and apply to a range of version numbers. Alert messages are signed with a private key that only Ihave.

Nodes can do two things in response to an alert:

• Put a warning message on the status bar.

• Make the money handling methods of the json-rpc interface return an error.

In cases like the overflow bug or a fork where users may not be able to trust received payments, the alert should keep old versions mostly safe until they upgrade. Manual users should notice the status bar warning when looking for received payments, and the json-rpc safe mode stops automated websites from making any more trades until they’re upgraded.

The json-rpc methods that return errors during an alert are:

sendtoaddress getbalance getreceivedbyaddress getreceivedbylabel listreceivedbyaddress listreceivedbylabel

In a reply to someone regarding the alert system:

Re: Development of alert system

Posted by satoshi, August 24, 2010, 11:51:12 PM

If you’re so paranoid that you’re getting hysterical over this, then surely you’re paranoid enough that if a warning message displays on the status bar, you’ll check the website and forum.

I think if another bug like the overflow bug occurs, it’s important that automated websites stop trading until their admins can check out what’s going on and decide what to do. If you decide it’sa false alarm and want to take your chances, you can use the“-disablesafemode” switch.

Re: Development of alert system

Posted by satoshi, August 25, 2010, 03:17:37 PM

It can’t do arbitrary actions remotely. Maybe some of you are responding to other posters who suggested the alert system should do more?

If there is an alert, the following json-rpc methods return an error:

sendtoaddress getbalance getreceivedbyaddress getreceivedbylabel listreceivedbyaddress listreceivedbylabel

The remaining 14 methods function as normal.

I believe the safer option should be enabled by default. If you want your server to keep trading and ignore an alert saying the money its receiving might be like the money from the overflowbug, then you can use the switch and not blame anyone else if you lose your money.

Worst case if you leave alerts enabled, your site stops trading until you upgrade or add thedisablesafemode switch.

Getting surprised by some temporary down time when your node would otherwise be at risk is better than getting surprised by a thief draining all your inventory.

Someday when we haven’t found any new bugs for a long time and it has been thoroughly security reviewed without finding anything, this can be scaled back. I’m not arguing that this is the permanent way of things forever. It’s still beta software.

Re: Development of alert system

Posted by satoshi, August 25, 2010, 04:56:15 PM

Quote from: jimbobway on August 25, 2010, 04:45:22 PM

Quote from: BioMike on August 23, 2010, 05:15:43 AM

@mizerydearia, I think the quote button is easier to find then the reply one.

So, theoretical this is a first control system where <some goverment> can arrest satoshi and demandthat he hands over his key (or get it from his computer) and shut down the complete network?

Or is that not possible? How far would <some goverment> get?

A few rhetorical questions for satoshi:

Can you resist waterboarding? Can you endure electric shock? All forms of torture? Lastly, are you Jack Bauer by any chance? Seriously.

WRT the alert system, who cares? The most the key can do is temporarily disable six json-rpc commands until the site owners either add thedisablesafemode switch or upgrade. All nodes keep running and generating, the network stays up. If I’m not available, any script kiddie can figure out how to add two characters and make a new version that disables the alert system. It would be a temporary inconvenience only.

Quote from: BioMike on August 23, 2010, 05:15:43 AM

So, theoretical this is a first control system where <some goverment> can arrest satoshi and demandthat he hands over his key (or get it from his computer) and shut down the complete network?

This is what makes me think the people objecting don’t know what they’re talking about. It can’t “shut down the complete network”.

Re: Development of alert system

Posted by satoshi, August 25, 2010, 04:56:15 PM

Quote from: BioMike on August 25, 2010, 06:23:45 PM

Quote from: satoshi on August 25, 2010, 04:56:15 PM

This is what makes me think the people objecting don’t know what they’re talking about. It can’t “shut down the complete network”.

I’ve never objected this change/idea, just asking if this was possible and to what extent. What’s wrong with getting informed? : )

My apologies, your post was indeed a question not a statement.

Last updated