"actus non facit reum nisi mens sit rea"
Just under 7 days ago I posted the following SHA256 hash to both the BSV blockchain and BAB blockchain.
I actually posted at 2019-06-16 20:00:00 but it took some minutes (as you'll see I predicted) to appear in the next block of the aforementioned blockchains, thus remaining a permanent immutable record.
memo.sv post Block Time: 2019-06-16 20:38:22 Block Number: 587160
memo.cash post Block Time: 2019-06-16 20:29:44 Block Number: 587318
This is verifiable proof that I held the plaintext to make this hash on that date. The hash as you can see is which is a SHA256:-
52f42a5a4c073a2a14ed76e5a1d356c4586e6f2dea2a91d9a3dcf5f57799442e
Just after posting to the blockchain this hash, I sent private messages to 3 members of this subreddit with the following text, and thus this is the reason why I am now forced to reveal the hash, as I expect them to take my words seriously.
It doesn't matter in the grand scheme of things (as all I did is cryptographically proven) that I did this, however I wanted to so I would be forced to reveal the plaintext within 7 days. I won't name them, but if they want to confirm that they did indeed receive this message then I'll leave that up to them.
Hi guys. Look I am doing something kinda funny here, but for now needs to be secret. Here is a SHA256 hash, write it down!
"52f42a5a4c073a2a14ed76e5a1d356c4586e6f2dea2a91d9a3dcf5f57799442e"
If I don't reveal what plaintext is the source of this hash within the next 7 days then it means I am a fraud, and I am not to be trusted and I request I am permabanned from the subreddit, and all communications with me should cease.
This hash has been published on both the BSV & BAB blockchains as a memo message, as proof it wasn't created after the time it appears in the blockchains, and proof of immutability of content.
You can see it here (BSV):- https://memo.sv/profile/1gr5whAEV4ffA6df71JTdQ7gSNQWTkgnm Or here (BAB):- https://memo.cash/profile/1gr5whAEV4ffA6df71JTdQ7gSNQWTkgnm
And timestamp will be a few seconds or minutes after timestamp below, as and when message gets confirmed in next block on each respective chain. PoW!
If I happen to be banned from reddit in the meantime don't worry as hash reveal will take place on these memo channels within 7 days.
If this works you're all gonna LOL real hard cause it will cause one big massive social media shitstorm! And we all know the only way to destroy a PoSM shitcoin like BAB is with social media!
Cheers fellas! jim-btc 2019-06-16T20:00:00Z End of message.
I actually sent it to them as an image
This is all those 3 members have seen, and all 3 have confirmed, one with "I'll be watching" another with a "LOL" type response and another with a rather concerned "what's this?" type response. I gave them no further information - so now all reading this post know exactly the same about this all as they do - which is basically nothing, other than this hash 52f42a5a4c073a2a14ed76e5a1d356c4586e6f2dea2a91d9a3dcf5f57799442e must be something interesting.
So what was the plaintext behind this hash? What does it have to do with Salty Roger?
Well I'm gonna take some inspiration from Dr. Craig S. Wright here to add some tension... I still have a few hours to reveal the plain-text, which is in fact a computer program. We shall all see.
UPDATE
OK here it is: https://gofile.io/?c=FsGtJD
Go check that SHA256 hash.
Here's the code:
#!/usr/bin/env python # bab-destroy.py # Should work in Python2.7 & Python 3.x # Author: /u/jim-btc # If you change any character in this code (including newlines so careful # Windows users - it will fail to reproduce the excercise! # This is BAB Destroy. Some code designed to make Salty Roger Ver, head of # Bitcoin Cash (BAB) look very stupid and get owned by cryptohashes once again. # # The BABies (that's users of said coin) seem to spout the mantra "Code is Law" # so I thought what better way to own them all than by using some code to do # it! # Purpose of this program is to generate a fake (unspendable) Bitcoin address # and to hash various messages. Hash for this program (hence the entire process # in the pwnage of Salty Roger will be published on both the Bitcoin Cash (BAB) # and Bitcoin (BSV) blockchains as "proof-of-LOL" so what I am doing here can # easily be verified as non-illegal and non-fraudulent *after the event* by # simply running this code and verifying all messages/hashes produced - to # replay the sequence of events as it were. # # A non-spendable address is used to demonstrate even if Roger was dumb enough # to send BTC that it is the equivalent of burning money - i.e. nobody can # benefit. Also for any legal eagles reading allow me introduce some Latin: # "actus non facit reum nisi mens sit rea". Interesting case study to be made # perhaps regarding blockchains as immutable evidence. # The idea is the following happens:- # # 1) Hash of this program code is published on BAB & BSV blockchains to proove # timestamp that this effort was started, using memo.cash / memo.sv # # 2) A few community memebers from Bitcoin (BSV) subreddit are sent a hashed # message stating that there is a hash on BAB/BSV blockchain and if I don't # reveal how to make it within 7 days then I am a fraud, a scammer and should # be removed from the community - this is to ensure nobody can claim the # argument "/u/jim-btc was just testing to see if Roger would pay" and to # ensure revealing of this code regardless of the outcome. # # 3) Roger recieves a message from me basically stating "Pay me 1BTC and I will # stop attacking your coin and community and work for you attacking BSV". # # 4) Roger publishes this message on /r/btc (or /r/npc as it's better called) # and tries to state that /u/jim-btc is a scammer, and possibly that this is # a scam/community atack by the entire community of BSV. The idea is that # Roger basically publisizes this for maximum effect so when the truth is # revealed his own publicity owns him. An alternative (but very unlikely) is # that Roger sends 1BTC to the address - where I then publish this entire # message chain to prove (once again) that Roger is an idiot and has no # problem employing sockpuppets for nefarious purposes and has just burned 1BTC # for his very silly efforts! Remember if he sends any funds there - I cannot # spend it as you see that the public address has no corresponding private key. # (it's a fake address). # # 5) Bonus LOLpoints will be rewarded if this news makes it to Roger's Twitter # account and/or his news.bitcoin.com website as some sort of proof that # "criminal blackmailers are attempting to destroy BAB" or the now famous # classic quote they use "It's an attack" as they keep needing to invent a # common external enemy like Orwell's 1984 as some way for cohesion in their # destroyed and rotten "community". It is expected that as Salty Roger loves to # play victim he shall play victim to maximum effect. Let's hope so! # # 6) Program code is revealed. Orignal hash on BAB/BSV blockchains is shown as # matching the hash of the program code. Roger looks dumb, all BABies are # awakened as to just how easy it is to attack a PoSM (Proof of Social Media) # shitcoin such as Bitcoin Cash (BAB). The crypto world laughs, lawyers debate # the legality of this all - everyone is confused but most agree Roger has once # again proved he knows nothing about crypto and is easily spoofed. # # People read this program code and these comments and find out just how bad # things are with BABcoin. They sell the idea of "decentralized development" # when in reality Amaury Sachet (ABC node developer) bans Andrew Stone, LEAD # developer of Bitcoin Unlimited from any meetings. It also encourages BABies # to look at the ideas floating around in the dev community - such as spending # funding money on developer get-togethers when clearly the fundraising they # are doing is supposed to be paying for developers to develop. People are # encouraged to look into the transparency of all fundraising and realise that # this is not a sustainable model for a anti-business coin such as BAB. # # Once again I'd ask people to seriously debate the difference and the # narrative:- # # "Satosh added checkpoints to Bitcoins source code - checkpoints are OK" # -- the BAB narrative # # The reality:- # These checkpoints were added days/weeks/months after the blocks were mined # for pretty obvious reasons. # Amaury Sachet (shitlord dictator of ABC) added them within ~10 minutes of # blocks being mined and colluded with exchanges to use this special software # within minutes. That is not fair competition, this is not PoW. That is a PoSM # shitcoin and shall be destroyed - only way to do it is with social media! # # This program is dedicated to unwriter and Craig S. Wright (Satoshi Nakamoto). # # Read unwriters phenomenal message to all devs:- # # https://medium.com/@_unwriter/the-resolution-of-the-bitcoin # -cash-experiment-52b86d8cd187 # # OK - let's get started... # # These are the only 3 functions we need to import. from binascii import hexlify from hashlib import sha256 from os import path BASE_58_ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' # First let's make a public key based on some text, unless we manage to break # cryptography we will have no way of knowing the private key for this message # thus any coins sent here are effectivley burned (unspendable). # This message will give us fake address 1MCpARZExPsW5EmBMEYj2NoyUxaoWyZt8N BITCOIN_PUBKEY_MESSAGE = b'Roger Ver is an idiot, jim-btc owns him!' MESSAGE_TO_ROGER = '''Hey Roger. You see I am attacking BCH continuously. If you want me to stop (and switch teams and work for you guys attacking BSV) then I will accept the job. I can be paid a salary of 1 BTC to this address to get started:- {} Don\'t try and share this message and slander me cause I will just deny it. I am a lot cleverer than you guys - admit it! Not interested in further communications, except confirmation, and I shall not respond. Payment to the aforementioned address is the acceptance of hiring me - not negotiable. End of message.''' MEMO_SV = 'https://memo.sv/profile/1gr5whAEV4ffA6df71JTdQ7gSNQWTkgnm' MEMO_BAB = 'https://memo.cash/profile/1gr5whAEV4ffA6df71JTdQ7gSNQWTkgnm' MESSAGE_TO_FOLKS = '''Hi guys. Look I am doing something kinda funny here, but for now needs to be secret. Here is a SHA256 hash, write it down! "{}" If I don't reveal what plaintext is the source of this hash within the next 7 days then it means I am a fraud, and I am not to be trusted and I request I am permabanned from the subreddit, and all communications with me should cease. This hash has been published on both the BSV & BAB blockchains as a memo message, as proof it wasn't created after the time it appears in the blockchains, and proof of immutability of content. You can see it here (BSV):- {} Or here (BAB):- {} And timestamp will be a few seconds or minutes after timestamp below, as and when message gets confirmed in next block on each respective chain. PoW! If I happen to be banned from reddit in the meantime don\'t worry as hash reveal will take place on these memo channels within 7 days. If this works you\'re all gonna LOL real hard cause it will cause one big massive social media shitstorm! And we all know the only way to destroy a PoSM shitcoin like BAB is with social media! Cheers fellas! jim-btc 2019-06-16T20:00:00Z End of message.''' SEPERATOR = '*' * 80 WARNING_ADDR = '''WARNING: Hey if you are running this code to prove the hashes, DO NOT SEND ANY BSV/BTC/BAB to the address! I cannot spend it as I don\'t have the private key and it\'s impossible to find it - you will just be burning your crypto!''' def make_bitcoin_address(pubkey_hash): with_network_byte = b'\x00' + pubkey_hash full_checksum = sha256(sha256(with_network_byte).digest()).hexdigest() checksum = full_checksum[:4 * 2] address_hex = hexlify(with_network_byte).decode() + checksum b58_string = '' # Get the number of leading zeros leading_zeros = len(address_hex) - len(address_hex.lstrip('0')) # Convert hex to decimal address_int = int(address_hex, 16) # Append digits to the start of string while address_int > 0: digit = address_int % 58 digit_char = BASE_58_ALPHABET[digit] b58_string = digit_char + b58_string address_int //= 58 # Add '1' for each 2 leading zeros ones = leading_zeros // 2 for one in range(ones): b58_string = '1' + b58_string return b58_string def main(): # We'll use first 160 bits of sha256 of message - doesn't really matter! # as long as we have 160 bits like RIPEMD-160 pubkey_hash = sha256(BITCOIN_PUBKEY_MESSAGE).digest()[:160 // 8] # If you wanna test the function then follow this blog post # https://www.freecodecamp.org/news/how-to-create-a-bitcoin-wallet-address # -from-a-private-key-eca3ddd9c05f/ # and hardcode it as:- # pubkey_hash = b'E23`\n\x968K\xb8\xd7=@\t\x84\x11z\xc8M~\x8b' # and you will get result '17JsmEygbbEUEpvt4PFtYaTeSqfb9ki1F1' as per blog fake_bitcoin_address = make_bitcoin_address(pubkey_hash) source_code = path.abspath(path.realpath(__file__)) hash_of_this_source_code = sha256() # We'll hash this source code. Hashing this is proof of the entire # operation! and allows anybody to see what was done, when, and why. with open(source_code, 'rb') as _: hash_of_this_source_code.update(_.read()) source_hash = hash_of_this_source_code.hexdigest() # We now input the hashes etc... into the messages, print them on screen # for easy copy pasta! message_to_folks_with_hash = MESSAGE_TO_FOLKS.format(source_hash, MEMO_SV, MEMO_BAB) message_to_roger = MESSAGE_TO_ROGER.format(fake_bitcoin_address) print(SEPERATOR) print(message_to_folks_with_hash) print(SEPERATOR) print(message_to_roger) print(SEPERATOR) print(WARNING_ADDR) if __name__ == "__main__": main()
This is what output looks like if you run it (you'll see it hashes itself but you can do sha256sum on the program file if you want)
******************************************************************************** Hi guys. Look I am doing something kinda funny here, but for now needs to be secret. Here is a SHA256 hash, write it down! "52f42a5a4c073a2a14ed76e5a1d356c4586e6f2dea2a91d9a3dcf5f57799442e" If I don't reveal what plaintext is the source of this hash within the next 7 days then it means I am a fraud, and I am not to be trusted and I request I am permabanned from the subreddit, and all communications with me should cease. This hash has been published on both the BSV & BAB blockchains as a memo message, as proof it wasn't created after the time it appears in the blockchains, and proof of immutability of content. You can see it here (BSV):- https://memo.sv/profile/1gr5whAEV4ffA6df71JTdQ7gSNQWTkgnm Or here (BAB):- https://memo.cash/profile/1gr5whAEV4ffA6df71JTdQ7gSNQWTkgnm And timestamp will be a few seconds or minutes after timestamp below, as and when message gets confirmed in next block on each respective chain. PoW! If I happen to be banned from reddit in the meantime don't worry as hash reveal will take place on these memo channels within 7 days. If this works you're all gonna LOL real hard cause it will cause one big massive social media shitstorm! And we all know the only way to destroy a PoSM shitcoin like BAB is with social media! Cheers fellas! jim-btc 2019-06-16T20:00:00Z End of message. ******************************************************************************** Hey Roger. You see I am attacking BCH continuously. If you want me to stop (and switch teams and work for you guys attacking BSV) then I will accept the job. I can be paid a salary of 1 BTC to this address to get started:- 1MCpARZExPsW5EmBMEYj2NoyUxaoWyZt8N Don't try and share this message and slander me cause I will just deny it. I am a lot cleverer than you guys - admit it! Not interested in further communications, except confirmation, and I shall not respond. Payment to the aforementioned address is the acceptance of hiring me - not negotiable. End of message. ******************************************************************************** WARNING: Hey if you are running this code to prove the hashes, DO NOT SEND ANY BSV/BTC/BAB to the address! I cannot spend it as I don't have the private key and it's impossible to find it - you will just be burning your crypto!
Any technical questions / comments feel free to ask below.
No comments:
Post a Comment