Crypcurr-v3-161208175314 PDF

Title Crypcurr-v3-161208175314
Author rr rr
Course Análisis de Sistemas (Integradora)
Institution Universidad Tecnológica Nacional
Pages 15
File Size 750.1 KB
File Type PDF
Total Downloads 2
Total Views 151

Summary

Paper para tp anual...


Description

Crypto-Currency Mining Computer Architectures

Hugo Rodrigues Silicon Valley, USA [email protected]

Abstract—Crypto-currencies usage is growing in a more connected world. The traditional banking industry is being disrupted by a decentralized network, rich in computing resources and connectivity. Keywords—Computing; Hardware; Hash; Mining; GPU; CPU; Bitcoin; Blockchain; Consensus; Ledger; Mathematical; Energy;

I.

INTRODUCTION

Internet and computing development along time opened a myriad of opportunities to change the way society lives and interacts. This paper presents a new platform focused on disrupting financial markets, more precisely the centenary commonly accepted laws and rules regarding currency utilization across the world. Focusing on the strategy and tactics of arising technology improvements, this work will create awareness about the industry and gather information to lead to a viable way of joining the race at the current state. II.

CRYPTO-CURRENCIES

A. Fundamentals Bitcoin became the first decentralized cryptocurrency in 2009[1]. Since then, numerous cryptocurrencies have been created. These are frequently called altcoins, as a blend of bitcoin alternative. Bitcoin and its derivatives use decentralized control as opposed to centralized electronic money/centralized banking systems. The decentralized control is related to the use of bitcoin's blockchain transaction database in the role of a distributed ledger[2]. Decentralized cryptocurrency is produced by the entire cryptocurrency system collectively, at a rate which is defined when the system is created and which is publicly known. In centralized banking and economic systems such as the Federal Reserve System, corporate boards or governments control the supply of currency by printing units of fiat money or demanding additions to digital banking ledgers. In case of decentralized cryptocurrency, companies or governments cannot produce new units, and have not so far provided backing for other firms, banks or corporate entities which hold asset value measured in it. The underlying technical system upon which decentralized cryptocurrencies are based was created by the group or individual known as Satoshi Nakamoto [3].

As of March 2015, hundreds of cryptocurrency specifications exist; most are similar to and derived from the first fully implemented decentralized cryptocurrency, bitcoin. Within cryptocurrency systems the safety, integrity and balance of ledgers is maintained by a community of mutually distrustful parties referred to as miners: members of the general public using their computers to help validate and timestamp transactions adding them to the ledger in accordance with a particular timestamping scheme. The security of cryptocurrency ledgers is based on the assumption that the majority of miners are honestly trying to maintain the ledger, having financial incentive to do so. Most cryptocurrencies are designed to gradually decrease production of currency, placing an ultimate cap on the total amount of currency that will ever be in circulation, mimicking precious metals. Compared with ordinary currencies held by financial institutions or kept as cash on hand, cryptocurrencies are less susceptible to seizure by law enforcement. Existing cryptocurrencies are all pseudo-anonymous, though additions such as Zerocoin and its distributed laundry feature have been suggested, which would allow for true anonymity [4]. B. Industry overview Today, there are over 700[5] digital currencies in existence. Entry into the marketplace is undertaken by so many due to the low cost of entry and opportunity for profit making through the creation of coins. Network effects play an important role in analyzing the development of cryptocurrency markets. Since any given currency gains use value as the number of its users increase, popularity of a certain currency is integral in that currency's success. Economists postulate that large competitors (such as the most popular cryptocurrency: bitcoin) will attract more new users due to the size of their growing exchange pools and as a result will effectively dominate the market. A study entitled "Competition in the Cryptocurrency Market"[6] conducted by members of the NET Institute over three periods between 2013 and 2014 charts the analysis of changes in price data over time in regards to budding cryptocurrency markets. It analyzes bitcoin and other similar cryptocurrencies referred to as "altcoins". These include Litecoin, Peercoin, and Namecoin; cryptocurrencies listed in order by which account for the largest percentages of digital market capitalization behind bitcoin (which accounts for 90%).

