2016-05-03 23:38:08 +02:00
<!DOCTYPE html>
< html lang = "en-us" >
< head >
< link href = "http://gmpg.org/xfn/11" rel = "profile" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta http-equiv = "content-type" content = "text/html; charset=utf-8" >
<!-- Enable responsiveness on mobile devices -->
< meta name = "viewport" content = "width=device-width, initial-scale=1.0, maximum-scale=1" >
< title >
Why Wright's proof is a fake · Caught in the Net
< / title >
<!-- CSS -->
< link rel = "stylesheet" href = "/public/css/poole.css" >
< link rel = "stylesheet" href = "/public/css/syntax.css" >
< link rel = "stylesheet" href = "/public/css/hyde.css" >
<!-- Icons -->
< link rel = "apple-touch-icon-precomposed" sizes = "144x144" href = "/public/apple-touch-icon-144-precomposed.png" >
< link rel = "shortcut icon" href = "/public/favicon.ico" >
<!-- RSS -->
< link rel = "alternate" type = "application/rss+xml" title = "RSS" href = "/atom.xml" >
< / head >
< body class = "theme-base-09" >
< div class = "sidebar" >
< div class = "container sidebar-sticky" >
< div class = "sidebar-about" >
< h1 >
< a href = "/" >
Caught in the Net
< / a >
< / h1 >
< p class = "lead" > < / p >
< / div >
< nav class = "sidebar-nav" >
< a class = "sidebar-nav-item" href = "/" > Home< / a >
< a class = "sidebar-nav-item" href = "/about/" > About< / a >
< a class = "sidebar-nav-item" href = "/archive/" > Archive< / a >
< a class = "sidebar-nav-item" href = "/contattami/" > Contattami< / a >
< a class = "sidebar-nav-item" href = "/atom.xml" > RSS< / a >
< a class = "sidebar-nav-item" href = "http://francescomecca.eu:3000" > Personal Git< / a >
< a cleass = "sidebar-nav-item" href = "https://github.com/s211897-studentipolito" > github< / a >
< span class = "sidebar-nav-item" href = "" > Powered by Jekyll and Hyde< / span >
< / nav >
< p > © 2016. CC BY-SA 4.0 International < / p >
< / div >
< / div >
< h3 class = "masthead-title" >
< a href = "/" title = "Home" > Caught in the Net< / a >
< / h3 >
< div class = "content container" >
< div class = "post" >
< h1 class = "post-title" > Why Wright's proof is a fake< / h1 >
< span class = "post-date" > 03 May 2016< / span >
< p > I explained in my previous < a href = "http://francescomecca.eu/pescewanda/2016/04/17/wright-nakamoto/" > post< / a > (in italian) that the signature that Wright provided as a public proof is in fact invalid.
I want to explain briefly how you could check this claim.
The key in Wright' s < a href = "http://www.drcraigwright.net/jean-paul-sartre-signing-significance/" > post< / a > is this:< / p >
< div class = "highlight" > < pre > < code class = "language-" data-lang = "" > ------------------------- Signature File -------------------------
MEUCIQDBKn1Uly8m0UyzETObUSL4wYdBfd4ejvtoQfVcNCIK4AIgZmMsXNQWHvo6KDd2Tu6euEl1
3VTC3ihl6XUlhcU+fM4=
------------------------- End Signature --------------------------
< / code > < / pre > < / div >
< p > Now we can use some bash utilities:< / p >
< ul >
< li > base64, that translates encoded ASCII text;< / li >
< li > hexdump, that displays hexadecimal contents from the input;< / li >
< li > cut, used to remove the binary part of the input;< / li >
< li > tr, used to delete spaces and carriage return from the input;< / li >
< / ul >
< div class = "highlight" > < pre > < code class = "language-" data-lang = "" > base64 -d < < < 'MEUCIQDBKn1Uly8m0UyzETObUSL4wYdBfd4ejvtoQfVcNCIK4AIgZmMsXNQWHvo6KDd2Tu6euEl13VTC3ihl6XUlhcU+fM4=' | hexdump -C| cut -b 11-60| tr -d ' \n'
3045022100c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce
< / code > < / pre > < / div >
< p > Let' s analyze the command one by one:< / p >
< ul >
< li > < code > base64 -d< / code > decodes the redirected string, the output is some gibberish characters so I won' t display them here;< / li >
< li > < code > hexdump -C< / code > is used with a pipe to convert to hexadecimal:< / li >
< / ul >
< div class = "highlight" > < pre > < code class = "language-" data-lang = "" > 00000000 30 45 02 21 00 c1 2a 7d 54 97 2f 26 d1 4c b3 11 |0E.!..*}T./& .L..|
00000010 33 9b 51 22 f8 c1 87 41 7d de 1e 8e fb 68 41 f5 |3.Q"...A}....hA.|
00000020 5c 34 22 0a e0 02 20 66 63 2c 5c d4 16 1e fa 3a |\4"... fc,\....:|
00000030 28 37 76 4e ee 9e b8 49 75 dd 54 c2 de 28 65 e9 |(7vN...Iu.T..(e.|
00000040 75 25 85 c5 3e 7c ce |u%..> |.|
< / code > < / pre > < / div >
< ul >
2016-05-03 23:41:24 +02:00
< li > cut -b 11-60 displays only the characters from column 11 to 60:< / li >
2016-05-03 23:38:08 +02:00
< / ul >
< div class = "highlight" > < pre > < code class = "language-" data-lang = "" > 30 45 02 21 00 c1 2a 7d 54 97 2f 26 d1 4c b3 11
33 9b 51 22 f8 c1 87 41 7d de 1e 8e fb 68 41 f5
5c 34 22 0a e0 02 20 66 63 2c 5c d4 16 1e fa 3a
28 37 76 4e ee 9e b8 49 75 dd 54 c2 de 28 65 e9
75 25 85 c5 3e 7c ce
< / code > < / pre > < / div >
< ul >
2016-05-03 23:41:24 +02:00
< li > < code > tr -d ' \n' < / code > is used to delete spaces and carriage returns from the output so that is shown in one line and it gives us the final result:< / li >
2016-05-03 23:38:08 +02:00
< / ul >
< div class = "highlight" > < pre > < code class = "language-" data-lang = "" > 3045022100c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce
< / code > < / pre > < / div >
2016-05-03 23:41:24 +02:00
< p > If you noticed, there is also another cleartext string at the beginning of Wright' s post:< / p >
2016-05-03 23:38:08 +02:00
< div class = "highlight" > < pre > < code class = "language-" data-lang = "" > $ base64 -d < < < 'IFdyaWdodCwgaXQgaXMgbm90IHRoZSBzYW1lIGFzIGlmIEkgc2lnbiBDcmFpZyBXcmlnaHQsIFNhdG9zaGkuCgo='
Wright, it is not the same as if I sign Craig Wright, Satoshi.
< / code > < / pre > < / div >
< p > Now let' s head to blockchain.info.
Blockchain.info has a little < a href = "https://blockchain.info/decode-tx" > utility< / a > to get hexadecimal informations out of a transaction on the blockchain, so let' s use it to get the related info about this transaction:< / p >
< p > < a href = "https://blockchain.info/tx/828ef3b079f9c23829c56fe86e85b4a69d9e06e5b54ea597eef5fb3ffef509fe" > tx/828ef3b079f9c23829c56fe86e85b4a69d9e06e5b54ea597eef5fb3ffef509fe< / a >
< a href = "https://blockchain.info/tx/828ef3b079f9c23829c56fe86e85b4a69d9e06e5b54ea597eef5fb3ffef509fe?format=hex" > tx/828ef3b079f9... in hexadecimal< / a > < / p >
< p > As you can see the entire output of the first bash command, that is
< code >
3045022100c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce
< / code >
is contained in:
< code >
" script" :" 483045022100c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce01"
< / code >
except for the 48 at the beginning and the 01 at the end.< / p >
< p > That is a signature hash:
this < a href = "https://en.bitcoin.it/wiki/List_of_address_prefixes" > page< / a > explains that the 48 is just a decimal prefix given to uncompressed transactions, and the 01 at the end is just a SIGHASH_ALL < a href = "https://bitcoin.org/en/glossary/signature-hash" > code< / a > that flags the end of the signature.< / p >
< h2 > So, is it a fake?< / h2 >
< p > Yes, indeed.
At the end, I ask, why would you choose anything else than the easiest and most conclusive way to prove something?< / p >
< / div >
< div class = "related" >
< h2 > Related Posts< / h2 >
< ul class = "related-posts" >
< li >
< h3 >
2016-05-16 11:52:48 +02:00
< a href = "/pescewanda/2016/05/16/lifehacks2/" >
Lifehacks (2)
< small > 16 May 2016< / small >
2016-05-03 23:38:08 +02:00
< / a >
< / h3 >
< / li >
< li >
< h3 >
2016-05-16 11:52:48 +02:00
< a href = "/pescewanda/2016/05/15/genetic-alg/" >
Interpolation using a genetic algorithm
< small > 15 May 2016< / small >
2016-05-03 23:38:08 +02:00
< / a >
< / h3 >
< / li >
< li >
< h3 >
2016-05-16 11:52:48 +02:00
< a href = "/pescewanda/2016/04/17/wright-nakamoto/" >
#JeSuisSatoshiNakamoto
2016-05-16 11:33:43 +02:00
< small > 17 Apr 2016< / small >
2016-05-03 23:38:08 +02:00
< / a >
< / h3 >
< / li >
< / ul >
< / div >
< / div >
< / body >
< / html >