Peer-to-peer payment system and crypto-currency using blockchain technology with a secure wallet and multi-signature transactions

Master's Thesis, 2018

82 Pages


Table of Contents






1.1.1 Blockchain Basics
1.1.2 Hash Function
1.1.3 Cryptographic Hash Function
1.1.4 Hash Chain
1.1.5 Linked List and Block Chain Structure
1.1.6 Public Key Cryptography
1.1.7 Public Cryptography in Bitcoin
1.1.8 How to Secure Hash Chain with Public Key Cryptography
1.1.9 What is Block-Chain
1.2.1 Introduction to Bitcoin
1.2.2 Current Use Case of Bitcoin
1.2.3 How Bitcoin works
1.2.4 How Block Chain use in Bitcoin
1.3.1 Bitcoin Mining
1.3.2 Proof of Work – (PoW)
1.3.3 Proof of Stake – (PoS)
1.4.1 Bitcoin Address
1.4.2 Bitcoin Address Creating Process

3.1.1 Theoretical background on Blockchain ecosystem and Secure Wallet
3.1.2 Summary of existing Bitcoin wallet security and application features

2.1 PROBLEMS DEFINITION (Existing application and wallet security mechanism gaps)
2.2 Aim and objectives
2.3 Limitations
2.4 Assumptions

4.2 Secure Wallet Implementation
4.2.1 Single-Sign Transaction
4.2.2 Multi-Sign Transaction
4.2.3 Simplified Payment Verification (.spv)
4.2.4 Wallet Encryption
4.2.5 Wallet Backup
4.2.6 Restore Wallet
4.3.1 Deployment and Hosting
4.3 Technology Stack

5.1 Evaluation & Results
5.1.1 Evaluation Plan
5.1.2 User Experience Test Scenarios
5.1.3 Bitcoin Transfer Testing
5.1.4 Software Wallet File Location Security
5.1.5 Double Spending Attack
5.1.6 Transaction Confirmation Time
5.1.7 Hypothetical Testing on Multi-Sign Transactions

6.1 Discussion
6.2 Challenges
6.3 Future Work



E-commerce is the more reputed way to do transactions nowadays and all the online transaction use multicurrency. At present, e-commerce and online trade is the most popular way to buy or sell anything and this domain has become a very broad and wide area. These e-commerce and online trading applications are using a different level of security mechanism and those mechanisms provide some certain level of security. These security mechanisms basically depend on third-party authentications using symmetric or asymmetric key cryptography approaches. Most of the online trading applications use SSL (Secure Sockets Layer) mechanism to implement the secure connection between server and client. Anyway, all the existing security mechanisms have to use a third party to ensure their secure information and connectivity. When using any third party or middle hand to authenticate any transaction still there can be a lot of vulnerabilities since security control and sensitive data been shared with an external party. As a solution to this situation block-chain concept was introduced and using this concept, third-party dependencies of an application can be eliminated. Since blockchain concept working as a common ledger for all the users’ access to the peer-to-peer network no need to validate information against external third party and also no one can update without knowing others in the network.

Most of the existing online trading application and payment systems have been integrated with the actual bank and all these bank transactions are always use bank profiles to do any transaction. But using cryptocurrency like bitcoin no need to have a bank profile and it is very fast compared to others. Currently, all the other fiat-currencies has a tendency to inflate and it can be very time dependent but it’s very important to find out noninflationary currency that will be helpful for the stability of the economy. This solution mainly based on the bitcoin which is well-organized crypto-currency and peer- to-peer payment method and it has more value-added features than existing wallet services and peer-to-peer payment applications. This application basically focuses on the high-security wallet mechanism, wallet restore functionality in any crash or vulnerability situation and also user-friendly application to the user with seamless transaction delay time. And also this application is open source user creation and any user can create a wallet with basic validations and can use for any bitcoin transfer functionalities. Using this application user can always check his balances and transaction history at any time and also this APIs can be integrated with any front-end client since back-end service have been implemented as micro-services endpoints. As an end product, this will be an open source high secure bitcoin wallet application with integration capability with any third party services like a bank, card applications.

