Gavin Andresen

gavintech.blogspot.com · Personal blog · on HN since 2012

Gavin Andresen, a longtime Bitcoin core developer, writes about Bitcoin security, scaling, attacks, and contract design.

What HN saysCommenters cite it for his proposal of semi-trusted oracles for contracts, his 51% attack mitigation, and the hacked Bitcoin faucet.
15HN people shared it
9linked it in comments
6stories submitted
55story points
5 years agolast shared
2012people per year2026

Most-shared posts

  1. 1
    Neutralizing a 51% attack (2012)
    4 people · 4 points · first shared 2012 · discussion on HN
  2. 2
    Bit-thereum
    3 people · 43 points · first shared 2014 · 8 comments on HN
  3. 3
    Bitcoin Core Developers Join MIT's Media Lab
    1 people · 3 points · first shared 2015 · 1 comments on HN
  4. 4
    Full disclosure: Bitcoin-Qt on Windows vulnerability
    1 people · 3 points · first shared 2012 · discussion on HN
  5. 5
    Looking Before the Scaling Up Leap
    1 people · 2 points · first shared 2015 · discussion on HN
  6. 6
    Neutralizing 51 attack
    1 people · first shared 2014
  7. 7
    Off chain transactions
    1 people · first shared 2013
  8. 8
    Neutralizing 51 attack
    1 people · first shared 2013
  9. 9
    Twenty megabytes testing results
    1 people · first shared 2015
  10. 10
    Bitcoin faucet hacked
    1 people · first shared 2022

What HN people wrote when they linked it

