There are several widely-used cryptographic algorithms which are used in running blockchain networks and securing crypto transactions. One algorithm that might have important implications in the world of blockchain technology is secret sharing and here we try to break down what secret sharing is and how it can have an impact on the world of blockchain.
What is Secret Sharing?
Secret Sharing is a concept meant to secure sensitive information and in cryptography, it was developed as an algorithm with an advanced mathematical definition by Adi Shamir, who was also one of the creators of the RSA Algorithm. However, George Blakley also independently worked out this algorithm in the same year as Shamir. Secret Sharing is a cryptographic algorithm where a secret data is broken down into parts and every participant is given access to one part that is absolutely unique in itself. To reformulate these broken parts into the original message, to piece the puzzle together, so to speak, requires a certain minimum number of parts to be brought together. This minimum number is always lower than the total number as otherwise, the process of piecing together the secret would require every single participant.
How Does Secret Sharing Work?
A secure secret sharing algorithm decides on the distribution of shares from the secret information in such a way that only those who have a certain number of parts or shares can unravel the information. This minimum number is usually taken as the threshold or t. Now if a secret message is “jezebels” it is divided into the following parts:
Anyone who has zero shares will only know that this word has 10 letters. He or she can never possibly figure out what the secret is that would involve having to guess from over 250 billion possible combinations of letters. A person who has one share has to guess the remaining 6 letters, which brings the number of possible combinations to 308 million. However, this does not make this secret sharing scheme too secure. To make it secure, the algorithm must be such that anyone with less than t shares will have to guess from as many combinations as someone with 0 shares.
To make this scheme secure, the mathematical idea that Shamir came up with is that it takes 2 points to be able to successfully define a line, 3 points are adequate to define a parabola and 4 are required to define a cubic curve and so on. This means it takes x points to be able to define a polynomial of the degree x-1. Based on this idea, the t is determined so that anyone with less than t shares would have to guess from as many combinations as someone with 0 combinations would have to.
Why is Secret Sharing Important For Blockchain?
As Vitalik Buterin has written, secret sharing can help strengthen the concepts of Decentralized Autonomous Organizations or DAOs. Using secret sharing, DAO can store information so that every member node in the system stores a certain number of shares instead of the entire body of information, they will hold one point on a different polynomial to represent every variable which makes up a portion of the information.
Moreover, many offline and online storage wallets for bitcoin, use secret sharing to safeguard the private keys of the crypto holders.
Apart from these existing uses, secret sharing algorithm can help strengthen the decentralization and security of data in blockchain as it helps to distribute information in a decentralized way such that the information is protected from unauthorized access.