Key Words - Blockchain , Peer-to-peer, Bitcoin, Crypto-currency, Wallet, Private Key, Public Key, Hash chain, Double Spending, 51% Attack, Single-Signing, Multi-Sign, Distributed Ledger Technology, Smart Contract, Bitcoin, Simplified Payment Verification, Wallet Encryption


Figure 1.1 Distributions and Decentralize Structure Figure

1.2 Hashchain Example with Linked Blocks Figure

1.3 Linked Lists and Block Chain Structure Figure

1.4: Encryption and Decryption Cycle

Figure 1.5: How Block Chain Digital Signature Working

Figure 1.6: How link blocks

Figure 1.7: Bitcoin Ecommerce

Figure 1.8: Bitcoin in Block Chain Network Figure 1.9: How Genesis Block Working Figure 1.10: Bitcoin Mining

Figure 1.11: Proof of Work

Figure 4.1: Member Registration UI Figure 4.2: Corporate Registration UI Figure 4.3: User Login UI

Figure 4.4: User Dash Board in First Login

Figure 4.5: User Dash Board After Create Accounts

Figure 4.6: Bitcoin Payment Request UI Figure 4.7: Bitcoin Send Payment UI

Figure 4.8: Component diagram for Application Figure 4.9: Bitcoin Accounts APIs Swagger Figure 4.10: Bitcoin Request APIs Swagger Figure 4.11: Bitcoin Transfer APIs Swagger Figure 4.12: Bitcoin Wallet APIs Swagger

Figure 4.13: Bitcoin Auction Operations APIs Swagger

Figure 4.14: Bitcoin Bid APIs Swagger Figure 4.15: Application Data Base Structure Figure 4.16: Sequence diagram for Application Figure 4.17: Deployment Environment Information

Figure 4.18: Request Payment with Email

Figure 4.19: Outgoing Request List

Figure 4.20: Bitcoin Address before Use in Transaction Figure 4.21: Bitcoin Address Unconfirmed Status Figure 4.22: Bitcoin Address Confirmed Status

Figure 4.23: Bitcoin Address Transaction Details

Figure 4.24: Bitcoin Send Payment


Table 4.1 Black Box Test Cases

Table 5.1: Budget Allocation for the System

Table 6.1: Technology Stack used for the System


Abbildung in dieser Leseprobe nicht enthalten


I would like to thank Sri Lanka Institute of Information Technology for the opportunity they have provided me to study for the Masters in Information Technology degree program.

I also would like to thank Dr. Dharshana Kasthurirathna, dissertation advisor, for making the opportunity to explore my knowledge in the latest technique, and for encouraging me technically and spiritually during my studies. In addition, I wish to thank all other staff members of the University of Colombo, especially the Computing department, for their knowledge which directs us to achieve our goals in life.

I want to express my most profound gratitude to my parents and family for their encouragement and companionship.

This dissertation is only a physical manifestation of the long intellectual journey. I apologize for any appreciations left unnoted. Finally, I am using this opportunity to express my gratitude to everyone who supported me throughout the course of this MSC project



1.1.1 Blockchain Basics

This chapter mainly will discuss on introduction about basic concept related to blockchain and bitcoin. Blockchain simply can describe as a technology handle by blocks which can uniquely identify and link together to complete a transaction or record. Blockchain is a common ledger which is continuously growing and distributed with connected blocks and also these blocks are sealed and sign with cryptographically mechanism. Each block is chained to the previous block with its hash value. All the blocks are in the network are identical across the network and this particular block cannot be controlled by individual and also it doesn’t have a single point of failure.

Blockchain is a kind of decentralized database by connecting several computers located in different locations within the network. This method is differing from today data saving methods is, current data is saving in one big computer rather than saving information in different small computers which are located in different places. The identity of connected users in blockchain is hidden behind special alphanumeric string called as an address which is generated using cryptographic methods. One user can have multiple addresses and from this address, outsiders can’t derive owner and this helps to make blockchain private.

