2018-11-10 18:19:00 +01:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width" >
< title > Why Wright's proof is a fake | Caught in the Net< / title >
2018-11-10 18:32:04 +01:00
< link rel = "stylesheet" href = "../../../../../assets/blog/fonts/opensans.css" >
< link href = "../../../../../assets/blog/css/normalize.css" rel = "stylesheet" type = "text/css" >
< link href = "../../../../../assets/blog/css/cayman.css" rel = "stylesheet" type = "text/css" >
2018-11-10 18:19:00 +01:00
< meta name = "theme-color" content = "#5670d4" >
< meta name = "generator" content = "Nikola (getnikola.com)" >
< link rel = "alternate" type = "application/rss+xml" title = "RSS" hreflang = "en" href = "../../../../../rss.xml" >
< link rel = "canonical" href = "francescomecca.eu/blog/2016/5/3/satoshisignature/" >
< meta name = "author" content = "Francesco Mecca" >
< link rel = "prev" href = "../../../4/17/kpd-player/" title = "Kyuss Music Player" type = "text/html" >
< link rel = "next" href = "../../15/genetic-alg/" title = "Interpolation using a genetic algorithm" type = "text/html" >
< meta property = "og:site_name" content = "Caught in the Net" >
< meta property = "og:title" content = "Why Wright's proof is a fake" >
< meta property = "og:url" content = "francescomecca.eu/blog/2016/5/3/satoshisignature/" >
< meta property = "og:description" content = "I explained in my previous post ( 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">
< meta property = "og:type" content = "article" >
< meta property = "article:published_time" content = "2016-05-03T00:00:00Z" >
< meta property = "article:tag" content = "Bitcoin" >
< meta property = "article:tag" content = "PesceWanda" >
< meta property = "article:tag" content = "satoshi nakamoto scam" >
< meta property = "article:tag" content = "scam" >
< meta property = "article:tag" content = "wright" >
< / head >
< body >
< div id = "container" >
< section class = "page-header" > < h1 class = "project-name" >
Caught in the Net
< / h1 >
< h2 class = "project-tagline" > La rete ti cattura ma libera il pensiero< / h2 >
< a class = "btn" href = "../../../../../" > Home< / a >
< a class = "btn" href = "../../../../../pages/about/" > About me< / a >
< a class = "btn" href = "../../../../../pages/contattami/" > Contact me< / a >
< a class = "btn" href = "../../../../../archiveall.html" > Archive< / a >
< a class = "btn" href = "../../../../../rss.xml" > RSS< / a >
< a class = "btn" href = "http://francescomecca.eu/git/pesceWanda" > Personal Git< / a >
< a class = "btn" href = "https://github.com/FraMecca" > Github< / a >
2020-01-29 11:08:46 +01:00
< a class = "btn" href = "https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/cv.pdf" > Curriculum< / a >
2018-11-10 18:19:00 +01:00
< / section > < section class = "main-content" > < div class = "post" >
< header > < h1 class = "post-title" >
< h1 class = "p-name post-title" itemprop = "headline name" > Why Wright's proof is a fake< / h1 >
< / h1 >
< / header > < p class = "dateline post-date" > 03 May 2016< / p >
< / div >
< div class = "e-content entry-content" itemprop = "articleBody text" >
< div >
< 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 >
< pre class = "code literal-block" > < span > < / span > ------------------------- Signature File -------------------------
MEUCIQDBKn1Uly8m0UyzETObUSL4wYdBfd4ejvtoQfVcNCIK4AIgZmMsXNQWHvo6KDd2Tu6euEl1
3VTC3ihl6XUlhcU+fM4=
------------------------- End Signature --------------------------
< / pre >
< 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 >
< pre class = "code literal-block" > < span > < / span > base64 -d < < < 'MEUCIQDBKn1Uly8m0UyzETObUSL4wYdBfd4ejvtoQfVcNCIK4AIgZmMsXNQWHvo6KDd2Tu6euEl13VTC3ihl6XUlhcU+fM4=' | hexdump -C| cut -b 11-60| tr -d ' \n'
3045022100c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce
< / pre >
< 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 >
< pre class = "code literal-block" > < span > < / span > 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%..> |.|
< / pre >
< ul >
< li > cut -b 11-60 displays only the characters from column 11 to 60:< / li >
< / ul >
< pre class = "code literal-block" > < span > < / span > 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
< / pre >
< ul >
< 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 >
< / ul >
< pre class = "code literal-block" > < span > < / span > 3045022100c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce
< / pre >
< p > If you noticed, there is also another cleartext string at the beginning of Wright's post:< / p >
< pre class = "code literal-block" > < span > < / span > $ base64 -d < span class = "o" > < < < < / span > < span class = "s1" > 'IFdyaWdodCwgaXQgaXMgbm90IHRoZSBzYW1lIGFzIGlmIEkgc2lnbiBDcmFpZyBXcmlnaHQsIFNhdG9zaGkuCgo='< / span >
Wright, it is not the same as < span class = "k" > if< / span > I sign Craig Wright, Satoshi.
< / pre >
< 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< / p >
< pre class = "code literal-block" > < span > < / span > 3045022100c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce
< / pre >
< p > is contained in:< / p >
< pre class = "code literal-block" > < span > < / span > "script":"483045022100c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce01"
< / pre >
< p > 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 >
< h3 > So, is it a fake?< / h3 >
< 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 >
< p > < img alt = 'Wright "signs" the blockchain' src = "../../../../../wp-content/uploads/2016/satosh.jpg" > < / p >
< / div >
< / div >
< aside class = "postpromonav" > < nav > < h4 > Categories< / h4 >
< ul itemprop = "keywords" class = "tags" >
< li > < a class = "tag p-category" href = "../../../../../categories/bitcoin/" rel = "tag" > Bitcoin< / a > < / li >
< li > < a class = "tag p-category" href = "../../../../../categories/pescewanda/" rel = "tag" > PesceWanda< / a > < / li >
< li > < a class = "tag p-category" href = "../../../../../categories/satoshi-nakamoto-scam/" rel = "tag" > satoshi nakamoto scam< / a > < / li >
< li > < a class = "tag p-category" href = "../../../../../categories/scam/" rel = "tag" > scam< / a > < / li >
< li > < a class = "tag p-category" href = "../../../../../categories/wright/" rel = "tag" > wright< / a > < / li >
< / ul > < / nav > < / aside > < p class = "sourceline" > < a href = "index.md" class = "sourcelink" > Source< / a > < / p >
< footer class = "site-footer" id = "footer" > < span > CC BY-SA 4.0 International.< br > < / span >
2018-11-10 18:19:11 +01:00
< span class = "site-footer-credits" > < a href = "https://getnikola.com" > Nikola< / a > , < a href = "https://github.com/jasonlong/cayman-theme" > Cayman theme< / a > .< / span >
2018-11-10 18:19:00 +01:00
< / footer > < / section >
< / div >
< / body >
< / html >