The NET study found that of these four, all were early entrants into the digital currency marketplace, designed to correct perceived bitcoin's flaws and amass popularity in an infant market whose popularity was rapidly growing. This study introduced the question of the role of demand in cryptocurrency markets, and what impetus demand has in relation to emerging coins. The study dealt namely with two common forces of demand that shaped the market: reinforcement and substitution effects. The reinforcement effect expects demand to increase based on usership, and that the cryptocurrency that could gain the most buyers and sellers would win out above all others, thus dominating the marketplace. The substitution effect implies that as the price of bitcoins rose with increased usership, people would begin to look for other options in the cryptocurrency market, thus discouraging any one coin from gaining complete dominance.

customers and so on. Banking “facts” are usually recorded by at least two different entities and an expensive process of reconciliation is needed to make sure each party’s view of the world is the same.

III.

CURRENCY AND TECHNOLOGY

Currency is an enormous business with trillions of dollars crossing borders each year, and historically an extremely inefficient and opaque one. Those conditions have made the business ripe for disruption by technology. A. Blockchain Blockchain technology is best known for being the magic behind Bitcoin, but there are scores of other industries that are benefiting from this revolutionary technology. Before we take a look at the industries and companies innovating in these spaces, let’s break down this technology so we are all on the same page. Blockchain technology is a big fancy word that describes the act of recording events in a database. The database itself is referred to as the blockchain. Once data is added to the blockchain, it cannot be removed from the database or altered in any way. The blockchain therefore contains a verifiable record of history.

Fig. 1. Crypto-Currency Market Capitalizations from coinchoose.com

C. Legacy banking technology Today, the banking system is suported on a personal trust relationship between customers and banks. Currently transactions are complex due to a virtual technology bubble that constraints each bank’s technology. Inter-relations among banks are therefore supported by standard procedures and rules that are overviwed by third party entities. Using as an example a bank deposit and payment, the transaction flow is as:

The technology is fairly simple yet very profound. You might already be thinking of a business idea that could utilize such a system, and many visionaries are in the same boat. Steve Wozniak, co-founder of Apple, has joined a blockchain firm. But before you go start a round of fundraising for your own blockchain-based company check out the disruption the blockchain is creating in these industries. B. Shared ledger Bitcoin blockchain is a network of public “nodes” that function as individual ledgers, each of which maintains a full record of all of the transactions ever executed on the network. Unlike traditional, centralized ledger systems that rely on a single trusted party to maintain an accurate database of transactions, blockchain transaction authentication is achieved by arrangement of data “blocks” and “chains” that are validated through the consensus of all of the nodes on the network. The processing protocol and the network of nodes create the “strength in numbers” that makes blockchain processing appealing. In its 2016 Annual Report, the United States Treasury Department's Financial Stability Oversight Council (FSOC)[7], acknowledged the potential innovation and disruption blockchain (also referred to as “distributed ledger” or “shared ledger”) technology could impose on the financial system.

Fig. 2. Bank deposit and payments example

Bank A’s systems record the balances for Bank A’s customers, Bank B’s systems record the balances for Bank B’s

According to the report, “Distributed ledger systems may mitigate risk and improve resilience in financial networks in a number of ways. Because distributed ledgers can be designed to be broadly accessible and verifiable, they could provide a valuable mechanism for enhancing market transparency. By eliminating the need for some transactions to flow through

trusted third parties, distributed ledgers could reduce concentrated risk exposures to those firms and infrastructures. In addition, by improving the speed and accuracy of settlement systems, distributed ledger systems could reduce the counterparty and operational risks which arise when financial assets are exchanged.” C. Ledger transaction Transactions typically involve various participants like buyers, sellers, and intermediaries (such as banks, auditors, or notaries) whose business agreements and contracts are recorded in business ledgers. A business typically uses multiple ledgers to keep track of asset ownership and asset transfers between participants in its various lines of businesses. Ledgers are the systems of record (SORs) for a business's economic activities and interests.

Fig. 3. Typical business ledger transactions