Abbildung in dieser Leseprobe nicht enthalten

Figure 1.1 Distributions and Decentralize Structure

There is two major blockchain technology components and those are distributed-ledger technology (DLT) and smart contract [5]. A distributed ledger is decentralized, shared, replicated and synchronizes chain of the block between agreed parties which are secured by the cryptographic mechanism. Unlike other distributed system distributed ledger does not trust other nodes which are connected together and each node needs to authenticate themselves before continuing the transaction. Smart contracts use to exchange money, property, shares, or anything which has values in a transparent. This mechanism helps to exchange information in a conflict-free way while eliminating the services of a middleman. A vending machine is a similar concept to smart contracts [2] which user can simply drop bitcoin to the machine and (i.e. ledger) user’s driver’s license will add into the user account. When applying to get any passport or license we have to pay lawyer fees and need to wait a long time to prepare the relevant document. But using smart contract we can pay bitcoin to a relevant party within common ledger and the particular legal document will simply add into the user account. The specialty of this smart contract is we can define rules and penalties same as a real-world contract.

Before explaining about the Block-Chain technology, we need to be aware of below concepts and definitions.

Distributed-Ledger Technology (DLT)

A Distributed Ledger Technology (DLT) [32] is the type of a database which is consensually synchronized and shared within the multiple nodes called peers in the network. This peer location can be different by physically and virtually as well. This mechanism allows the transaction to have a public witness and that will improve cybersecurity more secure. All the peers can have access to all the transactions records in the network but they not allowed updating. All the nodes have only insert permission within the network. Any changes which are done to any node of the network will reflect and affected to other nodes in the network within the small time period. In the bitcoin also implement on this Distributed Ledger Technology which is coming with blockchain.

To eliminate the central authority or third-party authentication, Distributed Ledger is maintained transactions or contracts across the different locations and peers. All the information is stored in a network using the cryptographic method and that can be accessed using cryptographic signature and keys. After saving information in the network it is a behavior as an irreversible database which is controlled by the network rules. Centralize ledger is very easy to be attacked, decentralize ledger is very hard to break since all the peers in the network need to be break simultaneously. And also one transaction can’t be break by a single authority.

Distributed Ledger Technology is evolutional technology for worldwide applications and it can be used for any use case in a lot of domains. Among them, land registration, asset management, passport registration, profile management are special domains. The financial application also needs additional security and distribution ledger are using in bitcoin as well.

Smart Contract

The smart contract [31] is an agreement between multiple parties within the network and this is computer source code running on the blockchain container. After completed pre- define rules smart contract agreement will be enforced automatically. The smart contract is a primitive version for automated decentralize system. This is a mechanism to share the digital assets between multiple parties and after saving assets into a smart contract by a one party, that asset will be shared among other relevant parties according to some certain information which is defined at smart contract initialize time.

Smart contracts have the capacity to verify and authorize the digital assets in real time and that will be very low-cost mechanism compared to traditional contracts. Below are the main characteristics of a smart contract.

- Self-executing
- Self-verifying
- Tamper resistant

As a rapidly evaluating technology blockchain smart contract has a lot of advantages in many ways and among them below are the some of the advantages of smart contract.

- Convert all the legal process into the trusted automated process
- Build trusted agreement between multiple parties
- Eliminate third-party validation for agreements
- Reduce transaction cost

1.1.2 Hash Function

A hash function is a mechanism to convert the random size of data into a digital string with predefines length. The module of a number is a simple hash function we can understand at once. The number can divide by constant number and rest of the calculation we can consider as a hash. This module function is a hash function since the remaining value size after the calculation is always less than the actual value. This calculation is a hash function and same time it is a one-way computation. It should be easy to calculate hash but finding any inputs to the hash function should be difficult. Hash functions with such features are called the cryptographic hash function.

