Bitcoin (BTC) addresses - what do BTC address look like ...

Bitcoin vs. Credit Card Transactions: What's the Difference?

Bitcoin vs. Credit Card Transactions: An Overview

Most people have a credit card they can use to pay for things. But some also have bitcoin at their disposal. Which one should people use, and when, to maximize their assets?

Bitcoin Transactions

Satoshi Nakamoto, the inventor of bitcoin, titled his original white paper on the subject "A Peer-to-Peer Electronic Cash System." This description touches on the core differences between bitcoin and credit card transactions.
Bitcoin payments are analogous to wire transfers or cash transactions, where payment is "pushed" directly from one party to another, without going through another financial institution. Payment processing is executed through a private network of computers, and each transaction is recorded in a blockchain, which is public. Bitcoin is based on peer-to-peer technology and relies on the blockchain and the cryptography securing it, without any third-party oversight.
When making a bitcoin transaction, it is not necessary to provide personal identification, such as your name and address.

Credit Card Transactions

By contrast, credit card transactions entail the buyer effectively authorizing the seller to "pull" a payment from their account, passing through financial intermediaries in the process. For example, a typical Visa transaction involves four parties: the merchant, the acquirer (the financial institution that enables payments to the merchant), the issuer (the cardholder's bank), and the individual cardholder.

Key Differences

Bitcoin transactions are made using an anonymous alphanumeric address, that changes with every transaction, and a private key. Payments can also be made on mobile devices by using quick response (QR) codes.
While credits cards are stored physically in a wallet, bitcoin transactions are sent to and from electronic wallets, which can be stored on your computer, smartphone, or in the cloud.
Bitcoin transactions are irreversible and can only be refunded by the receiving party—a key difference from credit card transactions that can be canceled. This means there are no charge-backs for merchants when taking payment via bitcoin. A charge-back is the demand by a credit-card provider for a retailer to cover the loss on a fraudulent or disputed transaction.
Bitcoin merchants also save on credit card fees that can range anywhere from 0.5% to 5%, plus a 20 to 30 cent flat fee for each transaction made. Bitcoin payments can be sent and received at a very low cost or none at all, as bitcoin fees are based on the amount of data sent.
For merchants, the advantages of receiving bitcoin are obvious. Payments made using the virtual currency save substantially on processing fees and eliminate the risk of charge-backs. For shoppers, the advantages of paying with bitcoin include greater simplicity in placing the transaction, user anonymity, no interruptions from intermediaries, and very low transaction fees. (For example, your account being frozen as a result of a fraud alert).
Credit cards offer important beneficial features, such as the ability to borrow money, protection against fraud, reward points, and vastly wider acceptance among merchants. While a few major retailers, including Overstock.com (OSTK) and Newegg, have started to accept bitcoin, most have yet to make it a payment option. However, using credit cards carries the risk of incurring late fees, interest charges, foreign transaction fees, and potentially adverse effects on your credit score.
submitted by FormerSuggestion8 to Bitcoin [link] [comments]

Complete Guide to Exodus Wallet

A multi-currency portfolio that makes the wealth of options its strong point. This Complete Guide to Exodus Wallet will clarify its use.

Exodus, an evocative name to best identify a decentralized wallet complete in every aspect and functionality and equipped with an attractive interface that is never an end in itself. Follow our complete guide to Exodus Wallet step by step and you will learn how to use it right away.
After downloading and installing the desktop version, available for Windows, Mac and Linux operating systems, start the software. On the welcome screen, the first action to be taken will be the activation of the wallet obtained by sending a small amount of crypto.

Complete Guide to Exodus Wallet

Then select Sends Assets to Wallet, choose the Ethereum cryptocurrency, press the Receive button and finally click on the icon with the plus sign to store the alphanumeric address of your wallet to which to send a minimum of 0.025 Ether.

Guide to Exodus Wallet
Let's now proceed by selecting Backup in the left menu to move to the page for creating the wallet access password first and then the passphrase that will uniquely identify it. The first is the classic password protection to prevent other people from accessing the wallet from your PC.

The second will allow you instead to be able to access it from any other installation on other PCs. Write them both in a diary or notebook that must be jealously guarded.

Since this is decentralized software, your wallet is not physically installed on your PC but is located on server hosting (more simply, at a subsequent installation, it will be sufficient to select Restore From Backup and enter the 12-word passphrase to be able to have full access to your wallet).


Finally, you will be "tested" to verify that you have actually written everything on paper.

Complete Guide to Exodus Wallet
For any doubts that you will not be able to solve by means of this complete guide to Exodus Wallet or if you want more information, a well-stocked Help Desk section is available. To access it, simply select Help in the main menu on the left. You are shown the social links, the currently installed version and a very long FAQ section. We guarantee that it will certainly come in handy.
A Wallet totally compatible with the main crypto that offers full support to the erc-20 standard.
Just above Help is the Settings item that allows you to quickly select the crypto you want to view in your Portfolio and in your Wallet - regardless of whether or not there are funds - or to choose the traditional reference currency or change the skin of the interface.

ClaimBits - Earn FREE Bitcoins
Let's start now with the description of the last items on the left menu. As soon as you start Exodus you will immediately enter the Portfolio. A graphical representation will display all the cryptocurrencies in your possession while scrolling down the page you will see listed in greater detail and information all the cryptocurrencies previously selected in Settings.

Complete Guide to Exodus Wallet
With the entry Wallet we finally get to the heart of Exodus. By selecting it, another vertical bar will appear with the cryptocurrencies on which funds are deposited listed at the beginning and then all the others selected in Settings. At the bottom of the bar, you can quickly add more by pressing the Add More button, practically a link to the Settings section we have previously talked about.

Guide to Exodus Wallet
At the top right you will have noticed 3 dots positioned vertically. By clicking on them you will open a drop-down menu that will allow you, among other things, to download the private key of the wallet to your PC (we will explain its use later) and all the transactions made with the related crypto. The same ones you will notice as you scroll down the page.



The Send button is used to transfer cryptocurrencies to another wallet or exchange. After selecting it, you will need to enter the destination address and the quantity to be sent. The cost of the transaction will also be calculated in real time.

Complete Guide to Exodus Wallet

To deposit funds of the desired crypto on Exodus, simply press the Receive button, copy the wallet address by selecting the icon with the + sign and paste it into the wallet from which you want to withdraw the funds. The other icons allow you to print the address, send it via email or view its details on blockstream.info.

Guide to Exodus Wallet
The icon with the opposite arrows will send you directly to the Exodus internal exchange.
Let's take an exchange from Bitcoin to Ethereum for example. On this screen, you are offered 3 shortcut keys: All (move everything), Half (half of the availability), Min (minimum transferable amount). Alternatively, you can manually enter the amount of Bitcoins you intend to exchange with Ethereum. You will be shown on the left the amount you are about to transfer while on the right the total you will receive in Ethereum net of commissions.

All cryptocurrency amounts will always show their equivalent in the traditional currency selected at the beginning of the guide. Once ready, press Exchange and the operation will be performed in real time. Also in this screen you will have the opportunity to see the history of all transactions by selecting Order History at the bottom right.


All transfers made on the exchange always have a variable percentage commission which differs in relation to the sending cryptocurrency.
It is not over here, however. Our Complete Guide to Exodus Wallet will also reveal some hidden options.

Exodus offers an additional menu, which initially remains hidden, and appears by pressing CTRL + SHIFT + D. What interests us is the Developer item which allows you to perform many useful actions: choose from several variants on how to recover your wallet as well as enable notifications, start the Debug Mode and change the price source.


Here too, following the path Developer → Assets → ”cryptocurrency name” → view private keys, you can see the private key of the selected crypto and immediately save it in a file on a secure medium.

Guide to Exodus Wallet

Thanks to this alphanumeric code you can also access your wallet from secure sites such as MyEtherwallet.com.


Since Exodus is a wallet compatible with the Ethereum erc-20 standard, you can use it to transfer the tokens based on the Ethereum blockchain obtained through Airdrops, Bounties and other methods. In our Guide to Airdrops under the heading "Knowing how Etherscan.io and MyEtherwallet.com work" the whole procedure to be followed is explained in detail.


Procedure necessary for all those cryptocurrencies that are not listed in the Assets under the Settings item we wrote about at the beginning of this guide.
And with that, that's all.


If you liked this guide and would like to contribute with a donation:

Bitcoin: 1Ld9b165ZYHZcY9eUQmL9UjwzcphRE5S8Z
Ethereum: 0x8D7E456A11f4D9bB9e6683A5ac52e7DB79DBbEE7
Litecoin: LamSRc1jmwgx5xwDgzZNoXYd6ENczUZViK
Stellar: GBLDIRIQWRZCN5IXPIKYFQOE46OG2SI7AFVWFSLAHK52MVYDGVJ6IXGI
Ripple: rUb8v4wbGWYrtXzUpj7TxCFfUWgfvym9xf

DOWNLOAD: https://www.exodus.io/download/

OFFICIAL SITE: https://www.exodus.io/

By: cryptoall.it Telegram Channel: t.me/giulo75 Netbox Browser: https://netbox.global/PZn5A
submitted by Giulo75 to u/Giulo75 [link] [comments]

Blockchain & mining - my attempt to explain it

There are so many people invested in crypto now, but there are still quite a lot of people who don’t actually know what a “Blockchain” really is, nor do they truly understand its usefulness.
 
People hear these phrases like “digital ledger secured using cryptography” and think it sounds cool, but what exactly does that mean?
 
There are literally tons of informational resources on the net, but most of them fly straight over the heads of the average Joe. I thought it would be worth breaking down the concept of “Blockchain” to make it easy for anyone to understand.
 
So first and foremost, what is a “block” in a Blockchain? Well a block is a bunch of transactions grouped together. When I say “transactions”, I am referring to a ledger or list of transactional information.
 
Let me offer an example of a “transaction”:
 
Joe has $1000
Joe’s bank account is 1234-5678 @ HSBC
Joe sends Sarah $200
Sarah has $2000
Sarah’s bank account is 8765-4321 @ Bank of China
The time of the transaction is 12:47pm 20th Feb 2018
Joe’s account will now be $800
Sarah’s bank account is $2200
 
This is a simple example, but fundamentally this short list of information pertaining to a single transaction. This transferral of money ($200 from one person to another) is added to a “block” alongside a whole bunch of other transactions from other people.
 
Let’s use Bitcoin for the remaining examples. Each “block” on the bitcoin blockchain is 1mb in length. So what exactly is 1mb? Well 1mb or “mega-byte”, represents one million bytes of information. Now one “byte” of information represents a single ascii character. Every single character I am typing right now represents one byte. So “Hello” (without the quotations) represents 5 bytes of information.
 
So if we go back to my example transaction above, the number of bytes that this transaction took up is 246 bytes. This is just a fraction of 1mb, so you can see a lot of transactions of this size could be stored in a 1mb block.
 
OK so hopefully you understand what a “block” at least represents. So the next question would be, how do you ensure this “block” of information has not been tampered with? After all, it would be utterly disastrous if someone were to access a block of information and change some of the information. Imagine changing the destination bank address, or the amounts involved!
 
In order to secure a “block” we use cryptography. Specifically we use something called a “hash”. A hash essentially takes a bunch of data, applies a fixed set of mathematical operations to the data, and the eventual output is a “hash” of the data.
 
Let me give you an example of an ultra-basic “hash algorithm” -
 
Step 1. Take a number and double it
Step 2. Add 6
Step 3. Divide it by 2
 
That’s it…. A basic hash algorithm!
 
Let’s take a couple of numbers and apply the hash algorithm to the numbers.
 
First we’ll start with 20
 
Step 1. 20 x 2 = 40
Step 2. 40 + 6 = 46
Step 3. 46 / 2 = 23
 
So in this example, the “hash” of the original number (20) is 23
 
Let’s apply it to another number….This time 22
 
Step 1. 22 x 2 = 44 Step 2. 44 + 6 = 50 Step 3. 50 / 2 = 25
 
So the “hash” of the original number (22) is now 25
 
Now any different number you try as your input will always produce a different number as your hashed output. However, if you apply my hashing algorithm to the number 20, the “hash” will always be 23, and if you apply it to the number 22, the “hash” will always be 25.
 
If we take the numbers I used in the above examples (20 & 22) as “inputs”, then the “output” (the hash) will always produce the same result, but any changes to the input will always affect the output.
 
Ok so that’s applying a hash to a number…..what about text? How do we “hash” a string of text?
 
Well that’s where something called the “Ascii Table” comes in. The Ascii Table offers a unique code for every alphanumeric character. This allows us to convert a string of text into a number. Let’s take the word “Hello” (without the quotes) and convert it to a number using the Ascii table.
 
Ascii Table : https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html
 
Capital H is represented as 72
Lower case e is represented as 101
Lower case l is represented as 108
Lower case l is represented as 108
Lower case o is represented as 111
 
If we concatenate these numbers we’d get 72101108108101
 
So we have a number…..lets apply my basic hashing algorithm to this number
 
Step 1. 72101108108101 x 2 = 144202216216202
Step 2. 144202216216202 + 6 = 144202216216208
Step 3. 144202216216208 / 2 = 72101108108104
 
So in this example, the “hash” of the word Hello is 72101108108104
 
If I changed any letter, the hash would be different. If I even changed the Captial H to a lower case h, the hash would be different. If anything at all changes the hash would be different.
 
So hopefully you understand the concept of hashing….. Now I should state that my example hashing algorithm is painfully simple. If would be trivial to reverse engineer this, simply by reversing the steps. However this is my example hash.
 
Let’s compare this to the SHA256 hash.
 
The SHA256 “hash” of the word “welcome” (without the quotes) is 280D44AB1E9F79B5CCE2DD4F58F5FE91F0FBACDAC9F7447DFFC318CEB79F2D02
 
If you apply the SHA256 hash algorithm to the word welcome, the hash will ALWAYS be 280D44AB1E9F79B5CCE2DD4F58F5FE91F0FBACDAC9F7447DFFC318CEB79F2D02
 
Try it yourself on a few different online SHA256 calculators:
 
http://www.xorbin.com/tools/sha256-hash-calculator
https://passwordsgenerator.net/sha256-hash-generato
http://www.md5calc.com/
 
So we know that if we apply the SHA256 hashing algorithm to the word welcome, we will of course always get the same result, because the steps involved in “hashing” data using SHA256 algorithm are publicly documented, albiet very complex.
 
However, the steps are far from the simple 3-step process I gave in my example…..Sha256 uses 64 steps, and none of them are as basic as the 3-step example I included of using plus, minus, multiply and divide.
 
I won’t go into the entire 64-step process (There are plenty of resources out there if you are interested) but just to give you an idea of the complexity of the hashing algorithm, I’ll go through the first few steps. But before we do this, we need to “prepare” the input.
 
To do this we first split the word into 4-byte chunks starting from the first character. The word "welcome" (without the quotes) contains 7 characters, so it is split into two chunks
 
Chunk A – welc
Chunk B - ome
 
Ok, now for each chunk, we convert this to ascii
 
Chunk A – welc = 119 101 108 99
Chunk B – ome = 111 109 101
 
Now we convert these values to a HEX value (for information on hex, take a look here : http://whatis.techtarget.com/definition/hexadecimal)
 
Chunk A – 119 101 108 99 = 77 65 6c 63
Chunk B – 111 109 101 = 6f 6d 65
 
Now any Chunk that is not a complete 4-bytes, needs to be “padded” to make it a complete 4-byte chunk. This padding always represents “80” in hex
 
Chunk A is fine….it's 4-bytes, so does not require any padding. Chunk B is only 3 bytes, so it needs an extra byte of padding. To do this we simply append hex 80 to the end.
 
So Chunk B becomes 6f 6d 65 80
 
The two binary values are now concatenated back together and padded out to create a 56 byte data string. They are padded out with zeros. Hex characters are represented with two characters, so 0 in hex is 00
 
So the two strings go together and lots of hex value zeros go on the end to make 56 bytes
 
77 65 6C 63 6F 6D 65 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 
We now calculate the length of the actual message in bytes including the padding (77 65 6C 63 6F 6D 65 80) and this is a total of 8 bytes, so this value of 8 (The number 8 is represented as 38 in hex) is appended to the very end of the 56 bytes to create a complete 64-byte string.
 
So the total 64-byte string has become:
 
77 65 6C 63 6F 6D 65 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38
 
The 64 byte string is then converted to binary….
 
01110111 01100101 01101100 01100011 01101111 01101101 01100101 10000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00111000
 
In the data section (the first 56 bytes) the first byte of data (01110111 in binary) represents 77 in hex, which in turn represents the decimal value of 119, which is the ascii value of w
 
The second byte of data (01100101 in binary) represents 65 in hex, which in turn represents the decimal value of 101, which is the ascii value of e
 
In the final section, the very last byte of data (00111000 in binary) represents 38 in hex, which in turn represents the decimal value of 56, which is the ascii value of 8, which represents the length of the padded data string. This value will always be a multiple of 4.
 
Ok so now we’ve got that 64-byte data stream, we now apply some other things to it.
 
At this point Sha256 does some "shifting" of the data.
 
"Shifting" is when you move data around – So for example if we “shift” every square on the grid backwards 7 places, then this is what would happen.
 
10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00111000 01110111 01100101 01101100 01100011 01101111 01101101 01100101
 
Ok so Sha256 does a few more rounds of shifting until eventually, the data has been moved around and looks completely different on the grid to what it started with.
 
After all this is done, only then is the data “prepared” and ready to be manipulated through the 64 steps to create the hash! Now on the face of things at first glance, this actually looks complicated, but for a computer to hash data using Sha256, it’s actually fairly simple. It can do it extremely quickly! A human being could in fact do the complete SHA256 hash with enough patience. Somewhere actually did this with a pen and paper and it took them a little over a day.
 
After the 64 rounds of adjustment, the final hashed value of welcome comes to 280D44AB1E9F79B5CCE2DD4F58F5FE91F0FBACDAC9F7447DFFC318CEB79F2D02 and providing that you used sha256 to hash it, the word welcome will always hash to this value. If I change the anything in the input, the output hash changes dramatically.
 
For example, if I change welcome to Welcome (capital W), the Sha256 hash becomes 0E2226B5235F0FF94A276EB4D07A3BFEA74B7E3B8B85E9EFCA6C18430F041BF8 As you can see it’s totally unrecognisable compared to the previous hash.
 
So hopefully now you have an understanding of hashing, you can see that the data stored in a block can be hashed, and it will generate a hash value.
 
Copy the following section of transaction text into any online SHA256 calculator:
 
Joe has $1000
Joe’s bank account is 1234-5678 @ HSBC
Joe sends Sarah $200
Sarah has $2000
Sarah’s bank account is 8765-4321 @ Bank of China
The time of the transaction is 12:47pm 20th Feb 2018
Joe’s account will now be $800
Sarah’s bank account is $2200
 
You should get the following hash value:
 
F4162A24257D3D2995E80B8FB08F43A9F029CC951F8C103051EAD30BFCDCC63F
 
Now this is just one transaction, but the point is that you will never see that same hash value again, unless the EXACT same transaction information is hashed with SHA256. If you change anything at all, the hash value will change completely.
 
Now I won’t go into why this is virtually impossible to reverse engineer, but suffice to say the estimates of computing power required to reverse a SHA256 hash are as follows:
 
Based on current computing power, brute-forcing SHA256 would take a powerful modern PC approximately 71,430,540,814,238,958,387,154 years. Some scientists believe the sun will “extinguish” in about 5,000,000,000 years.
 
For now, SHA256 is pretty secure!
 
So if we have a “hashed block”, suffice to say it is pretty much impossible to break.
 
So there we have it...a block!
 
OK so what does the word “chain” in blockchain mean?
 
Simple….. you take the hash value of the first block, and stick it into the very next block as the first part of data, just before you start adding your new transactions. Can you see what effect this has?
 
If my first block hash is:
 
F4162A24257D3D2995E80B8FB08F43A9F029CC951F8C103051EAD30BFCDCC63F
 
If I put this just in front of all my new transactional data, then the total data in the new block (including the hash of the previous block) all gets hashed as one to create a new hash for the second block. If anyone tampers with the first block, the hash changes, and therefore won’t match with the hash put into the second block. This has a knock-on effect to all subsequent blocks.
 
So if you have a block-chain full of nodes (servers) and node A is reporting a cumulative hash of all blocks on the latest block on the chain to be XXXXXX but node B, node C, and node D are reporting the cumulative hash for all blocks to be YYYYYYYY, then it’s immediately obvious that node A has been compromised, and needs to be removed….after all, the entire block chain of entries ultimately ends up with an up-to-date hash of all the previous blocks, and if anything changes…..literally one single character in any single block changes…..then hash proves that the chain has been compromised!
 
So what exactly is mining? Mining is simply re-running the hash over and over and over again onto a block, until you reach a constant…..What I mean by a constant is as follows:
 
  1. You take your block of data
  2. You hash it to get a hash value
  3. You check to see if the hash begins with four zeros 0000
  4. If it doesn’t you now add 1 to the data and re-hash
  5. You check to see if the hash begins with four zeros 0000
  6. If it doesn’t you now increment the number by one and re-hash
 
You now repeat steps 5 & 6 over and over and over again, until eventually, at some point, you will see 4 zeros.
 
This extra value you are adding is what is known as a “nonce” and is actually short for the word nonsense! It basically means that you are adding a number that increments in the block, whilst everything else in the block remains constant.
 
Let’s take a simple transaction to use as an example:
 
Fred has $200
Claire has $300
Joe sends Claire $50
Fred now has $150
Claire now has $350
 
Ok nice and simple….. Let’s use a great website resource to demonstrate mining this data.
 
Copy this basic transaction into the “data” section of this web page and delete any visible “nonce” value (if there is one there) - https://anders.com/blockchain/block.html
 
(NOTE: when you copy/paste from reddit it might also copy the spaces between the lines, so you would need to remove them, as a space is also a valid ascii character.)
 
If done correctly, you should see a hash value at the bottom of f710ba16e8b987575a23ce0fe13a4dfbd3e72676c65890a7b8acab421748195b
 
Now this doesn’t begin with 0000, so now let’s click on the "mine" button, and the page will keep incrementing the nonce value until eventually the hash will begin with 0000.
 
The process should take around 5-10 seconds, and eventually the hash will be displayed as 00009db80aa366297984130a3f2b74b4f3a6eb044df24de700a616ca9e6aacb6
 
This does begin with 0000 and it took 15,708 “hashes” to reach it. You have reached a constant!
 
This block would now be deemed as a valid block, and the hash of this block is what is passed onto the next block! This is basically mining!
Mining is necessary to ensure that all blocks on the block chain are valid and accurate. Obvioulsy doing this requires computational power, which requires equipment (computers) and energy (electricity) which must be paid for, hence the reason that "miners" are compensated with coins for their efforts.
 
So hopefully you now have a better understanding of block chains and mining :-)
submitted by jpowell79 to u/jpowell79 [link] [comments]

[Bounty] 300mBTC If you can crack my secret sharing implementation

Hi,
As a mini winter break project I set out to implement Shamir's Secret Sharing algorithm specifically for Bitcoin private addresses (basically using the field of integers mod 59 so that it fits base 58 characters plus 0). The purpose of this is to make Paper Wallets more secure by requiring multiple keys to reconstruct the real private key.
I am not however certain that it is infact secure. or if by going to the integers mod 59 I have compromised its security. I also built in a "password" feature which i'm also not sure is a secure implementation.
So the challenge is: I have created a public address and the associated private key and have transferred 300 mBTC to it. the public address is: 1DsBQqvFaMipVe8aV21c6tbhE5BZUDBzAs https://blockchain.info/address/1DsBQqvFaMipVe8aV21c6tbhE5BZUDBzAs
The code I have written is available from: https://github.com/dennismckinnon/ShamirSS it is written in Python and has documentation. It should be fairly simple to follow.
Since there are two parts to this. I will give you two avenues of attack.
here is one share of the two required to reconstruct the key: 7NpK4zD2pkioLakxowfZeRfWuBQAVCcoUYixtS9fd30WLQSDtii1 of course with the second share it is trivial to reconstruct so this is all you get. Note this share does not have a password scrambled key. (the command to generate this was python ShSS.py -s 2 2 "privatekey")
The second possible weak point is the password scrambling so I have take the key and only password scrambled it: WKM81Z55j8dkScurhHyVRSrMUi7mF2D4aqxs6SHe6QX5h0aXti71 (command python ShSS.py -p "password" -s 1 1 "Privkey")
Both avenues of attack lead to the same private key (does that introduce some so sort of venerability I have not foreseen?)
I believe this program to be secure. Shamir's is typically secure and the password is in one time pad style so also should be gibberish yielding but since this is my first time implementing a crytography algorithm I wanted to go with trial by fire. First one to crack it gets the loot. If no one cracks it by New Years I'll assume it is secure.
If someone does crack it the only thing I ask is that you send an email to [email protected] detailing exactly where the security flaw is located.
EDIT: After much discussion (Thank you all) the entropy leak caused by the biased random numbers has been shown in practice to be able to reveal the key with 50% chance when a key is encoded with 1400 random keys. Of course that issue is outside the purview of this particular challenge. But non-the-less I will be updating the source to avoid this.
The only other issue so far that has been raise is an attack on the password. I might consider switching out SHA for a slower algorithm like Scrypt but this feels a bit cheaty to rely on the assumption that its going to be slow (and remain slow for all time) to be too painful for people to attempt. Choice of a random alphanumeric string with maybe a couple symbols seems the far superior method to counteract this attack. But none-the less I will look into implementing a slower hash.
After those are fixed, I may redo the challenge and post to the /crypto guys, let them take a crack at it.
submitted by dennismckinnon to Bitcoin [link] [comments]

Bitcoin Code Login - Bitcoin Code Auszahlung, The Bitcoin ... Bitcoin Code Review 2020: Scam or Legit? Bitcoin Code ... Bitcoin Code Fake? - YouTube Bitcoin Code Software - Bitcoin Code Bewertung, Bitcoin ... Alphabet Decode Explained for New Subscribers!

A Bitcoin Address is an ID of 26-35 alphanumeric numbers, that represents a possible destination for an (incoming) Bitcoin payment for example to a Bitcoin Wallet. A Bitcoin wallet address, which is a hash of the corresponding public key, always starts either with number 1 or with the number 3. hash160 is a Bitcoin hash160 public key hash. Bitcoin addresses can be losslessly converted to and from hash160s. address is a Bitcoin address, as used by Bitcoin. value is the number of bitcoins associated with the data. This MUST be specified in the same way as 0.3.x versions of Bitcoin: nValue / 100,000,000. Method C – How to use ALT codes by using the hexadecimal code point of a character. Special characters are usually notated in Unicode as U+nnnn, where nnnn is the hexadecimal code point value of the character. For example, the yin yang symbol ☯ is notated in Unicode as U+262F, so its hexadecimal code point is 262F. A bitcoin address has 26-35 alphanumeric characters unique to that wallet. The wallet is not attached to any name, phone number or other identifying information. Address - Bitcoin Wiki. A Bitcoin address, or simply address, is an identifier of 26-35 alphanumeric characters, beginning with the number 1 or 3, that represents a possible destination for a bitcoin payment.Addresses can be generated at no cost by any user of Bitcoin.For example, using Bitcoin Core , one can click "New Address" and be assigned an address.It is also possible to get a Bitcoin ...

[index] [7769] [15219] [11516] [22209] [33122] [31953] [8362] [33241] [16110] [34790]

Bitcoin Code Login - Bitcoin Code Auszahlung, The Bitcoin ...

Thanks for watching! For donations: Bitcoin - 1CpGMM8Ag8gNYL3FffusVqEBUvHyYenTP8 Bitcoin Code Software - Bitcoin Code Bewertung, Bitcoin Code Erfahrungen Forum http://bestlikes.online/codebitcoin Bitcoin Code ist seit einiger Zeit ein z... Zijn bitcoins de toekomst van onze geldzaken of de grootste financiële bubbel sinds de tulpengekte? In deze webserie onderzoekt Nadia wat bitcoin is en hoe j... Bitcoin Explained Simply for Dummies - Duration: ... 12:49. 11 Plus - Alphabet Codes / Code Words (Type C): Eleven Plus Exam Tips - Duration: 5:56. Revision App - Student Blog Recommended for you ... Bitcoin Code Erfahrungen http://bestlikes.online/codebitcoin Bitcoin Code ist seit einiger Zeit ein zugleich bekanntes als auch geheimes Projekt. Im Netz w...

#