Bitcoin Forum
May 05, 2024, 06:02:04 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 [3] 4 5 6 7 8 9 10 »
41  Bitcoin / Development & Technical Discussion / Re: A Browser Based Cryptocurrency Client [real devs only please] on: November 15, 2013, 05:10:44 AM
There are a few extra security considerations, but you are in control of your keys and generally conforms to the same security model as the regular Bitcoin client.

Other browser plugins or browser exploits would make it incredibly unsafe even if the client itself was secure. It's a step backward to hand the browser any control over authentication of transactions.
42  Bitcoin / Development & Technical Discussion / Re: A Browser Based Cryptocurrency Client [real devs only please] on: November 14, 2013, 11:19:29 PM
You could probably compile OpenSSL (or maybe entire portions of bitcoind) into javascript using emscripten. I still personally believe any browser-based wallets are flawed unless the signing is occurring on a physical device in control of the user. All of the technologies needed for a browser-based wallet (WebRTC etc.) are there though.
43  Bitcoin / Development & Technical Discussion / Re: Selfish Mining Simulation on: November 08, 2013, 09:09:51 PM
Nice! Can you open source this?

Is the simulator accurately modeling how orphan blocks are (not) relayed?

It would also be useful to see total revenue, and total-revenue-expected-if-everybody-mines-honestly for both the entire network and the attacker.


Here's my repo for it: https://github.com/ebfull/ebfull.github.io  (same license as bitcoin-qt)

I'll be better documenting and cleaning up the code. Also, orphaned blocks are now displayed with a strikethrough if they are absent on the best chain. In addition, the proposed patch (honest miners mining on random branches rather than the first branch received) has been added as a parameter.

This is really cool.  I've been watching it run on a couple of computers here.

I'm getting consistent results here, showing that the selfish mining strategy is a really good way to lose 20-30% of your mining revenue.  I'll note that this is roughly what I was expecting.  In every other context, the whole world considers it obvious that getting your blocks out as fast as possible is a good thing.  Still, science is the art of not fooling yourself, and getting the result you expect is not the same as showing that a model has skill.

As fun as this is, it needs to be much faster to be really useful.  We need hundreds or thousands of runs, covering hundreds or thousands of blocks.  We also need to verify that model parameters are realistic, and that the simulation isn't adding or causing un-real effects.  We should also invite the authors to verify that the attack behavior is implemented correctly.*

* To the limited extent possible.

I'd also like to know if the attack behavior is implemented correctly, as it appears the paper on the attack has many flaws -- the algorithm they describe is contradictory and has typos.

However, I think you're reading the revenue of the attacker wrong on the simulation. It's the revenue the attacker has accumulated as a percentage of all of the revenue of the best chain.

My approximate results (after 10000 blocks each):

Code:
35% normal, no attack: ~37.17% revenue
35% selfish, no sybil: ~37.57% revenue
35% sybil: ~37.05% revenue
35% selfish, sybil: ~48.8% revenue

Code:
20% normal, no attack: ~20.92% revenue
20% selfish, no sybil: ~10.9% revenue
20% sybil: ~21.55% revenue
20% selfish, sybil: ~23.11%

This is using a completely different network topology than bitcoin's network tends to have, but it does show that some mixture of parameters (like how well the attacker is connected, the propagation speed of blocks, the orphan rate) makes the attack practical. I've adjusted random things to see the effects: for example, with a higher natural orphan rate, the attack is much more effective as you might imagine, because the attacker can get a better lead on the honest miners.

Yes, I'd love to have an UI like this on top of the real simulator, right now it seems a bit more concerned (CPU wise) to re-arrange it's nodes than to actually simulate, especially if you drop a few more nodes.

I've changed the simulator, now it will not render as often as it will compute, especially at higher speeds. You can also turn off visualization if you'd like. This has improved it significantly.

