Return-Path: <kristovatlas.lists@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 22AD61046
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue,  1 Sep 2015 15:50:37 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-ob0-f182.google.com (mail-ob0-f182.google.com
	[209.85.214.182])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 635F6202
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue,  1 Sep 2015 15:50:36 +0000 (UTC)
Received: by obbbh8 with SMTP id bh8so2899868obb.0
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 01 Sep 2015 08:50:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=E2sGb+aaSophpT2EVDInvCNV8e2zB9dDIQaGbbwVo0k=;
	b=sfjQGxtdr8KV5XTF5W/jYDm93zTmHZWTRUcbZUnbKH6Jt49wsDSMX9YtuydRZQ9i4f
	eF0vHt6ilLJbCX0MQF/KSRPdESBvS5EU3s0pFLGPxRLMp0b09yqpzgkWkZjt9LZGKwn2
	AnaQlUl1JNy4lm+xaJQ+/7C8vLlp9T4dD8P8f8tE2ssOzU78mPNTO+cYO5KzfDr5COzM
	mp+dnv14REvtuP1cIDkdgevhFrP5K4t+4d+hBwHIQyTTInnWbXGUew9isVEIbxVMNfQW
	3il/z/wA6sEXE3wYOx1Ft2MBtM/Jj5w/4P9W9CKReZEoXDIqIKHswgYBp81mbILrwA38
	PhGg==
MIME-Version: 1.0
X-Received: by 10.60.125.8 with SMTP id mm8mr18174788oeb.73.1441122635748;
	Tue, 01 Sep 2015 08:50:35 -0700 (PDT)
Received: by 10.202.183.215 with HTTP; Tue, 1 Sep 2015 08:50:35 -0700 (PDT)
Date: Tue, 1 Sep 2015 11:50:35 -0400
Message-ID: <CAGH37S+daPddzwo1bJ0sPs3RfLOE63TPkCrc-X6qhNw7nu6=Xg@mail.gmail.com>
From: Kristov Atlas <kristovatlas.lists@gmail.com>
To: bitcoin-dev@lists.linuxfoundation.org
Content-Type: multipart/alternative; boundary=047d7b339b21c818b9051eb18287
X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW
	autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
Subject: [bitcoin-dev] push tx fuzzing
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Development Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Tue, 01 Sep 2015 15:50:37 -0000

--047d7b339b21c818b9051eb18287
Content-Type: text/plain; charset=UTF-8

I am interested in finding or writing a fuzzer for push tx APIs. I did not
find one after a brief search. Has anyone found otherwise, or is she in the
process of writing one?

If not, what features would people recommend for a new push tx fuzzer?

Endpoints I would like to test include:

https://live.blockcypher.com/btc-testnet/pushtx/

https://insight.bitpay.com/tx/send

https://blockchain.info/pushtx

https://coinb.in/#broadcast

https://btc.blockr.io/tx/push

https://chain.localbitcoins.com/tx/send


The fuzzer should be able to send random data, invalid characters, etc. but
also fuzz particular aspects of the transaction format such as malformed
P2SH and P2PKH transactions, fields such as lock time, size, # inputs,
version number, vin size, etc. It should also be able to fuzz a variety of
valid and invalid script formats using odd op codes, changing the order of
op codes, etc.


If anyone has recommendations about how such a fuzzer should be structured,
please let me know.


Finally, if you are interested in collaborating, please contact me via
private message.


Thanks!

Kristov

--047d7b339b21c818b9051eb18287
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><font size=3D"2"><span style=3D"font-family:arial,hel=
vetica,sans-serif">I am interested in finding or writing a fuzzer for push =
tx APIs. I did not find one after a brief search. Has anyone found otherwis=
e, or is she in the process of writing one?<br><br></span></font></div><div=
><font size=3D"2"><span style=3D"font-family:arial,helvetica,sans-serif">If=
 not, what features would people recommend for a new push tx fuzzer? <br><b=
