Monday 28 September 2015

Cryptocurrency for Dummies: Bitcoin and Beyond

http://www.toptal.com/
BY DEMIR SELMANOVIC - LEAD TECHNICAL EDITOR @ TOPTAL
Bitcoin created a lot of buzz on the Internet. It was ridiculed, it was attacked, and eventually it was accepted and became a part of our lives. However, Bitcoin is not alone. At this moment, there are over 700 AltCoin implementations, which use similar principles of CryptoCurrency.
So, what do you need to create something like Bitcoin?
Without trying to understand your personal motivation for creating a decentralized, anonymous system for exchanging money/information (but still hoping that it is in scope of moral and legal activities), let’s first break down the basic requirements for our new payment system:
  1. All transactions should be made over the Internet
  2. We do not want to have a central authority that will process transactions
  3. Users should be anonymous and identified only by their virtual identity
  4. A single user can have as many virtual identities as he or she likes
  5. Value supply (new virtual bills) must be added in a controlled way

Decentralized Information Sharing Over Internet

Fulfilling the first two requirements from our list, removing a central authority for information exchange over the Internet, is already possible. What you need is a peer-to-peer (P2P) network.
Information sharing in P2P networks is similar to information sharing among friends and family. If you share information with at least one member of the network, eventually this information will reach every other member of the network. The only difference is that in digital networks this information will not be altered in any way.
Cryptocurrency and Toptal
You have probably heard of BitTorrent, one of the most popular P2P file sharing (content delivery) systems. Another popular application for P2P sharing is Skype, as well as other chat systems.
Bottom line is that you can implement or use one of the existing open-source P2P protocols to support your new cryptocurrency, which we’ll call Topcoin.

Hashing

To understand digital identities, we need to understand how cryptographic hashing works. Hashing is the process of mapping digital data of any arbitrary size to data of a fixed size. In simpler words, hashing is a process of taking some information that is readable and making something that makes no sense at all.
You can compare hashing to getting answers from politicians. Information you provide to them is clear and understandable, while the output they provide looks like random stream of words.
P2P Protocols
There are a few requirements that a good hashing algorithm needs:
  1. Output length of hashing algorithm must be fixed (a good value is 256 bytes)
  2. Even the smallest change in input data must produce significant difference in output
  3. Same input will always produce same output
  4. There must be no way to reverse the output value to calculate the input
  5. Calculating the HASH value should not be compute intensive and should be fast
If you take a look at the simple statistics, we will have a limited (but huge) number of possible HASH values, simply because our HASH length is limited. However, our hashing algorithm (let’s name it Politician256) should be reliable enough that it only produces duplicate hash values for different inputs about as frequently as a monkey in a zoo manages to correctly type Hamlet on a typewriter!
If you think Hamlet is just a name or a word, please stop reading now, or read about the Infinite Monkey Theorem.

Digital Signature

When signing a paper, all you need to do is append your signature to the text of a document. A digital signature is similar: you just need to append your personal data to the document you are signing.
If you understand that the hashing algorithm adheres to the rule where even the smallest change in input data must produce significant difference in output, then it is obvious that the HASH value created for the original document will be different from the HASH value created for the document with the appended signature.
A combination of the original document and the HASH value produced for the document with your personal data appended is a digitally signed document.
And this is how we get to your virtual identity, which is defined as the data you appended to the document before you created that HASH value.
Next, you need to make sure that your signature cannot be copied, and no one can execute any transaction on your behalf. The best way to make sure that your signature is secured, is to keep it yourself, and provide a different method for someone else to validate the signed document. Again, we can fall back on technology and algorithms that are readily available. What we need to use is public-key cryptography also known asasymmetric cryptography.
To make this work, you need to create a private key and a public key. These two keys will be in some kind of mathematical correlation and will depend on each other. The algorithm that you will use to make these keys will assure that each private key will have a different public key. As their names suggest, a private key is information that you will keep just for yourself, while a public key is information that you will share.
If you use your private key (your identity) and original document as input values for the signing algorithm to create a HASH value, assuming you kept your key secret, you can be sure that no one else can produce the same HASH value for that document.
How Bitcoin and Cryptocurrency works
If anyone needs to validate your signature, he or she will use the original document, the HASH value you produced, and your public key as inputs for the signature verifying algorithm to verify that these values match.

How to send Bitcoin/Money

Assuming that you have implemented P2P communication, mechanisms for creating digital identities (private and public keys), and provided ways for users to sign documents using their private keys, you are ready to start sending information to your peers.
Since we do not have a central authority that will validate how much money you have, the system will have to ask you about it every time, and then check if you lied or not. So, your transaction record might contain the following information:
  1. I have 100 Topcoins
  2. I want to send 10 coins to my pharmacist for the medication (you would include your pharmacists public key here)
  3. I want to give one coin as transaction fee to the system (we will come back to this later)
  4. I want to keep the remaining 89 coins
The only thing left to do is digitally sign the transaction record with your private key and transmit the transaction record to your peers in the network. At that point, everyone will receive the information that someone (your virtual identity) is sending money to someone else (your pharmacist’s virtual identity).
Your job is done. However, your medication will not be paid for until the whole network agrees that you really did have 100 coins, and therefore could execute this transaction. Only after your transaction is validated will your pharmacist get the funds and send you the medication.

2 comments:

  1. NOVA BLOCKS

    5 Altcoins to watch in August 2020

    I have been following Nova Blocks for 2 months now and their analysis is on point!
    Even BAND from their article has pumped over +70% 1 day after they published the article! Check Here

    ReplyDelete
  2. New Pokeball Token, 5 in 1

    We are a team of cryptocurrency investors and Pokémon fans who thought about taking Pokémon to a different level, this project has nothing to do witusdtThe Pokémon Company, we are just an ambitious team of 5 that want with the help of our potential community to be part of Pokémon history, our goal is to push this project to success, leading NFT market and seduce The Pokémon Company to adopt the project and make of the Pokeball the Currency of Pokémon world

    By combining Defi and NFT we are bringing Pokeball Token to life, featured with Pokestake, Pokefarm, Governance (Dao) and Pokeswap for our Pokémon community.

    ☆ Components:

    ● Pokeball Token
    ● Poketype Tokens : 18 in total (water, fire, fly, dragon…) they represent abilities and elements of Pokemons
    ● NFTs

    ☆ Features:
    By combining Defi and NFT we are bringing Pokeball Token to life, featured with Pokestake, Pokefarm, Governance (Dao) and Pokeswap for our Pokemon community.

    ○ Pokestake: get APY on pokeball staked.
    ○ Pokefarm: Farm and get Poketypes Tokens of your choice to get your desired Pokemon.
    ○ Governance(DAO) : this project will be governed and driven by the community since day 1 after the end of the presale Through DAO. Pokeball holders will have ability to vote for all topics including Tokenomics.
    ○ Pokeswap : Decentralized exchange, Pokemons will only be available in Pokeswap.
    ○ NFT: Pokémon fans and collectors will be able to catch Pokemons in the game after meeting all requirements.

    ☆ Tokens details:

    Pokeball [ $PKB ] : 500.000.000
    Poketypes: 20.000.000.000/each (total of 18)
    Pokémons: rarity of Pokémons will determine how many will be available.

    ☆ How to collect NFTs

    There are 18 types of poketypes that investors will collect depends on what kind of Pokémon they are interested in. Poketype token, which is based on its design and natural habitat, is a prerequisite:

    EXAMPLE :

    It doesn’t stop here, after fulfilling all requirements, collectors has to catch final Pokémon NFTs through a game.

    ☆ Tokenomics:

    Pokeball team have prepared 3 Tokenomics for our community, vote will take place through DAO right after the end of pre-sale, Pokeball is a 100% community governed project.

    ☆ Presale info:
    Price: 0.04$
    Starting date: 10–20–2020
    Soft Cap: 760 ETH
    Hard Cap: 2400 ETH
    Minimum investment: 0.1 ETH
    Maximum investment: 50 ETH
    1 ETH : 9.000 PKB
    21–50 ETH: for every extra ETH over 20, investors will get 7000 pokeballs plus extra 2000 Token bonus of each Poketype Tokens (18 × 2.000 = 36.000) 24 hours after the end of pre-sale. For example Chris invested 33 ETH he will get 271.000 PKB [ (20 x 9000) + (13 x 7000) ]+ 468.000 Poketypes [ (2.000 × 18) x 13 ]

    ☆ how will we use ETH?
    We need ETH to provide enough liquidity for a total of 19 coins; Pokeball + 18 Poketypes; no pre-sale of Poketypes will take place.



    ☆ Links :
    Visit our website: www.pokeball.co
    Twitter: www.twitter.com/pkbfinance
    Telegram : t.me/PKBToken

    ReplyDelete