Ultimately the best simulator will not be in javascript, I'll admit, but I think I can make this simulator efficient enough for rapid prototyping of ideas on a small scale.
44  Bitcoin / Development & Technical Discussion / Re: Selfish Mining Simulation on: November 07, 2013, 06:48:51 PM
I've updated the simulation to complete it, and incorporate Peter's suggestions.

http://ebfull.github.io/

It's a lot more useful. You can specify the simulation parameters and completely simulate the selfish mining attack. The defaults are fine.

Here's how it works:

  • Node 0 is given a specified "hashrate".
  • If you enable the sybil attack, node 0 will have enormous network influence to simulate a real sybil attack. This is necessary to make the selfish mining attack practical.
  • If you enable the selfish mining attack, node 0 will withhold blocks it finds as described in the selfish mining paper, and will propagate only what is necessary to retain a revenue advantage over the network.

It would be even better if I can specify the exact network conditions of the bitcoin network (average latency etc.) and see the threshold for the attack in practice.
45  Bitcoin / Development & Technical Discussion / Selfish Mining Simulation on: November 07, 2013, 12:00:15 AM
I couldn't find a thread about this so I'll just post a new one.

kjj, Jeff Garzik and some others on the mailing list have put up a bounty for a:

Quote
I'm willing to pitch in 1 BTC as a
bounty for building a general bitcoin network simulator framework. The
simulator should be able to account for latency between nodes, and
ideally within a node.  It needs to be able to simulate an attacker that
owns varying fractions of the network, and make decisions based only on
what the attacker actually knows.  It needs to be able to simulate this
"attack" and should be generic enough to be easily modified for other
crazy schemes.

I've finished a basic implementation of this here:

http://ebfull.github.io/

Forgive its ugliness and the fact it's in javascript.

Explanation: 100 nodes are created which all mine with varying probabilities of solving a block every "second", they mine on the longest chain they see. Node 0 is an attacker which (if you press "sybil attack go" right at the start) has enormous network influence, and incidentally will act as a bootstrap node for the simulation. If you toggle the attack, node 0 will begin propagating blocks in deliberate attempts to orphan competing blocks (so-called selective propagation). You can see the effects this has, in my simulation given the right conditions the attacking node will have success.

The colors represent different chainstates (do reference client developers even still call it that?) and the nodes which are responsible for them. The chain doesn't include transactions or anything like that, just keeps track of the "revenue" of particular miners just as the SM paper describes. The visualization will show forks at the most recent height if there are any.

However, I'm not sure the simulator can be completed without having a public discussion about a number of topics. What is the bitcoin network topology, things like how many supernodes there are, the average latency between nodes, and some of the emergent behaviors of network propagation? Most of the discussion about this has been limited and sparse on the forums, but the simulator can adapt to it. How much of the attack do we need to simulate, and exactly what is controversial? It doesn't appear (to me) that throwing latency at the attack makes it less serious, just slightly less practical.

Whether the incentives are in place to deter this activity, is an economic discussion I'm not prepared for.
46  Economy / Securities / Re: ASICMINER: Entering the Future of ASIC Mining by Inventing It on: October 27, 2013, 03:43:00 PM
report

omg its 10/17 wtf scam

wow

why immersion cooling 14nm plz
47  Bitcoin / Development & Technical Discussion / Re: Are invalid addresses valid? on: September 29, 2013, 05:37:36 PM
Only the hash of the public key is included in the scriptPubKey of the transaction. Addresses are wrappers around this hash with an additional checksum for usability/compatibility purposes. The checksum is not included in the transaction at all.

Clients are the only things which interact with addresses as you perceive them, and are the only things that deal with checksums of public keys.
48  Bitcoin / Development & Technical Discussion / Re: Is bitcoin protocol evolving? on: September 27, 2013, 12:01:50 PM
https://en.bitcoin.it/wiki/Hardfork_Wishlist