r></span></font></div><div><font size=3D"2"><span style=3D"font-family:aria=
l,helvetica,sans-serif">Endpoints I would like to test include:<br></span><=
/font><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom=
:0pt" id=3D"docs-internal-guid-1fad767d-8992-5f4f-2af3-4b5bbf41c9d0"><font =
size=3D"2"><span style=3D"font-family:arial,helvetica,sans-serif"><span sty=
le=3D"color:rgb(0,0,0);background-color:transparent;font-weight:400;font-st=
yle:normal;font-variant:normal;text-decoration:none;vertical-align:baseline=
"><a href=3D"https://live.blockcypher.com/btc-testnet/pushtx/">https://live=
.blockcypher.com/btc-testnet/pushtx/</a></span></span></font></p><p dir=3D"=
ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><font size=
=3D"2"><span style=3D"font-family:arial,helvetica,sans-serif"><span style=
=3D"color:rgb(0,0,0);background-color:transparent;font-weight:400;font-styl=
e:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">=
<a href=3D"https://insight.bitpay.com/tx/send">https://insight.bitpay.com/t=
x/send</a></span></span></font></p><p dir=3D"ltr" style=3D"line-height:1.38=
;margin-top:0pt;margin-bottom:0pt"><font size=3D"2"><span style=3D"font-fam=
ily:arial,helvetica,sans-serif"><span style=3D"color:rgb(0,0,0);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;tex=
t-decoration:none;vertical-align:baseline"><a href=3D"https://blockchain.in=
fo/pushtx">https://blockchain.info/pushtx</a></span></span></font></p><p di=
r=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><font=
 size=3D"2"><span style=3D"font-family:arial,helvetica,sans-serif"><a href=
=3D"https://coinb.in/#broadcast" style=3D"text-decoration:none"><span style=
=3D"color:rgb(17,85,204);background-color:transparent;font-weight:400;font-=
style:normal;font-variant:normal;text-decoration:underline;vertical-align:b=
aseline">https://coinb.in/#broadcast</span></a></span></font></p><p dir=3D"=
ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><font size=
=3D"2"><span style=3D"font-family:arial,helvetica,sans-serif"><span style=
=3D"color:rgb(0,0,0);background-color:transparent;font-weight:400;font-styl=
e:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">=
<a href=3D"https://btc.blockr.io/tx/push">https://btc.blockr.io/tx/push</a>=
</span></span></font></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-to=
p:0pt;margin-bottom:0pt"><font size=3D"2"><span style=3D"font-family:arial,=
helvetica,sans-serif"><span style=3D"color:rgb(0,0,0);background-color:tran=
sparent;font-weight:400;font-style:normal;font-variant:normal;text-decorati=
on:none;vertical-align:baseline"><a href=3D"https://chain.localbitcoins.com=
/tx/send">https://chain.localbitcoins.com/tx/send</a></span></span></font><=
/p><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0p=
t"><br><font size=3D"2"><span style=3D"font-family:arial,helvetica,sans-ser=
if"></span></font></p><p style=3D"line-height:1.38;margin-top:0pt;margin-bo=
ttom:0pt"><font size=3D"2"><span style=3D"font-family:arial,helvetica,sans-=
serif">The fuzzer should be able to send random data, invalid characters, e=
tc. but also fuzz particular aspects of the transaction format such as malf=
ormed P2SH and P2PKH transactions, fields such as lock time, size, # inputs=
, version number, vin size, etc. It should also be able to fuzz a variety o=
f valid and invalid script formats using odd op codes, changing the order o=
f op codes, etc.</span></font></p><p style=3D"line-height:1.38;margin-top:0=
pt;margin-bottom:0pt"><br><font size=3D"2"><span style=3D"font-family:arial=
,helvetica,sans-serif"></span></font></p><p style=3D"line-height:1.38;margi=
n-top:0pt;margin-bottom:0pt"><font size=3D"2"><span style=3D"font-family:ar=
ial,helvetica,sans-serif">If anyone has recommendations about how such a fu=
zzer should be structured, please let me know.</span></font></p><p style=3D=
"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><br><font size=3D"2"><s=
pan style=3D"font-family:arial,helvetica,sans-serif"></span></font></p><p s=
tyle=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><font size=3D"2"=
><span style=3D"font-family:arial,helvetica,sans-serif">Finally, if you are=
 interested in collaborating, please contact me via private message.</span>=
</font></p><p style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><=
br><font size=3D"2"><span style=3D"font-family:arial,helvetica,sans-serif">=
</span></font></p><p style=3D"line-height:1.38;margin-top:0pt;margin-bottom=
:0pt"><font size=3D"2">Thanks!</font></p><p style=3D"line-height:1.38;margi=
n-top:0pt;margin-bottom:0pt"><font size=3D"2">Kristov</font><br></p><p styl=
e=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><font size=3D"2"><s=
pan style=3D"font-family:arial,helvetica,sans-serif"></span></font></p><p d=
ir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><fon=
t size=3D"2"><span style=3D"font-family:arial,helvetica,sans-serif"><span s=
tyle=3D"color:rgb(0,0,0);background-color:transparent;font-weight:400;font-=
style:normal;font-variant:normal;text-decoration:none;vertical-align:baseli=
ne"></span></span></font></p><font size=3D"2"><span style=3D"font-family:ar=
ial,helvetica,sans-serif"></span></font></div></div>

--047d7b339b21c818b9051eb18287--