public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
* [Bitcoin-development] Fuzzer?
@ 2012-01-25 23:27 Amir Taaki
  2012-01-26 15:32 ` Gavin Andresen
  0 siblings, 1 reply; 2+ messages in thread
From: Amir Taaki @ 2012-01-25 23:27 UTC (permalink / raw)
  To: bitcoin-development

Hey,

I heard there is a fuzzer in the works? Where can I find more details of this? I'm going to write one for libbitcoin, but if one already exists then I'd rather build on and use that.

Something simple like:
- Set previous block hash, set current target
- Start hashing
- Connect and send to specified host (i.e localhost)

That way I can force re-organisations and stress the blockchain algorithm. Should be trivial for me to build, but worth asking anyway :)

Thanks



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Bitcoin-development] Fuzzer?
  2012-01-25 23:27 [Bitcoin-development] Fuzzer? Amir Taaki
@ 2012-01-26 15:32 ` Gavin Andresen
  0 siblings, 0 replies; 2+ messages in thread
From: Gavin Andresen @ 2012-01-26 15:32 UTC (permalink / raw)
  To: Amir Taaki; +Cc: bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 493 bytes --]

https://github.com/gavinandresen/bitcoin-git/tree/fuzzer

It is a transaction fuzzer; adding block fuzzing is on the TODO.

Basic usage is:
1. Use the send* RPC commands to get one or more transaction IDs
2. Run a script that repeatedly calls relayfuzzed with a nonce/txid
... and see how the connected peer(s) react to all the fuzzy 'inv/tx'
protocol messages.

I built it to stress-test BIP 16, there are lots of useful features that
could be added.  Patches welcome!

-- 
--
Gavin Andresen

[-- Attachment #2: Type: text/html, Size: 714 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-01-26 15:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-25 23:27 [Bitcoin-development] Fuzzer? Amir Taaki
2012-01-26 15:32 ` Gavin Andresen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox