Skip to main content

What is Cryptocurrency and Blockchain Technology?

Cryptocurrency:

A digital currency in which transactions are verified and records maintained by a decentralized system using cryptography, rather than by a centralized authorities like banks.
  • It’s peer-to-peer network that enables anyone can send or receive payments from anywhere.
  • Crypto works like Distributed public ledger (blockchain plays the vital role here) which stores all transaction details held by the currency holders.
  • Cryptocurrencies are created through a process called mining, which involves using computer power to solve complicated mathematical problems that generate coins.

Blockchain Technology:

Blockchain technology is a structure that stores transactional records, also known as the block, of the public in several databases, known as the “chain,” in a network connected through peer-to-peer nodes.
It uses Hash function to generate a non-readable and non-understandable value.

Hash function:

  • We can send data of any size but the output is fixed.
  • Hash(data) -- > fixed size output (random string)
  • If we send the same data again and again it will output the same random.
  • Those random numbers are like half are 1s and other halves are 0s.
  • It’s more like Avalanche effect: if we made a small change in the input data, it will change the whole output data.

Drawbacks:

  • Preimage Resistance: for given Y a hash value, you can’t able to find X input data Such that hash(X) == Y. But you can able to find that it would take 2256 times to achieve.
  • Collision Resistance: there are two different input data which is X and Z,  X is not equals Z but hash(X) == hash(Z). Its not happens frequently its happens when we try 2128 times. But this type of collision not happens in today’s modern world computers.
For example: sha-256, md-5
  1. md-5: Collision resistance happens at the iteration 264, So its easily broken by the modern computers within a second. Because md-5 output size is 16 bytes.
  2. Sha-256: Collision resistance happens at the iteration 2256, So its harder broken by the modern computers but it can be broken. Because sha-256 output size is 256 bytes.

History of Blockchain Technology:

2008 - Bitcoin whitepaper by satoshi Nakamoto.
2009 - Bitcoin(BTC) First decentralized currency
2011 - More Cryptocurrencies clones and specialized projects
2014 - Bitcoin adoption more businesses uses bitcoin

Comments

Popular posts from this blog

Ethereum Overview

Origin of Ethereum:  At Some point Blockchain technology became very popular. One Blockchain per Application. It's very difficult to create our own blockchain for every new applications. Ethereum concept came here, it's aim to create a single blockchain for that will allow to create any kind of new applications on top of it.   History of Ethereum: 2013 - Ethereum whitepaper by Vitalik buterin   2014 - Ethereum Development 2015 - Olympic Release Eth network was created 2020 - Boom in DeFi Activities 2022 - The Merge Upgrade of Execution layer Overview: Ethereum Projects: AUGUR - Prediction Market OPENSEA - digital collectibles UNISWAP - Assets Exchange COMPOUND - Leading platform Decentralized Application : Ethereum allows us to build new applications called Decentralized Applications . Just as regular applications, they run on multiple machines. But what differs them is that these machines are not owned by single group or organization. They are owned by different people in diff

Why Go Language?

Go Language: Open Source Programming language Statically Typed language Makes sharing code easy Similar to C programming language Organization that use Go includes Google, Docker, Kubernetes, Cloudflare, Dropbox, Netflix & Uber. Why Go language? C like Syntax Compiles to native code i.e. one executable file is need to run the whole program. Garbage collection Concurrency built-in language Compatibility promise → Once a program written to the go one specification will continue to compile and run correctly, over the lifetime of that specification. Why Go Compiler is fast? Simple and Minimalistic (20 keywords only) Does not allows unused dependencies No circular dependencies Does not use header files Solving Modern problems with Go: Go has concise syntax with few keywords to remember. Languages like C or C++ offers fast execution, whereas languages like Ruby or Python offers rapid application development, Go bridges these computing worlds and offers development fast. Modern Computers

Crypto ED25519 Signing and Verifying using Golang

The Edwards-curve Digital Signature Algorithm (ECDSA) is used to create a digital signature using an enhancement of the Schnorr signature with Twisted Edwards curves. Overall it is faster that many other digital signature methods, and is strong for security. One example of ECDSA is Ed25519, and which is based on Curve 25519. It generates a 64-byte signature value of (R,s), and has 32-byte values for the public and the private keys. Example : package main import ( "crypto/ed25519" "crypto/rand" "encoding/hex" "fmt" "log" ) func main() { publickey, privatekey, err := ed25519.GenerateKey(rand.Reader) if err != nil { fmt.Println("cannot generate ecdsa keys") log.Fatal(err) } msg := "hello" signedBytes := ed25519.Sign(privatekey, []byte(msg)) fmt.Println("Signed Message :", hex.EncodeToString(signedBytes)) if !ed25519.Verify(publickey, []byte(msg), signedBytes) { fmt.Println("ver