Well known and widely used cryptographic hash functions are MD5, SHA1, and SHA2.Example of MD5 hash function signature as below,

MD5("abc") = 457850983cd24fb0d6963f7d28e17f72

Above function returns a 128-bit string from the hash function and it is in hexadecimal format. After inserting the return value of the hash function into the same function again that will return another hash value and these repetitions of results are combined into the sequence of hashes and that is called Hash chain.

In the cryptocurrency domain, the output of the hash function is fixed length and input can be any length of transaction and bitcoin uses SHA256 algorithm as a hash function.

1.1.3 Cryptographic Hash Function

A Cryptographic hash function has various methods to increase security in the function. And also there are few properties need to have in the hash function to be secure cryptographic hash function and below have been describing those properties.

Deterministic – This means always getting same output after applies to the hash function and it is not depending on how many times it has applied. This is applying in the bitcoin wallet keys as well and this will help to keep track about the input every time. And also always hash function has a seed for each input we can recreate particular input using some mathematic algorithms.

Quick Computation – Cryptographic hash function always need to give output quickly otherwise the system will not be efficient.

Pre-Image resistance – If the input data is very less we can compare the possibility of the output hashes and can find the relevant inputs. But when we consider the huge amount of data that is not possible. In that situation, only brute-force method can be used to find the real inputs.

Input changes will affect to output hash – If done very small changes to the input-output hash will be very different to the original one. This depends on the hash method and in SHA256, it is very noticeable difference.

Collision Resistance – This means, output hash value always unique to all the inputs and it is not possible to equal two hashes of two different inputs.

1.1.4 Hash Chain

Hash chain is a sequence of similar data chunks or simple blocks linked together by the hash function. Figure 1 is depicting how Hash chain is linking together with blocks each other.

Abbildung in dieser Leseprobe nicht enthalten

Figure 2.2 Hashchain Example with Linked Blocks

The entire data block has an arbitrary data component and a hash value and this hash value is calculated using previous whole data block. This Hash chain has very important property, which is any of the data blocks can be changing without affecting other data block related to that block. As an example, if data of the first block change, second block hash will be change and then the hash of the third block also gets change.

1.1.5 Linked List and Block Chain Structure

In a Linked List, Basically, it is a collection of blocks which are connected to each other by a pointer. The previous node is contained the next node address and the last node include null pointer value. The first node is called as genesis block and that block's pointer includes in the system itself.

Abbildung in dieser Leseprobe nicht enthalten

Figure 3.3 Linked List• and Block Chain Structure

In the blockchain data structure also have similar linked list implementation and to create a chain and a block include data and hash value which is a point to its previous block.In this block chain context pointer is not only the next node address it includes a hash of the previous node data. This simple mechanism is very tricky and it will increase a lot of security levels in the blockchain.

In a vulnerability situation, an attacker can be changed if block 3 data slightly but as per hash function implementation hash value will be big different than original one. That change in the third block will effect to second block hash as well. Therefore, this will effect backward continuously. So this small change in the third block will change entire chain in the network and it is very impossible as well. Therefore, this behavior will serve the immutability of the blockchain.

1.1.6 Public Key Cryptography

The basic idea of Public Key Cryptography (PKC) is similar to the hash function and this also one-way calculation [7] [5]. As an example, Lets’ think there is a message called [m] then anyone can calculate the encrypted value of m, using Enc (m). But only one can read the decrypted value using a special key and this computation related to opposite way of above encryption method.

In the PKC mechanism always need to have two keys called private key and public key. The public key is using to encrypt the particular message and it can be shared with others and the private key is to decrypt above encrypted hash and that key need to keep in secret with whoever owns the key.

Abbildung in dieser Leseprobe nicht enthalten

Figure 1.4: Encryption and Decryption Cycle

As per the above Figure 2, there is a possibility to decrypt a hash without knowing the private key upfront. For example, RSA encrypting doing based on a mathematical property of big number factorization. If someone can find a way to factorize a big number similar to the public key he would be able to decrypt without knowing private key using the same method explain above to break the cryptography.