D. Network evolution A centralized ledger network controls the flow of information and operational control from a single central point. A distributed ledger network [8] spreads computational workload across multiple nodes in a network. A decentralized ledger network allows nodes to make independent processing and computational decisions irrespective of what other peer nodes may decide.

Fig. 4. The 3 network topologies for business ledgers

It is not unusual for distributed systems to also be decentralized (as is the case for a bitcoin network). What is unique about a blockchain network is its decentralized consensus mechanism. All validating nodes in the network run the same (agreed-upon) consensus algorithm against the same transactions, and thus validate (or invalidate) each transaction. Valid transactions are written to the ledger. E. Distributed consensus The main hypothesis is that the blockchain establishes a system of creating a distributed consensus in the digital online world. This allows participating entities to know for certain that a digital event happened by creating an irrefutable record in a public ledger. It opens the door for developing a

democratic open and scalable digital economy from a centralized one. There are tremendous opportunities in this disruptive technology and revolution in this space has just begun.

IV.

CRYPTOGRAPHY

A. Hashing functions Creation of a bit string (digest) representing integrity of content other string. Changing one character in the original string results in complete different has. Changing multiple characters in original string that results in the same hash requireslarge amount of processing power for a long period of time. B. Public & private keys Two large prime numbers that have a mathematical relation with each other. A string encrypted with one key can only be decrypted with the other. One key needs to be kept private, the other one can be made publicly known so that it can be used by other parties to exchange data with you in a secure manner. Private keys need to be stored that it is accessible only for owner. This can be done on personal devices (PC, smart card, USB stick, phone, …) or remotely with a service provider (cold and hot wallets). C.

Encryption Scrambling of clear text with the public key of the recipient so that the holder of that private key is the only one that can descramble the message. This is used to guarantee the confidentiality of the data exchanged.

Wallet encryption uses AES-256-CBC to encrypt only the private keys that are held in a wallet. The keys are encrypted with a master key which is entirely random. This master key is then encrypted with AES-256-CBC with a key derived from the passphrase using SHA-512 and OpenSSL's EVP_BytesToKey and a dynamic number of rounds determined by the speed of the machine which does the initial encryption (and is updated based on the speed of a computer which does a subsequent passphrase change). Although the underlying code supports multiple encrypted copies of the same master key (and thus multiple passphrases) the client does not yet have a method to add additional passphrases. At runtime, the client loads the wallet as it normally would, however the keystore stores the keys in encrypted form. When the passphrase is required (to top up keypool or send coins) it will either be queried by a GUI prompt, or must first be entered with the walletpassphrase RPC command. This will change the wallet to "unlocked" state where the unencrypted master key is stored in memory (in the case of GUI, only for long enough to complete the requested operation, in RPC, for as long as is specified by the second parameter to walletpassphrase). The wallet is then locked (or can be manually locked using the walletlock RPC command) and the unencrypted master key is removed from memory.

When the wallet is locked, calls to sendtoaddress, sendfrom, sendmany, and keypoolrefill will return Error -13: "Error: Please enter the wallet passphrase with walletpassphrase first." When the wallet is unlocked, calls to walletpassphrase will fail. The moment a wallet is encrypted, a passphrase is required to top up the keypool, thus, if the passphrase is rarely entered, it is possible that keypool might run out. In this case, the default key will be used as the target for payouts for mining, and calls to getnewaddress and getaccount address will return an error. In order to prevent such cases, the keypool is automatically refilled when walletpassphrase is called with a correct passphrase and when topupkeypool is called (while the wallet is unlocked). Note that the keypool continues to be topped up on various occasions when a new key from pool is used and the wallet is unlocked (or unencrypted). D. Digital signature Encryption of hash representing of original data to be secured with the private key of the sender (called digital signature) that is decrypted by the recipient with the public of the sender. If the decrypted hash matches the content of the original data it implies two things. First, the encryption can only be performed with the private key corresponding with public key and secondly, the original data can’t be tampered with.

V.

MULTI-SIGNATURE ADDRESSES