Not that this list is imminent. Maybe Gavin can give us some idea of when there might be a task force involved in ironing out what should be included in the next hardfork?
49  Bitcoin / Hardware / Re: @Friedcat: A forgotten promise? on: September 17, 2013, 03:44:48 PM
I (first auction winner) just received 2 BE blades (new model) in the mail.
50  Other / CPU/GPU Bitcoin mining hardware / Re: Block Erupter Resetting Rigs, Perhaps we are starting to see a Failure rate. on: September 16, 2013, 12:38:52 AM
OP you're an anomaly. There's an error rate for hardware no matter who manufactures it.
51  Bitcoin / Hardware / Re: Block Erupter Blade (New Model) User Guide on: September 15, 2013, 04:01:21 AM
Can a mod fix the link in his post?
52  Economy / Securities / Re: [LABCOIN] IPO [BTCT.CO] - Details/FAQ and Discussion (ASIC dev/sales/mining) on: September 14, 2013, 01:35:04 AM
lmao
53  Bitcoin / Mining / Re: Is it possible to determine miner's details? on: September 13, 2013, 03:10:34 AM
blockchain.info

They record the IP which relayed the block but there is no way to be sure if it's the origin IP and often it's not. The coinbase transaction will show you where your fees went.
54  Economy / Securities / Re: ASICMINER: Entering the Future of ASIC Mining by Inventing It on: September 13, 2013, 12:52:29 AM
We didn't hear from friedcat for like a month the last time we were waiting for chips, he'll talk when he's ready.
55  Economy / Securities / Re: [LABCOIN] IPO [BTCT.CO] - Details/FAQ and Discussion (ASIC dev/sales/mining) on: September 12, 2013, 03:18:16 AM
I wonder if Swede even knows if the chips exist himself?
56  Other / CPU/GPU Bitcoin mining hardware / Re: Block Erupter Resetting Rigs, Perhaps we are starting to see a Failure rate. on: September 12, 2013, 02:34:19 AM
You probably overheat it, they get really hot without a fan.
57  Economy / Securities / Re: ASICMINER Speculation Thread on: September 11, 2013, 01:37:56 AM
Best guess is assembly of 65nm ascis begins next month and continues until they've deployed a petahash or more by the end of year.
58  Economy / Securities / Re: ASICMINER Speculation Thread on: September 11, 2013, 01:34:07 AM
Do you have a source? All I remember is a vague reference to "exponentially increasing".

rockxie's slideshow said they were deploying a petahash mine before all of these competitors showed up. If they're deploying a petahash mine, they will have a ton more equipment for sale and for franchising.
59  Economy / Securities / Re: ASICMINER Speculation Thread on: September 11, 2013, 01:22:27 AM
friedcat was planning a lot more than a petahash.
60  Economy / Securities / Re: [LABCOIN] IPO [BTCT.CO] - Details/FAQ and Discussion (ASIC dev/sales/mining) on: September 10, 2013, 02:46:12 AM
As an outsider looking in, solo mining is just throwing away money. At the speed at which you expect to deploy your hardware, and the speed the network is growing, you need to get as much of a cut as you can for your shareholders before it's too late. The variance could mean negligible profit before the next difficulty change. Once you have enough hashrate that solo mining is practical, it's a different question, but in a month what do you think the difficulty is going to be?

This is not in the best interests of your shareholders.

Not saying this is a scam (doesn't seem like it yet) but just because they didn't run off with the IPO money doesn't mean it's legit. If this were a scam, a pretty clever approach would be to payout dividends until the share price skyrockets, and sell x% of the shares to cover the dividend payouts and then some. You could make bank just on speculation alone. Then vanish with your riches and maximal proceeds not having spent a dime on actual manufacturing. At least someone is going to try this eventually.

At this point I would buy LC even if it's a scam, because these guys are smart enough to take it all the way.
Pages: « 1 2 [3] 4 5 6 7 8 9 10 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!