kolinko · 2014-10-27
With a small change to bitcoin protocol it should be possible in some cases. But right now the only viable option is to use M of N oracles: https://github.com/orisi/wiki/wiki/Orisi-White-Paper http://gavintech.blogspot.com/2014/06/bit-thereum.html Basically, you choose a panel of up to 15 independent entities to verify that the funds were locked indeed. The panel can be modified by a majority of votes if some of the entities prove to be unreliable - kind of like the Supreme Court works. This obviously introduces a new vulnerability to the system, but is the best solution available right now.
kwikiel · 2016-06-19
That's fair point. ""So I’ll start there, and imagine that there are semi-trusted ‘oracles’ that compete to be the most reliable and trustworthy verifiers of contracts. People involved in contracts choose N of them, and then require that contract conditions be validated by one or more of them before the contract pays out. Pick more than one so no single oracle can steal the contract’s funds, but less than N in case some of them go out of business or just aren’t around to validate contracts when it is time for the contract to pay out." http://gavintech.blogspot.com/2014/06/bit-thereum.html So you can "just" write contract in some language so that: - it will cover most of cases without human intervention - if there will be bug with code oracle will read (as human) content of terms to get idea about contract intent (basically dispute) But it seems that good marketing and some really interesting technology can switch focus from asking basic question - "we are trying to solve existing business problem or just create cool tech?" And yet when i read blogposts about ethereum i see more and more complicated contraptions (ruby goldberg machines in fact) and reason why this whole thing is even build is not clear.
randyrand · 2013-08-21
While I mostly agree with you - it's easier said than done. How exactly are you going to buy $150 million (or whatever the needed amount is) of ASICs without being noticed? The government could obviously do it - but at least in the near future that sounds far fetched. Like wise as soon as your attack is noticed your IP addresses would be blocked by the other clients preventing you from adding to the chain. Edit: after looking more into the 51% attack IP blocking wont really solve it since it only would take a handful of unique IPs to pull off. Edit2: Couldn't we prevent the double spend part of the 51% attack (or at least make it more like 90%) by doing 2 things: 1) Merchants would only accept bit coins that have been in the block chain at least 6 blocks ago (this already is the recommended case) 2) Nodes reject any blocks received if they receive it over an hour (6 blocks worth) past receiving the 'sister' block in the competing (true) chain. This would prevent an attacker from 'reversing history.' What would be the drawbacks to this? Edit3: like wise we could stop the "prevent other people from making transactions" part of it (the only other part) by doing this: http://gavintech.blogspot.com/2012/05/neutralizing-51-attack.html I would love it if someone responded to this.
Scoundreller · 2022-02-15
A 2012 Bitcoin hack victim was none other than a lead developer of Bitcoin. Back then, they ran a Bitcoin faucet on it that gave out a paltry 0.25 Bitcoin at a time. I never bothered to jump through those hoops for like a dollar (now about US$10k): http://gavintech.blogspot.com/2012/03/bitcoin-faucet-hacked.html?m=1 He only lost 5 bitcoin (like $20 then or $200k today), but another lost 3100, or around… $124 million today: https://bitcointalk.org/index.php?topic=66916.0 They ran a Bitcoin mining pool and this hack motivated them to create a hardware wallet: https://blog.trezor.io/how-trezor-was-born-from-a-hacking-attack-that-…
danbruc · 2014-12-25
EDIT: Deleted parent comment pointed to [1]. The article lines out how to neutralize an attacker mindlessly building a chain of useless transaction but this obviously does not solve the problem. What if the attacker forks and rebuilds the chain of the last week but randomly leaves out every tenth transaction while slowly poisoning the genuine chain with useless transactions until the algorithm decides to switch? You just undid thousands of transaction originally confirmed a week ago. If you could just make up a couple of rules to prevent all 51 % attacks they would not be an issue in the first place. But this again would imply that it does not matter how the computing power is distribute between the good guys and the bad guys which obviously completely contradicts the fundamental design of Bitcoin. [1] http://gavintech.blogspot.de/2012/05/neutralizing-51-attack.html
hnolable · 2013-04-05
NSA, China, Russia, most governments really, and possibly a lot of banks, could do a 51% attack and shut down transaction processing... or do double spends, but shutting down all transaction processing seems more damaging. This won't ever change, unless Bitcoin really causes governments to lose most of their power and money. Edit: gavin has a plan (http://gavintech.blogspot.com/2012/05/neutralizing-51-attack.html) but my guess is if they did the work to start an attack in the first place they'd have planned for gavin's plan and acquired enough older coins to foil it. It'd be nice if more thought went into other ways to thwart a possible attack but I'm not sure there really are any. Most people seem to discount and completely avoid the issue.
RoboTeddy · 2013-03-14
Scalability is definitely a challenge -- in fact, scaling to deal with SatoshiDice is what triggered the recent fork. https://en.bitcoin.it/wiki/Scalability (which has some recent research on CPU optimizations) and https://bitcointalk.org/index.php?topic=34597.0 (a response from a year ago) answer some of Kaminsky's scalability criticisms. There's also the possibility of off-the-chain transactions: http://gavintech.blogspot.co.il/2012/07/off-chain-transactions.html
zargon · 2013-02-01
Yes, the computing resources are required to secure the block chain. How much? The network needs to have at least twice the computing power of an attacker to prevent that attacker from taking over the block chain. Although there are some ideas about how to reduce the amount of computing the network needs to prevent an attacker from forking the block chain: http://gavintech.blogspot.com.ar/2012/05/neutralizing-51-attack.html Another social advantage of bitcoin is that you can make transactions without being at the mercy of a payment processor. Wikileaks vs. visa and mastercard, for example.
IkmoIkmo · 2015-01-20
Speed is not a function of capacity in this particular context. A car with 1 seat driving 500 m/h is faster, don't you think, than a car with 4 seats that drives 50 m/h. I mean we can argue semantics, but if you want to send $100 from the US to the Philippines, bitcoin is generally a lot faster than your bank, even when you have to buy bitcoin and sell it in the Philippines because of international transactions taking much longer than local ones. As for capacity, bitcoin's 'Chief Scientist' just wrote a blog post on scalability: http://gavintech.blogspot.de/2015/01/twenty-megabytes-testing-results.… To make a long story short, thousands of transactions per second (Visa averages about 2k) is certainly possible. I'd be more worried about bitcoin adoption (from an interest/tech/growth point of view) as a limit than technical scalability issues as a limit, especially with things like sidechains. (Look at Blockstream's Sidechains for example as a solution, just got a $21m investment.) It's generally held that it can scale, whether it can grow and become popular and well used remains to be seen (I think it's likely but it's far from certain).

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close