There are two main scenarios where PKC is used in cryptography. The first one is, the sender needs to send a secure message to the receiver by encrypting. In this scenario, sender needs to encrypt a message using receiver public key and sender can make sure message is secure since only the receiver’s private key can decrypt the message and that private key secure with the receiver.

The second scenario is sender encrypts a message using his private key and anyone knows his public key can verify who is the message originator and that message encrypted by particular private key paired with the specific public key. This verification process is called digital signing and the encrypted part is called a digital signature. These digital signatures are based on asymmetric cryptography and can provide assurance of evidence to the origin, the identity of the sender and also it server message authenticity as well. The digital signature mechanism is used in the blockchain architecture to provide high-security feature and common ledger concept.

1.1.7 Public Cryptography in Bitcoin

A main security feature in the Bitcoin is integrity and by using PKC we can implement that security feature in Bitcoin transactions created in the blockchain network. Account wallet creation and transactions signing are major components of any cryptocurrency. In Bitcoin, Elliptic Curve Digital Signature Algorithm (ECDSA) uses to create a new private key and public key pair. After creating the public key then use a hash function to encode the public key and create public address which have the capability to doing any transaction within the network. Private Key is safely saved in the wallet or some secure location to verify whether a particular transaction is legal.

1.1.8 How to Secure Hash Chain with Public Key Cryptography

To maintain a strong security mechanism there should be few characteristics in the blockchain. The basic one is that only one person should be capable to add a block to Hash chain at a given instance.

If the last block contains a public key of the current owner and the digital signature of the previous block owner, then next block creation will need a signature of the current block of the person who has the private key [7]. When creating new block current owner should place a new public key in the block and need to sign it with the private key. Using this mechanism next block will be owned by whoever keeps the private key corresponding to a newly created block and signature will prove only that previous owner can own that block. As per previous section description after connecting two blocks with digital signing that connection never be broken and also never can insert faulty block between established block chains. That is the main concept behind the blockchain. Below diagram has been clearly depicted about the connectivity between blocks using digital signatures and hash values of the blocks [1].

Abbildung in dieser Leseprobe nicht enthalten

Figure 1.5:How Block Chain Digital Signature Working

1.1.9 What is Block-Chain

Blockchain is a combined set of data and this data collected and processed to fit into a block and this process is called mining [1]. Each block could be identified by a cryptographic hash. This hash can be identified as a digital signature as well. Current block always contains a hash of the previous block. Therefore, all the blocks can perform as a chain from the first block which is called the Genesis Block. According to this mechanism all the data can be connected through a linked list structure and create the blockchain network.

Abbildung in dieser Leseprobe nicht enthalten

Figure 1.6: How link blocks

The main security feature of blockchain is a record of the transaction is unchangeable because of nature of the blockchain. It is a public ledger anyone can see and also if one block changes in the network other related blocks also will affect that change. Each block of the transaction is a one-time sign and linked to the previous block and after inserting the new block into the blockchain network that block can never be removed or deleted.

Blockchain is continuously growing and evolving technology and main usage of blockchain technology is, it is a peer to peer to a network which can manage anonymously to exchange data between different parties. And also blockchain network can be used for smart contracts which can be automatically executed when certain conditions are completed.

According to literature review about blockchain there are two main categories called private and public. The public blockchain is used when anyone need to update or send transaction till the particular node is part of the network. But in the private blockchain only pre-selected nodes can access the network and those nodes need to be verified through a verification process. Using private blockchain, we can restrict specific parties to access the network and also can be allow among specific parties to connect. This is similar to connectivity among several banks which are agreed to network partnership between each other. Blockchain is very latest technology which is using a lot of use cases in these days and below is popular use cases of blockchain.