A multi-signature address is an address that is associated with more than one ECDSA private key. The simplest type is an m-of-n address - it is associated with n private keys, and sending bitcoins from this address requires signatures from at least m keys. A multi-signature transaction is one that sends funds from a multi-signature address. A. Aplication The primary use case is to greatly increase the difficulty of stealing the coins. With a 2-of-2 address, you can keep the two keys on separate machines, and then theft will require compromising both, which is very difficult - especially if the machines are as different as possible (e.g., one pc and one dedicated device, or two hosted machines with a different host and OS). It can also be used for redundancy to protect against loss with a 2-of-3 address, not only does theft require obtaining 2 different keys, but you can still use the coins if you forget any single key. This allows for more flexible options than just backups. It can also be used for more advanced scenarios such as an address shared by multiple people, where a majority vote is required to use the funds. Multi-signature transactions are often conflated with BIP 16 and 17. In fact they are not directly related. Multi-signature transactions have been supported by the protocol for a long

time; but implementing them would require a special output script.

VI. WALLETS Bitcoin 1.0 can be described as a simple send-receive system. In a Bitcoin account, there is a set of 34-character Bitcoin addresses, similar to: MMC: MGM8jcq6F8gN7vCt6eZaTBQA6PoeA94zke Quark: QitSWH9ZVZaadyVzRbLM1ZuKnJxrjgLKYA LiteCoin: LVtAdoLmgJgcZaqUXCHYQxnEqAZwbYCZeX EarthCoin: eRi2NVviQoDDFVunG7pGbQ2sYSWsLAcTJP DigiByte: DELB1n6z6R5JJdvwQLkqwqizsSDZYE4gGY are used to receive bitcoins, and each address has an associated 64-character private key, in this case: c4bbcb1fbec99d65bf59d85c8cb62ee2db963f0fe106f483d9a fa73bd4e39a8a can be used to spend bitcoins that are sent to the address. Private keys need to be kept safe and only accessed when you want to sign a transaction, and Bitcoin addresses can be freely handed out to the world. And that's how Bitcoin multi-sig wallets are secured. If you can keep the single private key safe, everything's fine; if you lose it the funds are gone, and if someone else gains access to it your funds are gone too essentially, the exact same security model that we have with physical cash, except a thousand times more slippery. The technology referred as Bitcoin 1.5, is a concept that was first pioneered and formalized into the standard Bitcoin protocol in 2011 and 2012: multi signature transactions. In a traditional Bitcoin account, as described above, you have Bitcoin addresses, where each address has one associated private key that grants the keyholder full control over the funds. With bitcoin multi signature addresses, you can have a Bitcoin address with three associated private keys, such that you need any two of them to spend the funds. Theoretically, you can have one-of-three, five-of-five, or six-of-eleven addresses too; it just happens that two-of-three is the most useful combination. A. Generation of Multi Signature A 2-of-3 MULTI-SIG address can be created by following these steps: Gather (or generate) 3 bitcoin addresses, on whichever machines will be participating, using getnewaddress or getaccountaddress RPC commands. Get their public keys using the validateaddress RPC command 3 times. Then, create a 2-of-3 addmultisigaddress; e.g.

multi-sig

address

using

bitcoind addmultisigaddress 2 '["044322868cb17d64dcc22185ae2d4493111d73244c3668f8a c79ecc79c0ba8d30a6756d0fa20157

709af3281cc721c7f53321a8cabda29b77900b7e4fe0174b114", "..second pubkey..","..third pubkey.."]’

require intermediaries who will charge fees, how is it better than Paypal?

addmultisigaddress returns the multi signature address

First of all, it's voluntary. In certain circumstances, such as when you are buying from a large reputable corporation or when you're sending money to an employee or contractor you have an established relationship with and trust, intermediaries are unnecessary; plain old A to B sends work just fine. Sending to charities is a similar circumstance, because charities don't really owe you anything when you send them money in any case. Second, the system is modular. Sometimes, the ideal arbitrator for a particular transaction is a specialized entity that can do that particular job much better; for example, if you're selling virtual goods the ideal arbitrator would be the operator of the platform the virtual goods are on, since they can very quickly determine whether a given virtual good has been sent. At other times, you might want a generic arbitrator, but you're in an industry where mainstream pr...


Similar Free PDFs