BEAM: The Key To Privacy In Blockchain
Introduction
As a new user of Bitcoin, you must have gone through the origin of Bitcoin, how it works, and its benefits too: especially the aspects of decentralization (my favorite part), ability to predict the market and the ability to sole manage your assets. However, the part that gets people a little skeptical is the part that says "everyone around the globe on the same blockchain network gets to see your ledger." Which means everyone around the globe gets to go see your financial transactions.
Let me create a scenario here…
Let's say I work at an IT company and I get paid in Bitcoin and my landlord has a cryptocurrency account as well as my human hair supplier. I get paid on a Friday morning and I sent my rent to my landlord's account. My human hair supplier will see these transactions from when I earned my salary to when I paid my landlord. If my house rent and salary are a bit on the high side, the human hair supplier might decide to hike the price of each batch of human hair I want to purchase which can be a bit detrimental to my finances. So as an individual, what do I do? How do I ensure that most of my transactions stay private?
Well, in this article, we would be discussing the concept of beam.
So, what is beam?
Beam is a next generation confidentiality cryptocurrency based on an elegant and innovative Mimblewimble protocol.(Did you just say Mimblewimble? Yep, I did. "Seems like the creators of Beam are real fans of JK Rowling".) Mimblewimble would be discussed in details later, moving on….
Bitcoin works on the concept of peer-to-peer electronic cash system as originally designed by Satoshi Nakamoto back in 2008. Since its inception, the field of cryptocurrency and blockchain has metamorphosed, producing thousands of projects, technological invention and research papers.
As we all know, Bitcoin operations require a consensus on the part of all participants within the system, due to the absence of a centralized body. This means everyone gets to see your transactions on the blockchain network. Although it was believed at inception that these transactions could stay anonymous without being linked to the identity of an individual, we are faced with a situation of deannonymity. This means that every transaction you've ever made on the blockchain market can be linked back to you.
Apart from the above-stated issue, there is also the problem of limited availability. This is an issue that arises when a node in the system has to voicemail through vast amounts of transaction details during validation to obtain data, while maintaining a copy of the entire data, which can make the validation process very slow. [2]
Due to this process, public block chains are forced to make trade-offs between low transactions throughout and a high degree of centralization. This means that as the size of block chains grow, the requirements for storage, bandwidth and computing power required by fully participating nodes in the network also increase. At some point, it becomes unwieldy enough that is only feasible enough that it is only possible for the few nodes that can afford the resources to process blocks - leading to the risk of centralization. [3]
There is also the problem of storage. Stored up information on a public blockchain database means that the data is stored by every full node in the network and stored indefinitely no matter the magnitude since the blockchain database is appended and immutable. This issue of storage means high cost on a decentralized network where every full node has to store more and more data into infinity. [4]
As culled from medium.
So, what does beam do?
As earlier specified, Beam works with a Mimblewimble protocol. Mimblewimble, a reference to a tongue-tying spell from the Harry Potter stories works with two concepts originally proposed by Greg Maxwell. These two concepts include:
• Confidential transactions and
• Transaction cut.
In the confidential transaction concept, transactions are implemented using a cryptographic commitment scheme which has two principal characteristics, namely:
• Binding
• Hiding. [5]
In very simple terms, it is like sending someone a package that says for your eyes only (commitment) with some hidden password (hiding) that only you understand. On assured Intel that the receiver has the package, and is in a safe place to view (valid commitment), you can then reveal the password (hiding) for the package via text and email. What a commitment scheme does is that it keeps a piece of data secret but commits to it, so that you cannot change it later. A simple commitment scheme uses a cryptographic hash:
Commitment = SHA256 (blinding_ factor ||data)
If you tell someone only the commitment, then they cannot determine what data you are committing to (which gives certain assumptions about the features of the hash), but you can reveal both the data and the blinding factor and they can run the hash and verify that the data you committed to matches. The blinding factor is present because, without one, someone could try guessing at the data. If your data is small and simple, it might be easy to just guess and compare the guess with to the commitment.
Mimblewimble has this commitment scheme, which is slightly different. It uses the Peterson commitment scheme, which functions using the elliptical curve cryptography, as stated below
C = r* G + v* H.
r is the blinding factor which is a secret key that hides the value of v and G and H are generator points on an elliptical curve.
Every input and output of a transaction is a linear combination of two factors namely
• Actual value of a transaction
• Blinding factor.
To transfer ownership of an unspent transaction output, a sender has to reveal its value and blinding factor to the receiver, which in turn needs to create a new output commitment using a different blinding factor, known only to him.
With the Peterson commitment, the transaction cut works this way: if you have two similar transactions from A to B and then B to C, you do not need a two different blinding factor to carry out the two transactions. All you need to do is to use of one blinding factor to carry out an intermediate transaction from A to C, which makes it merged. On the system, this transaction is valid. [6]
Apart from the confidentiality bonus elaborated earlier, Beam with the "cut-through on transaction cut figure of the Mimblewimble helps go avoid excessive computational overhead, making the blockchain orders of magnitude smaller than another blockchain implementation. This means that the nodes would work faster.
Another benefit of Beam is having the ability to choose levels of privacy. This is accomplished, by making sure that for every transaction carried out, no IP addresses are revealed during this. Usually, these IP addresses are imputed on the public blockchain, such that should a node undergo a back track, the transactions carried out using Beam cryptocurrency would have no IP addresses linking the individuals involved. This means that you have that ability to selectively choose the level of transaction you want to keep private.
In conclusion, using my previous illustration
Should my firm decide to pay me using Beam cryptocurrency? They would send me my salary worth 150 coins and to hide the amount, I would choose 27 as my blinding factor. Somewhere on the blockchain, the following result appears and is only spendable by me:
X = 27G + 150H
X, the result of the addition, is visible to everyone. The value 150 is only known to me and my firm and 27 is only known to me.
So, there you have it! For more information about bitcoin
Beam Website
Beam Position Paper
Mimblewimble Paper
Beam YouTube
Beam Telegram
Beam Facebook
Beam Github
Beam Bitcointalk
Beam Medium
Beam Twitter
References Image/Article
[1]Beam Website
[2] https://medium.com/@preethikasireddy/fundamental-challenges-with-public-blockchains-253c800e9428
[3]Beam Position Paper
[4] Beam YouTube
[5] https://people.xiph.org/~greg/confidential_values.txt
[6] Mimblewimble Paper
twitter post
this contest is sponsored by @originalworks click to participate
Dear friend, you do not appear to be following @wafrica. Follow @wafrica to get a valuable upvote on your quality post!
This post has been submitted for the @OriginalWorks Sponsored Writing Contest!
You can also follow @contestbot to be notified of future contests!