- Payment and digital currency
- Healthcare
- Birth and death certificates - Khanections, LLC
- Authorship and ownership - Bitproof, Blockai,Crypto-Copyright.
- Blockchain-as-a-Service (BaaS) - Ethereum Blockchain as a Service by Microsoft
Azure, Rubix by Deloitte, IBM Blockchain on Bluemix
- Compliance and security - Chainalysis, Third Key Solutions, Blockverify
- Data integrity and security - PeerNova, Guardtime
- Digital identity, identification, and authentication - Keychain, ShoCard, Guardtime, BlockVerify.
- E-voting - Follow My Vote, Estonia’s e - Residency platform
- Land registry - The Dubai Land Department (DLD)
- Supply chain management - Skuchain, Factom

1.2.1 Introduction to Bitcoin

Blockchain is a fast growing technology which is using for many use cases these days. Bitcoin also is a very famous use case which uses blockchain technology and it is a digital currency can be transferred on the blockchain. Bitcoin is a common decentralize ledger which is introduced by a person called Satoshi Nakamoto in 2009. These days it is international digital currency and some countries using bitcoin for some service. At the beginning, bitcoin was introduced for transfer and send money between two parties in an anonymous way. But after that after the evolution of bitcoin, it is using to democratize commerce and global transactions between peers without paying any fees to the middleman and also without middleman authentications.

Bitcoin is a digital currency which is not control by anyone it is using to transfer any amount of value from one place to another place. This Bitcoin can use buy or sell services, store assets and transfer money between two places without third-party interference. The main differentiating feature of this Bitcoin with other currencies is, Bitcoin is unshakable and cannot be stolen.

Abbildung in dieser Leseprobe nicht enthalten

Figure 1.7: Bitcoin Ecommerce

1.2.2 Current Use Case of Bitcoin

The main use cases of bitcoin are eliminating or limiting exchange rate risk, limiting inflation issues, and also it is a new type of currency. And also Bitcoin is high secure cryptocurrency that we can use any transaction with anonymity. While Bitcoin is the major financial use case of blockchain following are the few current bitcoin use cases in detail.


Today most of the people in the world are connected and their relations are living in separate places around the world. Therefore, money transferring and other global transactions are functioning in a huge amount within a day. These kind of global transactions are getting more expensive due to adding several types of fees and charges depending on service providers. Bitcoin payment systems are reducing these kinds of problems and allow people to transfer money without higher fees.

Exchange Rate Risk Protection

If we need to transfer a large amount of money between two users from one currency to another currency globally, the relevant bank will take at least 3-5 days with all the settlement processes. Therefore, in that time period, there is a risk to change exchange rates between two currencies. Because of that reason, fees and charges will differ from the original value. But Bitcoin payment system process transactions in real time and this kind of exchange rate issues can be minimized.

Inflation Protection

Another main use case of bitcoin, it can create inflation protection compared to other currencies. There are many countries, suffering from frequent currency fluctuation and facing with downsizing their worth timely manner. As per the last year statistics bitcoin also has major fluctuation but still, it is a good option to inflation problems compared to other currencies.

New Currency

Most of the top companies like Microsoft and Wordpress are using bitcoin as a currency and this is the latest trend and it will continue growing. This Bitcoin currency will be most popular recently because it is very high security and transfer time rate is very low.

There are a lot of service providers for bitcoin transactions and among them Coinbase, Kraken, HitBTC, Bitstamp, Poloniex, CEX.IO, CoinMama are few exchanges that anybody can buy or sell bitcoins with some restrictions.

1.2.3 How Bitcoin works

Bitcoin is a financial use case of blockchain concept. According to blockchain concept in the Bitcoin also have files shared among the multiple computers which are connected to the network. These connected computers can communicate with each other within the network and share and update files spread over the network. This communication happens when new transaction inserts into the network and when update the blockchain network whether the transaction is a valid transaction and confirmed it in the all the connected computers on the network.

When we make any bitcoin payment, first payment instruction need to be sent to Bitcoin blockchain network and wait to validate details with others. After some time, after confirming the payment details it should be included in the block and added to Bitcoin blockchain file on all the nodes across the network.

Bitcoin authenticity is stored in Blockchain network and Bitcoins are related to addresses. Bitcoins are not stored in anywhere but keys and password are stored in the user wallet which manages address. User Bitcoin balance and transaction history also stored in wallet file. In this wallet file actually not included the bitcoin-related to any transaction but only addresses.

As per to cryptographic implementation bitcoin is more secure than other currencies and it is impossible to do fake transactions. Bitcoin also can act as real money in the current trade market and can be used for buy and sell any items as fiat currency. This Bitcoin is not a tangible digital asset and it always includes input funds as one address and the output funds as another address. In order to serve the authenticity of the transaction whole transaction need to be digitally signed by the sender’s private key and other users in the bitcoin network can verify that by using sender public key since the public key is exposing for everyone. But because of nature of this block chain implementation, no one can get reveal the true owner of the transaction using this public key. That will serve anonymity of the transaction sender and the as well as receiver. When we look at an address it is just a random number and there is no any idea about who owns the address.

1.2.4 How Block Chain use in Bitcoin

There are two major goals behind finding cryptocurrency and those are preventing double spending and also to achieve high secure transaction mechanism without third-party authentication. All the bitcoin users will have a copy of blockchain and it will allow transparency of the transactions which are added to the network.

Abbildung in dieser Leseprobe nicht enthalten

Figure 1.8: Bitcoin In Block Chain Network

In a Bitcoin transaction, blockchain will create an interconnection between all users connected to network and every time when entering a transaction to the network after validating it will broadcast to other users and also network will have a copy of every transaction. Instead of saving any transaction in the blockchain, the network will bundle transaction information into a block and it will broadcast into the network. Each and every block link to the previous block this chain will trace to the first block which is called genesis block.

Abbildung in dieser Leseprobe nicht enthalten

Figure 1.9: How Genesis Block Working

1.3.1 Bitcoin Mining

The process creating this block in the network is called Mining and the user who created blocks are Miners. Bitcoin network older version all the users are miners but in these days, there are dedicated users who connected to the Bitcoin network using special protocols. After adding a transaction to the network and verify by the majority of the network that transaction will consider as a legal block.

Abbildung in dieser Leseprobe nicht enthalten

Figure 1.10: Bitcoin Mining

After receiving a valid block from miners, the user will add to their local network and it will broadcast to the rest of the network.

In the Bitcoin mining process, users who have internet over the network and computational power can involve with the mining process. Miners always need to compile recent transactions into blocks and try to solve computational algorithm. Among all the miners who solve the computational puzzle first will claim record. Bitcoin mining is like winning a lottery and user have more hardware and computational powers have more chance to win the reword. Standard time of the resolving a new block by miners is 10 minutes and Bitcoin network will adjust that time frequently by itself.

To find a valid block in the mining process, first miners create a list of recent transactions and calculate summary of that transaction list. This summery will include all the information about the transaction list. This summery will be related with a number called nonce to use to create block header. After that check whether this hash of the block header will enough to find the valid block and if it is not enough nonce is change and calculate new hash and check again.


Excerpt out of 82 pages


Peer-to-peer payment system and crypto-currency using blockchain technology with a secure wallet and multi-signature transactions
Catalog Number
ISBN (eBook)
peer-to-peer, cryptocurrency, multisignature wallet, online payment
Quote paper
Eranda Gunasena (Author), 2018, Peer-to-peer payment system and crypto-currency using blockchain technology with a secure wallet and multi-signature transactions, Munich, GRIN Verlag,


  • No comments yet.
Read the ebook
Title: Peer-to-peer payment system and crypto-currency using blockchain technology with a secure wallet and multi-signature transactions

Upload papers

Your term paper / thesis:

- Publication as eBook and book
- High royalties for the sales
- Completely free - with ISBN
- It only takes five minutes
- Every paper finds readers

Publish now - it's free