Hashrate (Hashing power or h/s) – BitcoinWiki

hashflare

Discussion based on cloud mining specifically using HashFlare.
[link]

QuarkCoin Cryptocurrency

Quark is a decentralized digital monetary system. It facilitates sending Quarks to Friends, Family Members Online Payments free of charges and charge-backs. Military Grade Encryption. No Bank or Government Control. Quark coins are based on the original idea of Bitcoin but improved, more secure, faster transaction times and zero fees. With improvements to design and security. There is also a greater coin supply with higher block rewards for miners. Quark is fully Open Source.
[link]

The Best Cryptocurrency Mining Pools in 2020

This review is not sponsored! Neither it is an ad.
How to choose a mining pool? How to avoid stale shares? The pros and cons of different services.

What is a cryptocurrency mining pool?

A “mining pool" is a server that distributes the task of calculating the block signature between all connected participants. The contribution of each of them is evaluated using the so-called “shares”, which are potential candidates for receiving a signature. As soon as one of the “shares” hits the target, the pool announces the readiness of the block and distributes the reward.
However, if you participate in the pool, then you will have to share the profit with all the participants in the pool, but for the majority, this usually is the most profitable option.

Which pool is better for mining?

The best mining pools should meet the following criteria:

Key selection criteria

To select a good pool for each specific cryptocurrency, you need to carefully study all the information available about it on its website and on the forums.
To reduce the number of stale shares, it is better to mine on the pool closest to the miner. You can choose the fastest mining pool by studying the information about the processing speed of the share in the mining program or by pinging the time it takes for the signal to pass from the miner's computer to the servers of the pool.

10 most popular and powerful pools: Description

ViaBTC

Coins: BTC, BCH, BSV, LTC, ETH, ETC, ZEC, DASH, XMR, CKB
Commission: 3%, lifetime discount: 1%

EMCD

Coins: BTC, BSV, BCH, LTC, ETC, ETH, DASH
Commission: 0%. There is a donation option: 0.5% of the income

Ethermine

Coins: ETH, ETC, ZEC
Commission: 1%

F2pool

Coins: BTC, LTC, and many other coins
Commission: 3-5%

NanoPool

Coins: XMR, ETH, ETC, SiaCoin, ZEC, PASC, ETN
Commission:1%

Mining Pool Hub

Coins: BTC, BSV, BCH, LTC
Commission: 0.9%

NiceHash

Coins: BTC, ETH, XRP, BCH, LTC, ZEC, DASH, XLM, EOS, USDT, LINK, BAT, ZRX, HOT, OMG, REP, BTG, NEXO, MATIC, ENJ, SNT, ELF, BNT, KNC, POLY, MTL + 20 more.
Commission: 2-5%

Coinotron

Coins: ETH, ETC, PASC, LTC, Zcash, BTG, DASH, FTC, VTC
Commission: 1-1.5%

Monero Mining Pool

Coins: XMR
Commission: 2%

Baikalmine

Coins: ETH, ETC, MOAC, CLO
Commission: 0.5-1%

Independent Pool Statistics

To make sure that the pools work and really exist, check independent sources. These are:
Keep up with the news of the crypto world at CoinJoy.io Follow us on Twitter and Medium. Subscribe to our YouTube channel. Join our Telegram channel. For any inquiries mail us at [[email protected]](mailto:[email protected]).
submitted by CoinjoyAssistant to dogemining [link] [comments]

CelesOS Research Institute丨DPoW consensus mechanism-combustible mining and voting

CelesOS Research Institute丨DPoW consensus mechanism-combustible mining and voting
The token economy and the blockchain complement each other, while at the same time, the consensus mechanism forms the basis of the blockchain, whom constitutes the basic technical framework of the token economy.
The mainstream blockchain, like Bitcoin, Ethereum, and EOS have all compromised on certain aspects of the "impossible triangle" features.
https://preview.redd.it/8ocq98swpt551.png?width=554&format=png&auto=webp&s=37ab0235c07b450217e22531ad5291d5b4bcbbee
Bitcoin, as a decentralized digital currency, has sacrificed performance to meet the design requirements of decentralization and security, rendering it the target of highest attacking cost among all PoW public chains. The ASIC mining machines updates continually and new versions launch, both can continuously improve the computing power of the entire network.
Ethereum 2.0 will use a proof of stake (PoS) consensus mechanism. On the Ethereum network, money can be transfered and smart contracts can be operated, presenting a more complicated application scenario. However, due to its low performance, Ethereum is more prone to get congested.
EOS, as a blockchain application platform, is often suspected of being centralized. EOS uses a delegated proof of stake (DPoS) consensus mechanism. Having 21 super nodes responsible for bookkeeping and block generation, the EOS main network can handle more than 4,000 TPS now. However, due to its small number of nodes, it’s one of the three major public chains that are most easily questioned by the outside world on the "decentralization" feature.
An inefficient blockchain will only be a game in the laboratory, and an efficient blockchain without decentralization will only be taken advantage of by big players.
New generation consensus algorithm DPoW
Is there any consensus mechanism that can achieve a better balance between decentralization and efficiency, and can give miners incentives to invest in hardware resources? If we separate the two acts of "acquiring accounting rights" and "receiving block rewards", the above dilemma can be solved. By separating the above two, DPoW has finally achieved the effect of balancing efficiency and centralization.

https://preview.redd.it/www3h8swpt551.png?width=731&format=png&auto=webp&s=c0bf49a42751a9501828d0294bc9280f856c441e
Drawing on the design concept and operating experience of the preceding consensus mechanisms, DPoW is a new-generation consensus mechanism formed based on PoB and DPoS.
Before explaining DPoW, it’s necessary to introduce PoB.
PoB (Proof of Burn) is called the burning proof mechanism. (Source: https://en.bitcoin.it/wiki/Proof_of_burn))

https://preview.redd.it/payq2duzpt551.png?width=554&format=png&auto=webp&s=4b8e9181d95d31a8d5b75a7acab27c851a4a3a4d
PoB is a way to vote who has a commitment to the leadership of the network by burning tokens possessed. The greater the number of tokens burned, the higher the probability of gaining network leadership.
PoB is a method of distributed consensus and an alternative method of proof-of-work mechanism. It can also be used to guide a cryptocurrency.

https://preview.redd.it/4lmhs1i1qt551.png?width=554&format=png&auto=webp&s=e8c50b1638d8ec8d8a2dac2e842b50a2979984fb
In the DPoW-based blockchain, the miner's mining reward is no longer a token, but a "wood" that can be burned-burning wood. Through the hash algorithm, miners use their own computing power to get the corresponding non-tradable wood after proving their workload eventually. When the wood has accumulated to a certain amount, it can be burnt in the burning site.
DPoW technical solutions
Voting with computing power is the biggest innovation of the present invention. It uses the proof of work of the PoW algorithm to replace the stakes as votes, yet retains the BFT-DPoS block generation mechanism.
Specific steps are as follow:
  1. POW question acquisition
Obtain the question of proof of work. The proof of work of the present invention is to perform a Hash operation on a PoW problem; the questions is:
target = hash(block_id + account) ^ difficulty 
  1. POW question answering
A mathematical hash operation of a random number (nonce) is performed on the question, and if the hash value obtained is less than a certain value, the question is answered;
Question answering process:
nonce = random ()ret = max() while(ret > target) { if(hash(nonce+account + block_id)< target) { wood = nonce; break; } nonce++; } 
  1. Voting
Voting is to cast the specific answers to the question to the candidate BP. By such, it’s submitted to the blockchain and counted to the blockchain's status database; within an election period, the maximum value of the answer that each voter can calculate is N, and each answer can only be voted to one candidate BP, and the number of votes that can be cast is N.
The information and process that voting requires:
  • Answer to the question
  • Miner account
  • Block id
  • Block
  • Voting objects (candidate BP)
  • Verify that the vote is valid
  • After verification, it will be credited to BP
4. Count the votes
At the end of an election period, votes are counted and sorted top-down according to the number of votes under the name of the candidate BP. The top X candidate BPs are selected and inserted into the BP list, and the block generating order of the selected BP is written to the blockchain status database.
If X is the number of BPs generated by the system, namely a multiple of 3, it will be set in the genesis block and cannot be changed.
  1. Block generation
The DPoW block generation mechanism is the same as BFT-DPoS. The elected BP negotiates a block generation ownership order based on its own network resource status. When each BP node has block generation rights, the block reward is a fixed reward for each effective irreversible block. At the same time, the blocks that have been generated use the BFT signature mechanism. After getting 2/3 BP's signature, the block will become an irreversible block.
DPoW’s advantage in balance
Compared with existing technical solutions, the DPoW consensus protocol has the following feature.
  1. When the stock of burning wood is large, the nodes in the system tend to burn burning wood to vote instead of logging through computing power, which is similar to the DPoS under this situation.
  2. When the stock of burning wood is few, the nodes in this system tend to log to obtain burning wood for voting, which is similar to PoW under this situation, presenting the feature of decentralization. In order to ensure the high-speed operation of the system and attract ticket sources, BP will maintain a stable investment in computer resources to keep the system highly efficient.
Choosing to vote by logging or burning wood depends on the nodes’ own optimal choice, resulting in constant choosing between the two consensus mechanisms of PoW and DPoS. This will make nodes tend to choose PoW when decentralization is needed, and to choose DPoS when efficiency is needed.
For a system, whether it is decentralized does not depend on whether each block needs to be decentralized. The key is whether the system can provide a channel to decentralization and fair competition when needed. As long as the channel is reasonable, the system will be considered decentralized.
By decoupling vote by logging and block generation, they can be done asynchronously to achieve the effects of decentralization and high efficiency.
Learning and updating the preceding practices in blockchain technology, DPoW manages to achieve both decentralization and efficiency, as “having the cake and eating it”.

📷Website
https://www.celesos.com/
📷 Telegram
https://t.me/celeschain
📷 Twitter
https://twitter.com/CelesChain
📷 Reddit
https://www.reddit.com/useCelesOS
📷 Medium
https://medium.com/@celesos
📷 Facebook
https://www.facebook.com/CelesOS1
📷 Youtube
https://www.youtube.com/channel/UC1Xsd8wU957D-R8RQVZPfGA
submitted by CelesOS to u/CelesOS [link] [comments]

Proof Of Work Explained

Proof Of Work Explained
https://preview.redd.it/hl80wdx61j451.png?width=1200&format=png&auto=webp&s=c80b21c53ae45c6f7d618f097bc705a1d8aaa88f
A proof-of-work (PoW) system (or protocol, or function) is a consensus mechanism that was first invented by Cynthia Dwork and Moni Naor as presented in a 1993 journal article. In 1999, it was officially adopted in a paper by Markus Jakobsson and Ari Juels and they named it as "proof of work".
It was developed as a way to prevent denial of service attacks and other service abuse (such as spam on a network). This is the most widely used consensus algorithm being used by many cryptocurrencies such as Bitcoin and Ethereum.
How does it work?
In this method, a group of users competes against each other to find the solution to a complex mathematical puzzle. Any user who successfully finds the solution would then broadcast the block to the network for verifications. Once the users verified the solution, the block then moves to confirm the state.
The blockchain network consists of numerous sets of decentralized nodes. These nodes act as admin or miners which are responsible for adding new blocks into the blockchain. The miner instantly and randomly selects a number which is combined with the data present in the block. To find a correct solution, the miners need to select a valid random number so that the newly generated block can be added to the main chain. It pays a reward to the miner node for finding the solution.
The block then passed through a hash function to generate output which matches all input/output criteria. Once the result is found, other nodes in the network verify and validate the outcome. Every new block holds the hash of the preceding block. This forms a chain of blocks. Together, they store information within the network. Changing a block requires a new block containing the same predecessor. It is almost impossible to regenerate all successors and change their data. This protects the blockchain from tampering.
What is Hash Function?
A hash function is a function that is used to map data of any length to some fixed-size values. The result or outcome of a hash function is known as hash values, hash codes, digests, or simply hashes.
https://preview.redd.it/011tfl8c1j451.png?width=851&format=png&auto=webp&s=ca9c2adecbc0b14129a9b2eea3c2f0fd596edd29
The hash method is quite secure, any slight change in input will result in a different output, which further results in discarded by network participants. The hash function generates the same length of output data to that of input data. It is a one-way function i.e the function cannot be reversed to get the original data back. One can only perform checks to validate the output data with the original data.
Implementations
Nowadays, Proof-of-Work is been used in a lot of cryptocurrencies. But it was first implemented in Bitcoin after which it becomes so popular that it was adopted by several other cryptocurrencies. Bitcoin uses the puzzle Hashcash, the complexity of a puzzle is based upon the total power of the network. On average, it took approximately 10 min to block formation. Litecoin, a Bitcoin-based cryptocurrency is having a similar system. Ethereum also implemented this same protocol.
Types of PoW
Proof-of-work protocols can be categorized into two parts:-
· Challenge-response
This protocol creates a direct link between the requester (client) and the provider (server).
In this method, the requester needs to find the solution to a challenge that the server has given. The solution is then validated by the provider for authentication.
The provider chooses the challenge on the spot. Hence, its difficulty can be adapted to its current load. If the challenge-response protocol has a known solution or is known to exist within a bounded search space, then the work on the requester side may be bounded.
https://preview.redd.it/ij967dof1j451.png?width=737&format=png&auto=webp&s=12670c2124fc27b0f988bb4a1daa66baf99b4e27
Source-wiki
· Solution–verification
These protocols do not have any such prior link between the sender and the receiver. The client, self-imposed a problem and solve it. It then sends the solution to the server to check both the problem choice and the outcome. Like Hashcash these schemes are also based on unbounded probabilistic iterative procedures.
https://preview.redd.it/gfobj9xg1j451.png?width=740&format=png&auto=webp&s=2291fd6b87e84395f8a4364267f16f577b5f1832
Source-wiki
These two methods generally based on the following three techniques:-
CPU-bound
This technique depends upon the speed of the processor. The higher the processor power greater will be the computation.
Memory-bound
This technique utilizes the main memory accesses (either latency or bandwidth) in computation speed.
Network-bound
In this technique, the client must perform a few computations and wait to receive some tokens from remote servers.
List of proof-of-work functions
Here is a list of known proof-of-work functions:-
o Integer square root modulo a large prime
o Weaken Fiat–Shamir signatures`2
o Ong–Schnorr–Shamir signature is broken by Pollard
o Partial hash inversion
o Hash sequences
o Puzzles
o Diffie–Hellman–based puzzle
o Moderate
o Mbound
o Hokkaido
o Cuckoo Cycle
o Merkle tree-based
o Guided tour puzzle protocol
A successful attack on a blockchain network requires a lot of computational power and a lot of time to do the calculations. Proof of Work makes hacks inefficient since the cost incurred would be greater than the potential rewards for attacking the network. Miners are also incentivized not to cheat.
It is still considered as one of the most popular methods of reaching consensus in blockchains. Though it may not be the most efficient solution due to high energy extensive usage. But this is why it guarantees the security of the network.
Due to Proof of work, it is quite impossible to alter any aspect of the blockchain, since any such changes would require re-mining all those subsequent blocks. It is also difficult for a user to take control over the network computing power since the process requires high energy thus making these hash functions expensive.
submitted by RumaDas to u/RumaDas [link] [comments]

[dev]

The last fortnight has been relatively quiet in Dogecoin-land, although as you'll likely have seen it's been a lot more eventful for Bitcoin. Today I want to want to quickly cover progress on Dogecoin, but also talk longer term plans.
Dogecoin Core 1.10 is making good progress, and now fully syncs the Dogecoin main chain. Given it's a total rebuild against Bitcoin Core 0.11 (rather than the original plan of individually applying changes), this is very good news. Immediate priority is to complete updating the automated test suites to apply to Dogecoin. Right now it's still branded as Bitcoin Core, however that will likely be the last task, as we want to clearly identify the code changes required, as a reference for later updates.
Bitcoin Core 0.11 has just been released. All of those improvements it introduces are expected for Dogecoin Core 1.10, pending compatibility checks, and I'm particularly excited by block file pruning which should significantly reduce disk space requirements. Those of you running Dogecoin Core on Raspberry Pi hardware may also want to note the reduced memory usage.
bitcoinj 0.13 has been branched, and the adaptations to make it more readily altcoin compatible have been revised based on feedback from their devs. Hopefully we'll see those merged shortly. Meanwhile I've updated altcoinj to match the API changes. Still need a new project name if anyone has any suggestions.
Moving on from the technical updates, you may be aware Bitcoin's network is effectively under attack at the moment. What started as a "stress test" has snowballed into a spam attack on their network. This is relevant to the need to address Dogecoin fees; Charlie Lee has pointed out such an attack is infeasible on Litecoin due to increased fees for dust outputs, a function which Dogecoin does have. However the incredibly low fees (~$0.0002 per kb, rounded up, plus $0.0002 per dust output) mean it just slows things down. A similar issue was seen a while ago where someone decided to "rain" Dogecoins onto a number of wallets and inadvertently caused network problems as a result. I'll have more specific numbers when we're closer to a Dogecoin Core 1.10 release, but still definitely looking at well below 1 cent for most transactions.
You may have noticed these updates are getting a little thinner - that's because I'm now trying to move more material into standalone documents. The article I was working on with TheRealMage from the Litecoin Association has been published: An objective look into the impacts of forking blockchains due to malicious actors, and two further documents are being worked on at the moment: Dogecoin development guide and a guide to common datatypes I'd appreciate feedback on the process from the former, and whether the latter is useful for understanding how cryptocurrencies work. Both are very much work in progress right now, of course, but I'm trying to have clear reference documents for much of what we do, to help people understand.
Lastly, continuing the theme of documentation, I'm starting to draft notes on a strategy document. I think we're at a point where we need to make longer term plans for Dogecoin clearer, and I hope at a point where generally we can deal with the longer term in a constructive manner. I'm hoping to have a draft out in Q4 (i.e. October-December) for discussion.
I'm unfortunately booked solid the next two weekends (18th/19th and 25th/26th), so I'll try to get a very quick summary out around the 26th, but next full update will probably be in August. Meanwhile, have a great summer, and as always, stay wow!
Ross
submitted by rnicoll to dogecoin [link] [comments]

How to Create Your Own Cryptocurrency Using Python 2020

A blockchain is a public database that irreversibly documents and authenticates the possession and transmission of digital assets. Digital currencies, like Bitcoin and Ethereum, are based on this concept. Blockchain is an exciting technology that you can use to transform the capabilities of your applications.
Of late, we’ve been seeing governments, organizations, and individuals using the blockchain technology to create their own cryptocurrencies—and avoid being left behind. Notably, when Facebook proposed its own cryptocurrency, called Libra, the announcement stirred many waters across the world.

What if you could also follow suit and create your own version of a cryptocurrency?

I thought about this and decided to develop an algorithm that creates a crypto.
I decided to call the cryptocurrency fccCoin.
In this tutorial, I’m going to illustrate the step-by-step process I used to build the digital currency (I used the object-oriented concepts of the Python programming language).
Here is the basic blueprint of the blockchain algorithm for creating the fccCoin:
class Block: def __init__(): #first block class pass def calculate_hash(): #calculates the cryptographic hash of every block class BlockChain: def __init__(self): # constructor method pass def construct_genesis(self): # constructs the initial block pass def construct_block(self, proof_no, prev_hash): # constructs a new block and adds it to the chain pass u/staticmethod def check_validity(): # checks whether the blockchain is valid pass def new_data(self, sender, recipient, quantity): # adds a new transaction to the data of the transactions pass u/staticmethod def construct_proof_of_work(prev_proof): # protects the blockchain from attack pass u/property def last_block(self): # returns the last block in the chain return self.chain[-1]
Now, let me explain what is taking place…
1. Building the first Block class A blockchain comprises of several blocks that are joined to each other (that sounds familiar, right?).
The chaining of blocks takes place such that if one block is tampered with, the rest of the chain becomes invalid.
In applying the above concept, I created the following initial block class
import hashlib import time class Block: def __init__(self, index, proof_no, prev_hash, data, timestamp=None): self.index = index self.proof_no = proof_no self.prev_hash = prev_hash self.data = data self.timestamp = timestamp or time.time() u/property def calculate_hash(self): block_of_string = “{}{}{}{}{}”.format(self.index, self.proof_no, self.prev_hash, self.data, self.timestamp) return hashlib.sha256(block_of_string.encode()).hexdigest() def __repr__(self): return “{} – {} – {} – {} – {}”.format(self.index, self.proof_no, self.prev_hash, self.data, self.timestamp)
As you can see from the code above, I defined the __init__() function, which will be executed when the Block class is being initiated, just like in any other Python class.
I provided the following parameters to the initiation function:
self—this refers to the instance of the Block class, making it possible to access the methods and attributes associated with the class; index—this keeps track of the position of the block within the blockchain; proof_no—this is the number produced during the creation of a new block (called mining); prev_hash—this refers to the hash of the previous block within the chain; data—this gives a record of all transactions completed, such as the quantity bought; timestamp—this places a timestamp for the transactions. The second method in the class, calculate_hash, will generate the hash of the blocks using the above values. The SHA-256 module is imported into the project to assist in obtaining the hashes of the blocks.
After the values have been inputted into the cryptographic hash algorithm, the function will return a 256-bit string representing the contents of the block.
This is how security is achieved in blockchains—every block will have a hash and that hash will rely on the hash of the previous block.
As such, if someone tries to compromise any block in the chain, the other blocks will have invalid hashes, leading to disruption of the entire blockchain network.
Ultimately, a block will look like this:
{ “index”: 2, “proof”: 21, “prev_hash”: “6e27587e8a27d6fe376d4fd9b4edc96c8890346579e5cbf558252b24a8257823”, “transactions”: [ {‘sender’: ‘0’, ‘recipient’: ‘Quincy Larson’, ‘quantity’: 1} ], “timestamp”: 1521646442.4096143 }
2. Building the Blockchain class The main idea of a blockchain, just as the name implies, involves “chaining” several blocks to one another.
Therefore, I’m going to construct a Blockchain class that will be useful in managing the workings of the whole chain. This is where most of the action is going to take place.
The Blockchain class will have various helper methods for completing various tasks in the blockchain.
Let me explain the role of each of the methods in the class.
a. Constructor method This method ensures the blockchain is instantiated.
class BlockChain: def __init__(self): self.chain = [] self.current_data = [] self.nodes = set() self.construct_genesis()
Here are the roles of its attributes:
b. Constructing the genesis block The blockchain requires a construct_genesis method to build the initial block in the chain. In the blockchain convention, this block is special because it symbolizes the start of the blockchain.
In this case, let’s construct it by simply passing some default values to the construct_block method.
I gave both proof_no and prev_hash a value of zero, although you can provide any value you want.
def construct_genesis(self): self.construct_block(proof_no=0, prev_hash=0) def construct_block(self, proof_no, prev_hash): block = Block( index=len(self.chain), proof_no=proof_no, prev_hash=prev_hash, data=self.current_data) self.current_data = [] self.chain.append(block) return block
c. Constructing new blocks
The construct_block method is used for creating new blocks in the blockchain.
Here is what is taking place with the various attributes of this method:
d. Checking validity
The check_validity method is important in assessing the integrity of the blockchain and ensuring anomalies are absent.
As mentioned earlier, hashes are essential for the security of the blockchain as even the slightest change in the object will lead to the generation of a completely new hash.
Therefore, this check_validity method uses if statements to check whether the hash of every block is correct.
It also verifies if every block points to the right previous block, through comparing the value of their hashes. If everything is correct, it returns true; otherwise, it returns false.
u/staticmethod def check_validity(block, prev_block): if prev_block.index + 1 != block.index: return False elif prev_block.calculate_hash != block.prev_hash: return False elif not BlockChain.verifying_proof(block.proof_no, prev_block.proof_no): return False elif block.timestamp <= prev_block.timestamp: return False return True
e. Adding data of transactions
The new_data method is used for adding the data of transactions to a block. It’s a very simple method: it accepts three parameters (sender’s details, receiver’s details, and quantity) and append the transaction data to self.current_data list.
Anytime a new block is created, this list is allocated to that block and reset once more as explained in the construct_block method.
Once the transaction data has been added to the list, the index of the next block to be created is returned.
This index is calculated by adding 1 to the index of the current block (which is the last in the blockchain). The data will assist a user in submitting the transaction in future.
def new_data(self, sender, recipient, quantity): self.current_data.append({ ‘sender’: sender, ‘recipient’: recipient, ‘quantity’: quantity }) return True
f. Adding proof of work
Proof of work is a concept that prevents the blockchain from abuse. Simply, its objective is to identify a number that solves a problem after a certain amount of computing work is done.
If the difficulty level of identifying the number is high, it discourages spamming and tampering with the blockchain.
In this case, we’ll use a simple algorithm that discourages people from mining blocks or creating blocks easily.
u/staticmethod def proof_of_work(last_proof): ”’this simple algorithm identifies a number f’ such that hash(ff’) contain 4 leading zeroes f is the previous f’ f’ is the new proof ”’ proof_no = 0 while BlockChain.verifying_proof(proof_no, last_proof) is False: proof_no += 1 return proof_no u/staticmethod def verifying_proof(last_proof, proof): #verifying the proof: does hash(last_proof, proof) contain 4 leading zeroes? guess = f'{last_proof}{proof}’.encode() guess_hash = hashlib.sha256(guess).hexdigest() return guess_hash[:4] == “0000”
g. Getting the last block
Lastly, the latest_block method is a helper method that assists in obtaining the last block in the blockchain. Remember that the last block is actually the current block in the chain.
u/property def latest_block(self): return self.chain[-1]
Let’s sum everything together
Here is the entire code for creating the fccCoin cryptocurrency.
You can also get the code on this GitHub repository.
import hashlib import time class Block: def __init__(self, index, proof_no, prev_hash, data, timestamp=None): self.index = index self.proof_no = proof_no self.prev_hash = prev_hash self.data = data self.timestamp = timestamp or time.time() u/property def calculate_hash(self): block_of_string = “{}{}{}{}{}”.format(self.index, self.proof_no, self.prev_hash, self.data, self.timestamp) return hashlib.sha256(block_of_string.encode()).hexdigest() def __repr__(self): return “{} – {} – {} – {} – {}”.format(self.index, self.proof_no, self.prev_hash, self.data, self.timestamp) class BlockChain: def __init__(self): self.chain = [] self.current_data = [] self.nodes = set() self.construct_genesis() def construct_genesis(self): self.construct_block(proof_no=0, prev_hash=0) def construct_block(self, proof_no, prev_hash): block = Block( index=len(self.chain), proof_no=proof_no, prev_hash=prev_hash, data=self.current_data) self.current_data = [] self.chain.append(block) return block u/staticmethod def check_validity(block, prev_block): if prev_block.index + 1 != block.index: return False elif prev_block.calculate_hash != block.prev_hash: return False elif not BlockChain.verifying_proof(block.proof_no, prev_block.proof_no): return False elif block.timestamp <= prev_block.timestamp: return False return True def new_data(self, sender, recipient, quantity): self.current_data.append({ ‘sender’: sender, ‘recipient’: recipient, ‘quantity’: quantity }) return True u/staticmethod def proof_of_work(last_proof): ”’this simple algorithm identifies a number f’ such that hash(ff’) contain 4 leading zeroes f is the previous f’ f’ is the new proof ”’ proof_no = 0 while BlockChain.verifying_proof(proof_no, last_proof) is False: proof_no += 1 return proof_no u/staticmethod def verifying_proof(last_proof, proof): #verifying the proof: does hash(last_proof, proof) contain 4 leading zeroes? guess = f'{last_proof}{proof}’.encode() guess_hash = hashlib.sha256(guess).hexdigest() return guess_hash[:4] == “0000” u/property def latest_block(self): return self.chain[-1] def block_mining(self, details_miner): self.new_data( sender=”0″, #it implies that this node has created a new block receiver=details_miner, quantity= 1, #creating a new block (or identifying the proof number) is awarded with 1 ) last_block = self.latest_block last_proof_no = last_block.proof_no proof_no = self.proof_of_work(last_proof_no) last_hash = last_block.calculate_hash block = self.construct_block(proof_no, last_hash) return vars(block) def create_node(self, address): self.nodes.add(address) return True u/staticmethod def obtain_block_object(block_data): #obtains block object from the block data return Block( block_data[‘index’], block_data[‘proof_no’], block_data[‘prev_hash’], block_data[‘data’], timestamp=block_data[‘timestamp’])
Now, let’s test our code to see if it works.
blockchain = BlockChain() print(“***Mining fccCoin about to start***”) print(blockchain.chain) last_block = blockchain.latest_block last_proof_no = last_block.proof_no proof_no = blockchain.proof_of_work(last_proof_no) blockchain.new_data( sender=”0″, #it implies that this node has created a new block recipient=”Quincy Larson”, #let’s send Quincy some coins! quantity= 1, #creating a new block (or identifying the proof number) is awarded with 1 ) last_hash = last_block.calculate_hash block = blockchain.construct_block(proof_no, last_hash) print(“***Mining fccCoin has been successful***”) print(blockchain.chain)
It worked!
Here is the output of the mining process:
***Mining fccCoin about to start*** [0 – 0 – 0 – [] – 1566930640.2707076] ***Mining fccCoin has been successful*** [0 – 0 – 0 – [] – 1566930640.2707076, 1 – 88914 – a8d45cb77cddeac750a9439d629f394da442672e56edfe05827b5e41f4ba0138 – [{‘sender’: ‘0’, ‘recipient’: ‘Quincy Larson’, ‘quantity’: 1}] – 1566930640.5363243]
Conclusion
There you have it!
That’s how you could create your own blockchain using Python.
Let me say that this tutorial just demonstrates the basic concepts for getting your feet wet in the innovative blockchain technology.
If this coin were deployed as-is, it could not meet the present market demands for a stable, secure, and easy-to-use cryptocurrency.
Therefore, it can still be improved by adding additional features to enhance its capabilities for mining and sending financial transactions.
Nonetheless, it’s a good starting point if you decide to make your name known in the amazing world of cryptos.
If you have any comments or questions, please post them below.
Happy (crypto) coding!
Source: Cryptoors
submitted by djkloud to CryptoTechnology [link] [comments]

Waltonchain adds GNU General Public License details to code - BUT does the code contain this?

Waltonchain adds GNU General Public License details to code - BUT does the code contain this?
Dear Crypto community,
Yesterday we saw Waltonchain release their Open Source code which resulted in huge criticism regarding the oversight of removing the original copyright to the original codebase, Ethereum Go, on which it is based.
Following this, the team have now updated the code to show the original copyright:
Image from Github
Source: https://github.com/WaltonChain/WaltonChain_Gwtc_Src/blob/mastep2p/rlpx.go?utm_source=share&utm_medium=ios_app
Github: https://github.com/WaltonChain?tab=repositories

I'd like to say thank you to the community for having such strong opinion on this matter, and for all the subreddit admins that assisted in creating clarity toward this. As a global community we should hold every blockchain up to the same standards, and I am grateful that this was shown in regard to the GNU General Public License.

Now that the issue is resolved, and since Waltonchain is currently a hot topic, I implore all the coders and devs out there to delve deep into the code to see exactly what Waltonchain have released. Not just the modification to the eth codebase, but the additional code. What does the code allow?

What we've been told as a community is that the Waltonchain source code has changes that allows for:
  • Security - DASH X11 - Most cryptographic algorithms used in cryptocurrencies use only one hash function for calculation. There are 11 of them in X11, which provides a higher degree of protection against hackers and scams. Waltonchain has customised the DASH X11 hashing algorithm to fit their purpose.
  • More secure than Bitcoin. The Bitcoin algorithm is SHA-256 is based on a previous secure hash algorithm family of standards, namely SHA-2, the hash functions within the X11 algorithm all successfully made it into the second-round in search for a new, more secure standard — SHA-3. Keccak, the function which won the competition and is therefore the new standard on which SHA-3 is based on, can at the very least be considered more secure that SHA-256.
  • Efficiency — Waltonchain have produced ASICs with the equivalent hashing power of 200GPUs (32–40kW) whilst using only 135W, thus helping the parent chain become decentralised
  • PoS aspect works in tandem with PoW, in that it adds a reduced difficulty based on number of coins held and time between blocks. Effectively the longer coins are held and the longer the time between blocks, the lower the difficulty for mining blocks. This again enhances the power efficiency of the network in its entirety.
  • Fast cross-chain searching via Proof of Labour —PoL enables hash values or indices from sub-chains (child chains) to be synced with the parent chain in a ‘cross chain index mechanism’ to enable fast searches for data via the parent chain.
  • Scalibility — Unlimited scalibility due to child chains; each CC is an independent blockchain (or DAG) using its own consensus mechanism (PoS, PoA, PoW, PoeT, etc) and can store data within itself. The parent chain by nature therefore cannot become bloated.
  • Atomic Swaps — PoL by nature ensures a record of every inter-chain transaction is held, and allows the function of atomic swaps between currencies.

Also to note is that the code has been audited by Knownsec, the same company that audited projects like HPB and NANO.

Lets have an open dialogue and talk about these features of the code - but firstly, do they exist? Hopefully people will approach this with the same enthusiasm as they did yesterday.

EDIT 1st June: A user on the Waltonchain sub has done an analysis which by the looks of it, disproves the initial assessment by many of the 'blockchain experts' in cc that have said the open source code is simply a copy and paste . https://www.reddit.com/waltonchain/comments/bveqea/changeset_goethereum_v171_to_gwtc_v110/
It is interesting to see just how much people love to hate Waltonchain that they spread misinformation either intentionally, or unintentionally, and that it gets the most attention out of any announcement.

For reference:
Block explorer: www.Waltonchain.pro (all wallets, mining wallet, documentation etc is available via that link)
submitted by Yayowam to CryptoCurrency [link] [comments]

CODE FUD: Resolved.

Dear Waltonchain community,
Yesterday we saw Waltonchain release their Open Source code which resulted in huge criticism regarding the oversight of removing the original copyright to the original codebase, Ethereum Go, on which it is based.
Following this, the team have now updated the code to show the original copyright:
Source: https://github.com/WaltonChain/WaltonChain_Gwtc_Src/blob/mastep2p/rlpx.go?utm_source=share&utm_medium=ios_app
Github: https://github.com/WaltonChain?tab=repositories

I'd like to say thank you to the community for having such strong opinion on this matter, and for all the subreddit admins that assisted in creating clarity toward this. As a global community we should hold every blockchain up to the same standards, and I am grateful that this was shown in regard to the GNU General Public License.

Now that the issue is resolved, and since Waltonchain is currently a hot topic, I implore all the coders and devs out there to delve deep into the code to see exactly what Waltonchain have released. Not just the modification to the eth codebase, but the additional code. What does the code allow?

What we've been told as a community is that the Waltonchain source code has changes that allows for:

Also to note is that the code has been audited by Knownsec, the same company that audited projects like HPB and NANO.

Lets have an open dialogue and talk about these features of the code - but firstly, do they exist? Hopefully people will approach this with the same enthusiasm as they did yesterday.

For reference:
Block explorer: www.Waltonchain.pro (all wallets, mining wallet, documentation etc is available via that link)
submitted by Yayowam to waltonchain [link] [comments]

AN INTRODUCTION TO DIGIBYTE

DigiByte

What are cryptocurrencies?
Cryptocurrencies are peer to peer technology protocols which rely on the block-chain; a system of decentralized record keeping which allows people to exchange unmodifiable and indestructible information “coins,” globally in little to no time with little to no fees – this translates into the exchange of value as these coins cannot be counterfeit nor stolen. This concept was started by Satoshi Nakamoto (allegedly a pseudonym for a single man or organization) whom described and coded Bitcoin in 2009.
What is DigiByte?
DigiByte (DGB) is a cryptocurrency like Bitcoin. It is also a decentralized applications protocol in a similar fashion to Neo or Ethereum.
DigiByte was founded and created by Jared Tate in 2014. DigiByte allows for fast (virtually instant) and low cost (virtually free) transactions. DigiByte is hard capped at 21 billion coins which will ever be mined, over a period of 21 years. DigiByte was never an ICO and was mined/created in the same way that Bitcoin or Litecoin initially were.
DigiByte is the fastest UTXO PoW scalable block-chain in the world. We’ll cover what this really means down below.
DigiByte has put forth and applied solutions to many of the problems that have plagued Bitcoin and cryptocurrencies in general – those being:
We will address these point by point in the subsequent sections.
The DigiByte Protocol
DigiByte maintains these properties through use of various technological innovations which we will briefly address below.
Why so many coins? 21 Billion
When initially conceived Bitcoin was the first of a kind! And came into the hands of a few! The beginnings of a coin such as Bitcoin were difficult, it had to go through a lot of initial growth pains which following coins did not have to face. It is for this reason among others why I believe Bitcoin was capped at 21 million; and why today it has thus secured a place as digital gold.
When Bitcoin was first invented no one knew anything about cryptocurrencies, for the inventor to get them out to the public he would have to give them away. This is how the first Bitcoins were probably passed on, for free! But then as interest grew so did the community. For them to be able to build something and create something which could go on to have actual value, it would have to go through a steady growth phase. Therefore, the control of inflation through mining was extremely important. Also, why the cap for Bitcoin was probably set so low - to allow these coins to amass value without being destroyed by inflation (from mining) in the same way fiat is today! In my mind Satoshi Nakamoto knew what he was doing when setting it at 21 million BTC and must have known and even anticipated others would take his design and build on top of it.
At DigiByte, we are that better design and capped at 21 billion. That's 1000 times larger than the supply of Bitcoin. Why though? Why is the cap on DigiByte so much higher than that of Bitcoin? Because DigiByte was conceived to be used not as a digital gold, nor as any sort of commodity, but as a real currency!
Today on planet Earth, we are approximately 7.6 billion people. If each person should want or need to use and live off Bitcoin; then equally split at best each person could only own 0.00276315789 BTC. The market cap for all the money on the whole planet today is estimated to have recently passed 80 trillion dollars. That means that each whole unit of Bitcoin would be worth approximately $3,809,523.81!
$3,809,523.81
This is of course in an extreme case where everyone used Bitcoin for everything. But even in a more conservative scenario the fact remains that with such a low supply each unit of a Bitcoin would become absurdly expensive if not inaccessible to most. Imagine trying to buy anything under a dollar!
Not only would using Bitcoin as an everyday currency be a logistical nightmare but it would be nigh impossible. For each Satoshi of a Bitcoin would be worth much, much, more than what is realistically manageable.
This is where DigiByte comes in and where it shines. DigiByte aims to be used world-wide as an international currency! Not to be hoarded in the same way Bitcoin is. If we were to do some of the same calculations with DigiByte we'd find that the numbers are a lot more reasonable.
At 7.6 billion people, each person could own 2.76315789474 DGB. Each whole unit of DGB would be worth approximately $3,809.52.
$3,809.52
This is much more manageable and remember in an extreme case where everyone used DigiByte for everything! I don't expect this to happen anytime soon, but with the supply of DigiByte it would allow us to live and transact in a much more realistic and fluid fashion. Without having to divide large numbers on our phone's calculator to understand how much we owe for that cup of coffee! With DigiByte it's simple, coffee cost 1.5 DGB, the cinema 2.8 DGB, a plane ticket 500 DGB!
There is a reason for DigiByte's large supply, and it is a good one!
Decentralisation
Decentralisation is an important concept for the block-chain and cryptocurrencies in general. This allows for a system which cannot be controlled nor manipulated no matter how large the organization in play or their intentions. DigiByte’s chain remains out of the reach of even the most powerful government. This allows for people to transact freely and openly without fear of censorship.
Decentralisation on the DigiByte block-chain is assured by having an accessible and fair mining protocol in place – this is the multi-algorithm (MultiAlgo) approach. We believe that all should have access to DigiByte whether through purchase or by mining. Therefore, DigiByte is minable not only on dedicated mining hardware such as Antminers, but also through use of conventional graphics cards. The multi-algorithm approach allows for users to mine on a variety of hardware types through use of one of the 5 mining algorithms supported by DigiByte. Those being:
Please note that these mining algorithms are modified and updated from time to time to assure complete decentralisation and thus ultimate security.
The problem with using only one mining algorithm such as Bitcoin or Litecoin do is that this allows for people to continually amass mining hardware and hash power. The more hash power one has, the more one can collect more. This leads to a cycle of centralisation and the creation of mining centres. It is known that a massive portion of all hash power in Bitcoin comes from China. This kind of centralisation is a natural tendency as it is cheaper for large organisations to set up in countries with inexpensive electricity and other such advantages which may be unavailable to the average miner.
DigiByte mitigates this problem with the use of multiple algorithms. It allows for miners with many different kinds of hardware to mine the same coin on an even playing field. Mining difficulty is set relative to the mining algorithm used. This allows for those with dedicated mining rigs to mine alongside those with more modest machines – and all secure the DigiByte chain while maintaining decentralisation.
Low Fees
Low fees are maintained in DigiByte thanks to the MultiAlgo approach working in conjunction with MultiShield (originally known as DigiShield). MultiShield calls for block difficulty readjustment between every single block on the chain; currently blocks last 15 seconds. This continuous difficulty readjustment allows us to combat any bad actors which may wish to manipulate the DigiByte chain.
Manipulation may be done by a large pool or a single entity with a great amount of hash power mining blocks on the chain; thus, increasing the difficulty of the chain. In some coins such as Bitcoin or Litecoin difficulty is readjusted every 2016 blocks at approximately 10mins each and 2mins respectively. Meaning that Bitcoin’s difficulty is readjusted about every two weeks. This system can allow for large bad actors to mine a coin and then abandon it, leaving it with a difficulty level far too high for the present hash rate – and so transactions can be frozen, and the chain stopped until there is a difficulty readjustment and or enough hash power to mine the chain. In such a case users may be faced with a choice - pay exorbitant fees or have their transactions frozen. In an extreme case the whole chain could be frozen completely for extended periods of time.
DigiByte does not face this problem as its difficulty is readjusted per block every 15 seconds. This innovation was a technological breakthrough and was adopted by several other coins in the cryptocurrency environment such as Dogecoin, Z-Cash, Ubiq, Monacoin, and Bitcoin Gold.
This difficulty readjustment along with the MultiAlgo approach allows DigiByte to maintain the lowest fees of any UTXO – PoW – chain in the world. Currently fees on the DigiByte block-chain are at about 0.0001 DGB per transaction of 100 000 DGB sent. This depends on the amount sent and currently 100 000 DGB are worth around $2000.00 with the fee being less than 0.000002 cents. It would take 500 000 transactions of 100 000 DGB to equal 1 penny’s worth. This was tested on a Ledger Nano S set to the low fees setting.
Fast transaction times
Fast transactions are ensured by the conjunctive use of the two aforementioned technology protocols. The use of MultiShield and MultiAlgo allows the mining of the DigiByte chain to always be profitable and thus there is always someone mining your transactions. MultiAlgo allows there to a greater amount of hash power spread world-wide, this along with 15 second block times allows for transactions to be near instantaneous. This speed is also ensured by the use DigiSpeed. DigiSpeed is the protocol by which the DigiByte chain will decrease block timing gradually. Initially DigiByte started with 30 second block times in 2014; which today are set at 15 seconds. This decrease will allow for ever faster and ever more transactions per block.
Robust security + The Immutable Ledger
At the core of cryptocurrency security is decentralisation. As stated before decentralisation is ensured on the DigiByte block chain by use of the MultiAlgo approach. Each algorithm in the MultiAlgo approach of DigiByte is only allowed about 20% of all new blocks. This in conjunction with MultiShield allows for DigiByte to be the most secure, most reliable, and fastest UTXO block chain on the planet. This means that DigiByte is a proof of work (PoW) block-chain where all transactional activities are stored on the immutable public ledger world-wide. In DigiByte there is no need for the Lightning protocol (although we have it) nor sidechains to scale, and thus we get to keep PoW’s security.
There are many great debates as to the robustness or cleanliness of PoW. The fact remains that PoW block-chains remain the only systems in human history which have never been hacked and thus their security is maximal.
For an attacker to divert the DigiByte chain they would need to control over 93% of all the hashrate on one algorithm and 51% of the other four. And so DigiByte is immune to the infamous 51% attack to which Bitcoin and Litecoin are vulnerable.
Moreover, the DigiByte block-chain is currently spread over 200 000 plus servers, computers, phones, and other machines world-wide. The fact is that DigiByte is one of the easiest to mine coins there is – this is greatly aided by the recent release of the one click miner. This allows for ever greater decentralisation which in turn assures that there is no single point of failure and the chain is thus virtually un-attackable.
On Chain Scalability
The biggest barrier for block-chains today is scalability. Visa the credit card company can handle around 2000 transactions per second (TPS) today. This allows them to ensure customer security and transactional rates nation-wide. Bitcoin currently sits at around 7 TPS and Litecoin at 28 TPS (56 TPS with SegWit). All the technological innovations I’ve mentioned above come together to allow for DigiByte to be the fastest PoW block-chain in the world and the most scalable.
DigiByte is scalable because of DigiSpeed, the protocol through which block times are decreased and block sizes are increased. It is known that a simple increase in block size can increase the TPS of any block-chain, such is the case with Bitcoin Cash. This is however not scalable. The reason a simple increase in block size is not scalable is because it would eventually lead to some if not a great amount of centralization. This centralization occurs because larger block sizes mean that storage costs and thus hardware cost for miners increases. This increase along with full blocks – meaning many transactions occurring on the chain – will inevitably bar out the average miner after difficulty increases and mining centres consolidate.
Hardware cost, and storage costs decrease over time following Moore’s law and DigiByte adheres to it perfectly. DigiSpeed calls for the increase in block sizes and decrease in block timing every two years by a factor of two. This means that originally DigiByte’s block sizes were 1 MB at 30 seconds each at inception in 2014. In 2016 DigiByte increased block size by two and decreased block timing by the same factor. Perfectly following Moore’s law. Moore’s law dictates that in general hardware increases in power by a factor of two while halving in cost every year.
This would allow for DigiByte to scale at a steady rate and for people to adopt new hardware at an equally steady rate and reasonable expense. Thus so, the average miner can continue to mine DigiByte on his algorithm of choice with entry level hardware.
DigiByte was one of the first block chains to adopt segregated witness (SegWit in 2017) a protocol whereby a part of transactional data is removed and stored elsewhere to decrease transaction data weight and thus increase scalability and speed. This allows us to fit more transactions per block which does not increase in size!
DigiByte currently sits at 560 TPS and could scale to over 280 000 TPS by 2035. This dwarfs any of the TPS capacities; even projected/possible capacities of some coins and even private companies. In essence DigiByte could scale worldwide today and still be reliable and robust. DigiByte could even handle the cumulative transactions of all the top 50 coins in coinmarketcap.com and still run smoothly and below capacity. In fact, to max out DigiByte’s actual maximum capacity (today at 560 TPS) you would have to take all these transactions and multiply them by a factor of 10!
Oher Uses for DigiByte
Note that DigiByte is not only to be used as a currency. Its immense robustness, security and scalability make it ideal for building decentralised applications (DAPPS) which it can host. DigiByte can in fact host DAPPS and even centralised versions which rely on the chain which are known as Digi-Apps. This application layer is also accompanied by a smart contract layer.
Thus, DigiByte could host several Crypto Kitties games and more without freezing out or increasing transaction costs for the end user.
Currently there are various DAPPS being built on the DigiByte block-chain, these are done independently of the DigiByte core team. These companies are simply using the DigiByte block-chain as a utility much in the same way one uses a road to get to work. One such example is Loly – a Tinderesque consensual dating application.
DigiByte also hosts a variety of other platform projects such as the following:
The DigiByte Foundation
As previously mentioned DigiByte was not an ICO. The DigiByte foundation was established in 2017 by founder Jared Tate. Its purpose is as a non-profit organization dedicated to supporting and developing the DigiByte block-chain.
DigiByte is a community effort and a community coin, to be treated as a public resource as water or air. Know that anyone can work on DigiByte, anyone can create, and do as they wish. It is a permissionless system which encourages innovation and creation. If you have an idea and or would like to get help on your project do not hesitate to contact the DigiByte foundation either through the official website and or the telegram developer’s channel.
For this reason, it is ever more important to note that the DigiByte foundation cannot exist without public support. And so, this is the reason I encourage all to donate to the foundation. All funds are used for the maintenance of DigiByte servers, marketing, and DigiByte development.
DigiByte Resources and Websites
DigiByte
Wallets
Explorers
Please refer to the sidebar of this sub-reddit for more resources and information.
Edit - Removed Jaxx wallet.
Edit - A new section was added to the article: Why so many coins? 21 Billion
Edit - Adjusted max capacity of DGB's TPS - Note it's actually larger than I initially calculated.
Edit – Grammar and format readjustment
Hello,
I hope you’ve enjoyed my article, I originally wrote this for the reddit sub-wiki where it generally will most likely, probably not, get a lot of attention. So instead I've decided to make this sort of an introductory post, an open letter, to any newcomers to DGB or for those whom are just curious.
I tried to cover every aspect of DGB, but of course I may have forgotten something! Please leave a comment down below and tell me why you're in DGB? What convinced you? Me it's the decentralised PoW that really convinced me. Plus, just that transaction speed and virtually no fees! Made my mouth water!
-Dereck de Mézquita
I'm a student typing this stuff on my free time, help me pay my debts? Thank you!
D64fAFQvJMhrBUNYpqUKQjqKrMLu76j24g
https://digiexplorer.info/address/D64fAFQvJMhrBUNYpqUKQjqKrMLu76j24g
submitted by xeno_biologist to Digibyte [link] [comments]

An extensive list of blockchain courses, resources and articles to help you get a job working with blockchain.

u/Maximus_no and me spent some time at work collecting and analyzing learning material for blockchain development. The list contains resources for developers, as well as business analysts/consultants looking to learn more about blockchain use-cases and solutions.

Certifications and Courses

IIB Council
Link to course: IIB council : Certified Blockchain Professional
C|BP is an In-Depth, Industry Agnostic, Hands-On Training and Certification Course specifically tailored for Industry Professionals and Developers interested in implementing emerging technologies in the Data-Driven Markets and Digitized Economies.
The IIB Council Certified Blockchain Professional (C|BP) Course was developed to help respective aspiring professionals gain excessive knowledge in Blockchain technology and its implication on businesses.
WHO IS IT FOR:

Professionals

C|BP is developed in line with the latest industry trends to help current and aspiring Professionals evolve in their career by implementing the latest knowledge in blockchain technology. This course will help professionals understand the foundation of Blockchain technology and the opportunities this emerging technology is offering.

Developers

If you are a Developer and you are willing to learn blockchain technology this course is for you. You will learn to build and model Blockchain solutions and Blockchain-based applications for enterprises and businesses in multiple Blockchain Technologies.

Certified Blockchain Business Foundations (CBBF)

This exam is designed for non-technical business professionals who require basic knowledge about Blockchain and how it will be executed within an organization. This exam is NOT appropriate for technology professionals seeking to gain deeper understanding of Blockchain technology implementation or programming.

A person who holds this certification demonstrates their knowledge of:

· What is Blockchain? (What exactly is it?)
· Non-Technical Technology Overview (How does it work?)
· Benefits of Blockchain (Why should anyone consider this?)
· Use Cases (Where and for what apps is it appropriate?)
· Adoption (Who is using it and for what?)
· Future of Blockchain (What is the future?)

Certified Blockchain Solution Architect (CBSA)

A person who holds this certification demonstrates their ability to:

· Architect blockchain solutions
· Work effectively with blockchain engineers and technical leaders
· Choose appropriate blockchain systems for various use cases
· Work effectively with both public and permissioned blockchain systems

This exam will prove that a student completely understands:

· The difference between proof of work, proof of stake, and other proof systems and why they exist
· Why cryptocurrency is needed on certain types of blockchains
· The difference between public, private, and permissioned blockchains
· How blocks are written to the blockchain
· Where cryptography fits into blockchain and the most commonly used systems
· Common use cases for public blockchains
· Common use cases for private & permissioned blockchains
· What is needed to launch your own blockchain
· Common problems & considerations in working with public blockchains
· Awareness of the tech behind common blockchains
· When is mining needed and when it is not
· Byzantine Fault Tolerance
· Consensus among blockchains
· What is hashing
· How addresses, public keys, and private keys work
· What is a smart contract
· Security in blockchain
· Brief history of blockchain
· The programming languages of the most common blockchains
· Common testing and deployment practices for blockchains and blockchain-based apps

Certified Blockchain Developer - Ethereum (CBDE)

A person who holds this certification demonstrates their ability to:

· Plan and prepare production ready applications for the Ethereum blockchain
· Write, test, and deploy secure Solidity smart contracts
· Understand and work with Ethereum fees
· Work within the bounds and limitations of the Ethereum blockchain
· Use the essential tooling and systems needed to work with the Ethereum ecosystem

This exam will prove that a student completely understands how to:

· Implement web3.js
· Write and compile Solidity smart contracts
· Create secure smart contracts
· Deploy smart contracts both the live and test Ethereum networks
· Calculate Ethereum gas costs
· Unit test smart contracts
· Run an Ethereum node on development machines

Princeton: Sixty free lectures from Princeton on bitcoin and cryptocurrencies. Avg length ~15 mins

Basic course with focus on Bitcoin. After this course, you’ll know everything you need to be able to separate fact from fiction when reading claims about Bitcoin and other cryptocurrencies. You’ll have the conceptual foundations you need to engineer secure software that interacts with the Bitcoin network. And you’ll be able to integrate ideas from Bitcoin in your own projects.

MIT : BLOCKCHAIN TECHNOLOGIES: BUSINESS INNOVATION AND APPLICATION

· A mid / basic understanding of blockchain technology and its long-term implications for business, coupled with knowledge of its relationship to other emerging technologies such as AI and IoT
· An economic framework for identifying blockchain-based solutions to challenges within your own context, guided by the knowledge of cryptoeconomics expert Christian Catalini
· Recognition of your newfound blockchain knowledge in the form of a certificate of completion from the MIT Sloan School of Management — one of the world’s leading business schools
Orientation Module: Welcome to Your Online Campus
Module 1: An introduction to blockchain technology
Module 2: Bitcoin and the curse of the double-spending problem
Module 3: Costless verification: Blockchain technology and the last mile problem
Module 4: Bootstrapping network effects through blockchain technology and cryptoeconomics
Module 5: Using tokens to design new types of digital platforms
Module 6: The future of blockchain technology, AI, and digital privacy

Oxford Blockchain Strategy Programme

· A mid / basic understanding of what blockchain is and how it works, as well as insights into how it will affect the future of industry and of your organization.
· The ability to make better strategic business decisions by utilizing the Oxford Blockchain Strategic framework, the Oxford Blockchain Regulation framework, the Oxford Blockchain Ecosystem map, and drawing on your knowledge of blockchain and affiliated industries and technologies.
· A certificate of attendance from Oxford Saïd as validation of your newfound blockchain knowledge and skills, as well as access to a global network of like-minded business leaders and innovators.
Module 1: Understanding blockchain
Module 2: The blockchain ecosystem
Module 3: Innovations in value transfer
Module 4: Decentralized apps and smart contracts
Module 5: Transforming enterprise business models
Module 6: Blockchain frontiers

Resources and Articles

Introduction to Distributed Ledger Technologies (DLT) https://www.ibm.com/developerworks/cloud/library/cl-blockchain-basics-intro-bluemix-trs/
Tomas’s Personal Favourite: 150+ Resources for going from web-dev to blockchain engineer https://github.com/benstew/blockchain-for-software-engineers
Hyperledger Frameworks Hyperledger is widely regarded as the most mature open-source framework for building private & permissioned blockchains.
Tutorials: https://www.hyperledger.org/resources/training
R3 Corda Open-source developer frameworks for building private, permissioned blockchains. A little better than Hyperledger on features like privacy and secure channels. Used mostly in financial applications.
Ethereum, Solidity, dApps and Smart-Contracts
Ethereum & Solidity Course (favourite): https://www.udemy.com/ethereum-and-solidity-the-complete-developers-guide/
An Introduction to Ethereum’s Token Standards: https://medium.com/coinmonks/anatomy-of-an-erc-an-exhaustive-survey-8bc1a323b541
How To Create Your First ERC20 Token: https://medium.com/bitfwd/how-to-do-an-ico-on-ethereum-in-less-than-20-minutes-a0062219374
Ethereum Developer Tools [Comprehensive List]: https://github.com/ConsenSys/ethereum-developer-tools-list/blob/masteREADME.md
CryptoZombies – Learn to code dApps through game-development: https://cryptozombies.io/
Intro to Ethereum Development: https://hackernoon.com/ethereum-development-walkthrough-part-1-smart-contracts-b3979e6e573e
Notes from Consensys Academy Participant (free): https://github.com/ScottWorks/ConsenSys-Academy-Notes
AWS Ethereum Templates: https://aws.amazon.com/blogs/aws/get-started-with-blockchain-using-the-new-aws-blockchain-templates/
Create dApps with better user-experience: https://blog.hellobloom.io/how-to-make-a-user-friendly-ethereum-dapp-5a7e5ea6df22
Solidity YouTube Course: https://www.youtube.com/channel/UCaWes1eWQ9TbzA695gl_PtA
[UX &UI] Designing a decentralized profile dApp: https://uxdesign.cc/designing-a-decentralized-profile-dapp-ab12ead4ab56
Scaling Solutions on Ethereum: https://media.consensys.net/the-state-of-scaling-ethereum-b4d095dbafae
Different Platforms for dApps and Smart-Contracts
While Ethereum is the most mature dApp framework with both the best developer tools, resources and community, there are other public blockchain platforms. Third generation blockchains are trying to solve Ethereum’s scaling and performance issues. Here is an overview of dApp platforms that can be worth looking into:
NEO - https://neo.org/ The second most mature dApp platform. NEO has better scalability and performance than Ethereum and has 1’000 TPS to ETH’s 15 by utilizing a dBFT consensus algorithm. While better infrastructure, NEO does not have the maturity of Ethereum’s developer tools, documentation and community.
A writeup on why a company chose to develop on NEO and not Ethereum: https://medium.com/orbismesh/why-we-chose-neo-over-ethereum-37fc9208ffa0
Cardano - https://www.cardano.org/en/home/ While still in alpha with a long and ambitious roadmap ahead of it, Cardano is one of the most anticipated dApp platforms out there. IOHK, the research and engineering company that maintains Cardano, has listed a lot of great resources and scientific papers that is worth looking into.
An Intro to Cardano: https://hackernoon.com/cardano-ethereum-and-neo-killer-or-overhyped-and-overpriced-8fcd5f8abcdf
IOHK Scientific Papers - https://iohk.io/research/papers/
Stellar - https://www.stellar.org/ If moving value fast from one party to another by using smart-contracts is the goal, Stellar Lumens is your platform. Initially as an open-source fork from Ripple, Stellar has become one of the mature frameworks for financial applications. Stellar’s focus lies in interoperability with legacy financial systems and cheap/fast value transfer. It’s smart-contract capability is rather limited in comparison to Ethereum and HyperLedger, so take that in consideration.
Ripplewww.ripple.com Ripple and its close cousin, Stellar, is two of the most well-known cryptocurrencies and DLT frameworks meant for the financial sector. Ripple enables instant settlement between banks for international transactions.

Consensus Algorithms

[Proof of Work] - very short, cuz it's well-known.
[1] Bitcoin - to generate a new block miner must generate hash of the new block header that is in line with given requirements.
Others: Ethereum, Litecoin etc.
[Hybrid of PoW and PoS]
[2] Decred - hybrid of “proof of work” and “proof of stake”. Blocks are created about every 5 minutes. Nodes in the network looking for a solution with a known difficulty to create a block (PoW). Once the solution is found it is broadcast to the network. The network then verifies the solution. Stakeholders who have locked some DCR in return for a ticket* now have the chance to vote on the block (PoS). 5 tickets are chosen pseudo-randomly from the ticket pool and if at least 3 of 5 vote ‘yes’ the block is permanently added to the blockchain. Both miners and voters are compensated with DCR : PoS - 30% and PoW - 60% of about 30 new Decred issued with a block. * 1 ticket = ability to cast 1 vote. Stakeholders must wait an average of 28 days (8,192 blocks) to vote their tickets.
[Proof of Stake]
[3] Nxt - The more tokens are held by account, the greater chance that account will earn the right to generate a block. The total reward received as a result of block generation is the sum of the transaction fees located within the block. Three values are key to determining which account is eligible to generate a block, which account earns the right to generate a block, and which block is taken to be the authoritative one in times of conflict: base target value, target value and cumulative difficulty. Each block on the chain has a generation signature parameter. To participate in the block's forging process, an active account digitally signs the generation signature of the previous block with its own public key. This creates a 64-byte signature, which is then hashed using SHA256. The first 8 bytes of the resulting hash are converted to a number, referred to as the account hit. The hit is compared to the current target value(active balance). If the computed hit is lower than the target, then the next block can be generated.
[4] Peercoin (chain-based proof of stake) - coin age parameter. Hybrid PoW and PoS algorithm. The longer your Peercoins have been stationary in your account (to a maximum of 90 days), the more power (coin age) they have to mint a block. The act of minting a block requires the consumption of coin age value, and the network determines consensus by selecting the chain with the largest total consumed coin age. Reward - minting + 1% yearly.
[5] Reddcoin (Proof of stake Velocity) - quite similar to Peercoin, difference: not linear coin-aging function (new coins gain weight quickly, and old coins gain weight increasingly slowly) to encourage Nodes Activity. Node with most coin age weight have a bigger chance to create block. To create block Node should calculate right hash. Block reward - interest on the weighted age of coins/ 5% annual interest in PoSV phase.
[6] Ethereum (Casper) - uses modified BFT consensus. Blocks will be created using PoW. In the Casper Phase 1 implementation for Ethereum, the “proposal mechanism" is the existing proof of work chain, modified to have a greatly reduced block reward. Blocks will be validated by set of Validators. Block is finalised when 2/3 of validators voted for it (not the number of validators is counted, but their deposit size). Block creator rewarded with Block Reward + Transaction FEES.
[7] Lisk (Delegated Proof-of-stake) - Lisk stakeholders vote with vote transaction (the weight of the vote depends on the amount of Lisk the stakeholder possess) and choose 101 Delegates, who create all blocks in the blockchain. One delegate creates 1 block within 1 round (1 round contains 101 blocks) -> At the beginning of each round, each delegate is assigned a slot indicating their position in the block generation process -> Delegate includes up to 25 transactions into the block, signs it and broadcasts it to the network -> As >51% of available peers agreed that this block is acceptable to be created (Broadhash consensus), a new block is added to the blockchain. *Any account may become a delegate, but only accounts with the required stake (no info how much) are allowed to generate blocks. Block reward - minted Lisks and transaction fees (fees for all 101 blocks are collected firstly and then are divided between delegates). Blocks appears every 10 sec.
[8] Cardano (Ouroboros Proof of Stake) - Blocks(slots) are created by Slot Leaders. Slot Leaders for N Epoch are chosen during n-1 Epoch. Slot Leaders are elected from the group of ADA stakeholders who have enough stake. Election process consist of 3 phases: Commitment phase: each elector generates a random value (secret), signs it and commit as message to network (other electors) saved in to block. -> Reveal phase: Each elector sends special value to open a commitment, all this values (opening) are put into the block. -> Recovery phase: each elector verifies that commitments and openings match and extracts the secrets and forms a SEED (randomly generated bytes string based on secrets). All electors get the same SEED. -> Follow the Satoshi algorithm : Elector who have coin which corresponded to SEED become a SLOT LEADER and get a right to create a block. Slot Leader is rewarded with minted ADA and transactions Fee.
[9] Tezos (Proof Of Stake) - generic and self-amending crypto-ledger. At the beginning of each cycle (2048 blocks), a random seed is derived from numbers that block miners chose and committed to in the penultimate cycle, and revealed in the last. -> Using this random seed, a follow the coin strategy (similar to Follow The Satoshi) is used to allocate mining rights and signing rights to stakeholders for the next cycle*. -> Blocks are mined by a random stakeholder (the miner) and includes multiple signatures of the previous block provided by random stakeholders (the signers). Mining and signing both offer a small reward but also require making a one cycle safety deposit to be forfeited in the event of a double mining or double signing.
· the more coins (rolls) you have - the more your chance to be a minesigner.
[10] Tendermint (Byzantine Fault Tolerance) - A proposal is signed and published by the designated proposer at each round. The proposer is chosen by a deterministic and non-choking round robin selection algorithm that selects proposers in proportion to their voting power. The proposer create the block, that should be validated by >2/3 of Validators, as follow: Propose -> Prevote -> Precommit -> Commit. Proposer rewarded with Transaction FEES.
[11] Tron (Byzantine Fault Tolerance) - This blockhain is still on development stage. Consensus algorithm = PoS + BFT (similar to Tendermint): PoS algorithm chooses a node as Proposer, this node has the power to generate a block. -> Proposer broadcasts a block that it want to release. -> Block enters the Prevote stage. It takes >2/3 of nodes' confirmations to enter the next stage. -> As the block is prevoted, it enters Precommit stage and needs >2/3 of node's confirmation to go further. -> As >2/3 of nodes have precommited the block it's commited to the blockchain with height +1. New blocks appears every 15 sec.
[12] NEO (Delegated Byzantine Fault Tolerance) - Consensus nodes* are elected by NEO holders -> The Speaker is identified (based on algorithm) -> He broadcasts proposal to create block -> Each Delegate (other consensus nodes) validates proposal -> Each Delegate sends response to other Delegates -> Delegate reaches consensus after receiving 2/3 positive responses -> Each Delegate signs the block and publishes it-> Each Delegate receives a full block. Block reward 6 GAS distributed proportionally in accordance with the NEO holding ratio among NEO holders. Speaker rewarded with transaction fees (mostly 0). * Stake 1000 GAS to nominate yourself for Bookkeeping(Consensus Node)
[13] EOS (Delegated Proof of Stake) - those who hold tokens on a blockchain adopting the EOS.IO software may select* block producers through a continuous approval voting system and anyone may choose to participate in block production and will be given an opportunity to produce blocks proportional to the total votes they have received relative to all other producers. At the start of each round 21 unique block producers are chosen. The top 20 by total approval are automatically chosen every round and the last producer is chosen proportional to their number of votes relative to other producers. Block should be confirmed by 2/3 or more of elected Block producers. Block Producer rewarded with Block rewards. *the more EOS tokens a stakeholder owns, the greater their voting power
[The XRP Ledger Consensus Process]
[14] Ripple - Each node receives transaction from external applications -> Each Node forms public list of all valid (not included into last ledger (=block)) transactions aka (Candidate Set) -> Nodes merge its candidate set with UNLs(Unique Node List) candidate sets and vote on the veracity of all transactions (1st round of consensus) -> all transactions that received at least 50% votes are passed on the next round (many rounds may take place) -> final round of consensus requires that min 80% of Nodes UNL agreeing on transactions. It means that at least 80% of Validating nodes should have same Candidate SET of transactions -> after that each Validating node computes a new ledger (=block) with all transactions (with 80% UNL agreement) and calculate ledger hash, signs and broadcasts -> All Validating nodes compare their ledgers hash -> Nodes of the network recognize a ledger instance as validated when a 80% of the peers have signed and broadcast the same validation hash. -> Process repeats. Ledger creation process lasts 5 sec(?). Each transaction includes transaction fee (min 0,00001 XRP) which is destroyed. No block rewards.
[The Stellar consensus protocol]
[15] Stellar (Federated Byzantine Agreement) - quite similar to Ripple. Key difference - quorum slice.
[Proof of Burn]
[16] Slimcoin - to get the right to write blocks Node should “burn” amount of coins. The more coins Node “burns” more chances it has to create blocks (for long period) -> Nodes address gets a score called Effective Burnt Coins that determines chance to find blocks. Block creator rewarded with block rewards.
[Proof of Importance]
[17] NEM - Only accounts that have min 10k vested coins are eligible to harvest (create a block). Accounts with higher importance scores have higher probabilities of harvesting a block. The higher amount of vested coins, the higher the account’s Importance score. And the higher amount of transactions that satisfy following conditions: - transactions sum min 1k coins, - transactions made within last 30 days, - recipient have 10k vested coins too, - the higher account’s Important score. Harvester is rewarded with fees for the transactions in the block. A new block is created approx. every 65 sec.
[Proof of Devotion]
[18] Nebulas (Proof of Devotion + BFT) - quite similar to POI, the PoD selects the accounts with high influence. All accounts are ranked according to their liquidity and propagation (Nebulas Rank) -> Top-ranked accounts are selected -> Chosen accounts pay deposit and are qualified as the blocks Validators* -> Algorithm pseudo-randomly chooses block Proposer -> After a new block is proposed, Validators Set (each Validator is charged a deposit) participate in a round of BFT-Style voting to verify block (1. Prepare stage -> 2. Commit Stage. Validators should have > 2/3 of total deposits to validate Block) -> Block is added. Block rewards : each Validator rewarded with 1 NAS. *Validators Set is dynamic, changes in Set may occur after Epoch change.
[IOTA Algorithm]
[19] IOTA - uses DAG (Directed Acyclic Graph) instead of blockchain (TANGLE equal to Ledger). Graph consist of transactions (not blocks). To issue a new transaction Node must approve 2 random other Transactions (not confirmed). Each transaction should be validate n(?) times. By validating PAST(2) transactions whole Network achieves Consensus. in Order to issue transaction Node: 1. Sign transaction with private key 2. choose two other Transactions to validate based on MCMC(Markov chain Monte Carlo) algorithm, check if 2 transactions are valid (node will never approve conflicting transactions) 3. make some PoW(similar to HashCash). -> New Transaction broadcasted to Network. Node don’t receive reward or fee.
[PBFT + PoW]
[20] Yobicash - uses PBFT and also PoW. Nodes reach consensus on transactions by querying other nodes. A node asks its peers about the state of a transaction: if it is known or not, and if it is a doublespending transaction or not. As follow : Node receives new transaction -> Checks if valid -> queries all known nodes for missing transactions (check if already in DAG ) -> queries 2/3 nodes for doublepsending and possibility -> if everything is ok add to DAG. Reward - nodes receive transaction fees + minting coins.
[Proof of Space/Proof of Capacity]
[21] Filecoin (Power Fault Tolerance) - the probability that the network elects a miner(Leader) to create a new block (it is referred to as the voting power of the miner) is proportional to storage currently in use in relation to the rest of the network. Each node has Power - storage in use verified with Proof of Spacetime by nodes. Leaders extend the chain by creating a block and propagating it to the network. There can be an empty block (when no leader). A block is committed if the majority of the participants add their weight on the chain where the block belongs to, by extending the chain or by signing blocks. Block creator rewarded with Block reward + transaction fees.
[Proof of Elapsed Time (POET)]
[22] Hyperledger Sawtooth - Goal - to solve BFT Validating Nodes limitation. Works only with intel’s SGX. PoET uses a random leader election model or a lottery based election model based on SGX, where the protocol randomly selects the next leader to finalize the block. Every validator requests a wait time from an enclave (a trusted function). -> The validator with the shortest wait time for a particular transaction block is elected the leader. -> The BlockPublisher is responsible for creating candidate blocks to extend the current chain. He takes direction from the consensus algorithm for when to create a block and when to publish a block. He creates, Finalizes, Signs Block and broadcast it -> Block Validators check block -> Block is created on top of blockchain.
[23] Byteball (Delegated Byzantine Fault Tolerance) - only verified nodes are allowed to be Validation nodes (list of requirements https://github.com/byteball/byteball-witness). Users choose in transaction set of 12 Validating nodes. Validating nodes(Witnesses) receive transaction fees.
[24] Nano - uses DAG, PoW (HashCash). Nano uses a block-lattice structure. Each account has its own blockchain (account-chain) equivalent to the account’s transaction/balance history. To add transaction user should make some HashCash PoW -> When user creates transaction Send Block appears on his blockchain and Receive block appears on Recipients blockchain. -> Peers in View receive Block -> Peers verify block (Double spending and check if already in the ledger) -> Peers achieve consensus and add block. In case of Fork (when 2 or more signed blocks reference the same previous block): Nano network resolves forks via a balance-weighted voting system where representative nodes vote for the block they observe, as >50% of weighted votes received, consensus achieved and block is retained in the Node’s ledger (block that lose the vote is discarded).
[25] Holochain - uses distributed hash table (DHT). Instead of trying to manage global consensus for every change to a huge blockchain ledger, every participant has their own signed hash chain. In case of multi-party transaction, it is signed to each party's chain. Each party signs the exact same transaction with links to each of their previous chain entries. After data is signed to local chains, it is shared to a DHT where every neighbor node validate it. Any consensus algorithms can be built on top of Holochain.
[26] Komodo ('Delegated' Delayed Proof of Work (dPoW)) - end-to-end blockchain solutions. DPoW consensus mechanism does not recognize The Longest Chain Rule to resolve a conflict in the network, instead the dPoW looks to backups it inserted previously into the chosen PoW blockchain. The process of inserting backups of Komodo transactions into a secure PoW is “notarization.” Notarisation is performed by the elected Notary nodes. Roughly every ten minutes, the Notary nodes perform a special block hash mined on the Komodo blockchain and take note of the overall Komodo blockchain “height”. The notary nodes process this specifc block so that their signatures are cryptographically included within the content of the notarized data. There are sixty-four “Notary nodes” elected by a stake-weighted vote, where ownership of KMD represents stake in the election. They are a special type of blockchain miner, having certain features in their underlying code that enable them to maintain an effective and cost-efcient blockchain and they periodically receives the privilege to mine a block on “easy difculty.”
Source: https://www.reddit.com/CryptoTechnology/comments/7znnq8/my_brief_observation_of_most_common_consensus/
Whitepapers Worth Looking Into:
IOTA -http://iotatoken.com/IOTA_Whitepaper.pdf
NANO -https://nano.org/en/whitepaper
Bitcoin -https://bitcoin.org/bitcoin.pdf
Ethereum: https://github.com/ethereum/wiki/wiki/White-Paper
Ethereum Plasma (Omise-GO) -https://plasma.io/plasma.pdf
Cardano - https://eprint.iacr.org/2016/889.pdf
submitted by heart_mind_body to CryptoCurrency [link] [comments]

I've been working on a bot for crypto subs like /r/bitcoin for a few days now. Say hello to crypto_bot!

Hey guys, I've been working on crypto_bot for some time now. It provides a bunch of features that I hope will enhance your experience on /bitcoin (and any other subreddit). You can call it by mentioning it in a comment. I started working on this a few days ago. I'm constantly adding new features and will update this post when I do, but if you're interested I'll post all updates and some tips at /crypto_bot. Please either comment here, message me, or post there if you'd like to report a bug, request a feature, or offer feedback. There's also one hidden command :)
You can call multiple commands in one comment. Here's a description of the commands you can use:

Market Data:

crypto_bot 
Responds with the USD price of one bitcoin from an average of six of the top bitcoin exchanges (BTC-E, Bitstamp, Bitfinex, Coinbase, Kraken, Cryptsy).
crypto_bot ticker 
Responds with the USD price of one bitcoin at seven exchanges (all of the ones listed above, plus LocalBitcoins). Also lists the average at the bottom.
crypto_bot [exchange] 
Responds with the USD price of one bitcoin from [exchange] (any of the seven listed above).
crypto_bot [litecoin|ltc|dogecoin|doge] 
Responds with the USD price of one litecoin, or the price of 1 doge and 1,000 doge.
crypto_bot litecoin|ltc [exchange] 
Responds with the USD price of one litecoin from BTC-E, Bitfinex, Kraken, or Cryptsy.
crypto_bot [currency] 
Responds with the price of one bitcoin in the specified currency. Available currencies (symbols): JPY, CNY, SGD, HKD, CAD, NZD, AUD, CLP, GBP, DKK, SEK, ISK, CHF, BRL, EUR, RUB, PLN, THB, KRW, TWD.

Information:

crypto_bot [about|info] [arg] 
Responds with a short description about [arg], as well as a link to an external site (Wikipedia, bitcoin.it, and some others) for more information. You can list multiple arguments and get a description for each. Available arguments: bitcoin, block chain, transaction, address, genesis, satoshi, mining, confirmation, coinbase, gox, cold wallet, hot wallet.
crypto_bot legal 
Responds with a chart about the legality of bitcoin in 40 countries, copied straight from Wikipedia.
crypto_bot [explain transaction delay|explain tx delay] 
Responds with an explanation of why transactions may take longer to confirm (the bot specifically discusses spam-transaction attacks in this command).

Network information/tools:

crypto_bot difficulty 
Responds with the current difficulty of the bitcoin network.
crypto_bot [height|number of blocks] 
Responds with the current height of the block chain.
crypto_bot retarget 
Responds with what block the difficulty will recalculate at, as well as how many blocks until the network reaches that block.
crypto_bot [unconfirmed transactions|unconfirmed tx] 
Responds with the current number of unconfirmed transactions.
crypto_bot [new address|generate address] 
Responds with a newly-generated public and private key. This is mainly to provide an explanation of what both look like, and contains a clear warning to not use or send bitcoins to the address.
crypto_bot blockinfo [height] 
Responds with information about block #[height], including its hash, time discovered, and number of transactions.
crypto_bot [address] 
Responds with information about [address], including its balance and number of transactions.
crypto_bot [transaction_id] 
Responds with information about [transaction_id], including what block it was included in, its size, and its inputs and outputs.

Calculators:

crypto_bot calc <# miningspeed> [#][w] [#][kwh] [#][difficulty] [hc$#] [$#] [#%] 
Responds with calculations and information about how a miner would do with the above data (mining calculator). The only required field is mining speed. Order of the arguments does not matter. Everything other than hashrate defaults to the following if not given: w (watts): 0, kwh ($kilowatt cost/hour): 0, difficulty: current network difficulty, hc$ (hardware cost): $0, $: current bitcoin price in usd (according to Coinbase), % (pool fee): 0. The calculator does not account for nor allow for input of the increase/decrease of difficulty over time, though I may add this feature soon. Working hashing speeds: h/s, kh/s, mh/s, gh/s, th/s, ph/s.
Example usage: "crypto_bot calc 30th/s 10w .12kwh hc$55 1.5%" (to make it easier to remember, th/s can also be inputted as ths). This calls the bot with a hashrate of 30 th/s, electricity usage of 10w, a cost of $.12 kWh, a hardware cost of $55, and a pool fee of 1.5%.
crypto_bot number of btc <$amount to convert> [bp$bitcoin price] 
Responds with the number of bitcoins you could buy with <$amount to convert>. If the comment specifies a [bp$bitcoin price], it calculates it with that exchange rate. Otherwise, it uses the rate from Coinbase.
Example usage: "crypto_bot $419.29 bp$180.32" This calculates how many bitcoins you can buy if you have $419.29 and the bitcoin exchange rate is $180.32.

Broadcasting

SignMessage! "" 
Signs a message in the bitcoin block chain in a transaction using OP_RETURN. The message must be less than 40 characters.
Example usage: "SignMessage! "Post messages in the block chain!""
I hope you find this bot useful! Again, if you have any questions or comments, please either comment on this post, message me, or post on /crypto_bot.
Update 1 (June 24, 2015, 17:35): The bot now responds with information if you post a link to a block, transaction, or address on Blockchain.info in a comment, even if you don't call it. For example, if I wrote "https://blockchain.info/block/0000000000000000126448be07fb1f82af19fbbf07dd7e07ebcd08d42c2660cb" in a comment, it would respond with information about block #362,377.
Update 2 (July 10, 2015, 1:59): The bot now has two additional commands: "unconfirmed transactions" (or "unconfirmed tx") and "explain transaction delay" (or "explain tx delay"). The first command responds with the number of unconfirmed transactions, and the second explains why transactions might take extra time to confirm.
Update 3 (August 24, 2015, 1:34): The bot now responds in a better way than before when transaction ids or addresses are posted. Before, it only responded when the transaction id or address was used in a link to Blockchain.info. Now the bot will respond whenever a transaction id or address is posted at all; a link to Blockchain.info is no longer necessary.
Update 4 (August 27, 2015, 3:00): The bot can now sign messages in the Bitcoin block chain using OP_RETURN.
submitted by busterroni to Bitcoin [link] [comments]

Blockchain Dictionary for Newbies

Blockchain Glossary: From A-Z
51% Attack
When more than half of the computing power of a cryptocurrency network is controlled by a single entity or group, this entity or group may issue conflicting transactions to harm the network, should they have the malicious intent to do so.
Address
Cryptocurrency addresses are used to send or receive transactions on the network. An address usually presents itself as a string of alphanumeric characters.
ASIC
Short form for ‘Application Specific Integrated Circuit’. Often compared to GPUs, ASICs are specially made for mining and may offer significant power savings.
Bitcoin
Bitcoin is the first decentralised, open source cryptocurrency that runs on a global peer to peer network, without the need for middlemen and a centralised issuer.
Block
Blocks are packages of data that carry permanently recorded data on the blockchain network.
Blockchain
A blockchain is a shared ledger where transactions are permanently recorded by appending blocks. The blockchain serves as a historical record of all transactions that ever occurred, from the genesis block to the latest block, hence the name blockchain.
Block Explorer
Block explorer is an online tool to view all transactions, past and current, on the blockchain. They provide useful information such as network hash rate and transaction growth.
Block Height
The number of blocks connected on the blockchain.
Block Reward
A form of incentive for the miner who successfully calculated the hash in a block during mining. Verification of transactions on the blockchain generates new coins in the process, and the miner is rewarded a portion of those.
Central Ledger
A ledger maintained by a central agency.
Confirmation
The successful act of hashing a transaction and adding it to the blockchain.
Consensus
Consensus is achieved when all participants of the network agree on the validity of the transactions, ensuring that the ledgers are exact copies of each other.
Cryptocurrency
Also known as tokens, cryptocurrencies are representations of digital assets.
Cryptographic Hash Function
Cryptographic hashes produce a fixed-size and unique hash value from variable-size transaction input. The SHA-256 computational algorithm is an example of a cryptographic hash.
Dapp
A decentralised application (Dapp) is an application that is open source, operates autonomously, has its data stored on a blockchain, incentivised in the form of cryptographic tokens and operates on a protocol that shows proof of value.
DAO
Decentralised Autonomous Organizations can be thought of as corporations that run without any human intervention and surrender all forms of control to an incorruptible set of business rules.
Distributed Ledger
Distributed ledgers are ledgers in which data is stored across a network of decentralized nodes. A distributed ledger does not have to have its own currency and may be permissioned and private.
Distributed Network
A type of network where processing power and data are spread over the nodes rather than having a centralised data centre.
Difficulty
This refers to how easily a data block of transaction information can be mined successfully.
Digital Signature
A digital code generated by public key encryption that is attached to an electronically transmitted document to verify its contents and the sender’s identity.
Double Spending
Double spending occurs when a sum of money is spent more than once.
Ethereum
Ethereum is a blockchain-based decentralised platform for apps that run smart contracts, and is aimed at solving issues associated with censorship, fraud and third party interference.
EVM
The Ethereum Virtual Machine (EVM) is a Turing complete virtual machine that allows anyone to execute arbitrary EVM Byte Code. Every Ethereum node runs on the EVM to maintain consensus across the blockchain.
Fork
Forks create an alternate version of the blockchain, leaving two blockchains to run simultaneously on different parts of the network.
Genesis Block
The first or first few blocks of a blockchain.
Hard Fork
A type of fork that renders previously invalid transactions valid, and vice versa. This type of fork requires all nodes and users to upgrade to the latest version of the protocol software.
Hash
The act of performing a hash function on the output data. This is used for confirming coin transactions.
Hash Rate
Measurement of performance for the mining rig is expressed in hashes per second.
Hybrid PoS/PoW
A hybrid PoS/PoW allows for both Proof of Stake and Proof of Work as consensus distribution algorithms on the network. In this method, a balance between miners and voters (holders) may be achieved, creating a system of community-based governance by both insiders (holders) and outsiders (miners).
Mining
Mining is the act of validating blockchain transactions. The necessity of validation warrants an incentive for the miners, usually in the form of coins. In this cryptocurrency boom, mining can be a lucrative business when done properly. By choosing the most efficient and suitable hardware and mining target, mining can produce a stable form of passive income.
Multi-Signature
Multi-signature addresses provide an added layer of security by requiring more than one key to authorize a transaction.
Node
A copy of the ledger operated by a participant of the blockchain network.
Oracles
Oracles work as a bridge between the real world and the blockchain by providing data to the smart contracts.
Peer to Peer
Peer to Peer (P2P) refers to the decentralized interactions between two parties or more in a highly-interconnected network. Participants of a P2P network deal directly with each other through a single mediation point.
Public Address
A public address is the cryptographic hash of a public key. They act as email addresses that can be published anywhere, unlike private keys.
Private Key
A private key is a string of data that allows you to access the tokens in a specific wallet. They act as passwords that are kept hidden from anyone but the owner of the address.
Proof of Stake
A consensus distribution algorithm that rewards earnings based on the number of coins you own or hold. The more you invest in the coin, the more you gain by mining with this protocol.
Proof of Work
A consensus distribution algorithm that requires an active role in mining data blocks, often consuming resources, such as electricity. The more ‘work’ you do or the more computational power you provide, the more coins you are rewarded with.
Scrypt
Scrypt is a type of cryptographic algorithm and is used by Litecoin. Compared to SHA256, this is quicker as it does not use up as much processing time.
SHA-256
SHA-256 is a cryptographic algorithm used by cryptocurrencies such as Bitcoin. However, it uses a lot of computing power and processing time, forcing miners to form mining pools to capture gains.
Smart Contracts
Smart contracts encode business rules in a programmable language onto the blockchain and are enforced by the participants of the network.
Soft Fork
A soft fork differs from a hard fork in that only previously valid transactions are made invalid. Since old nodes recognize the new blocks as valid, a soft fork is essentially backward-compatible. This type of fork requires most miners upgrading in order to enforce, while a hard fork requires all nodes to agree on the new version.
Solidity
Solidity is Ethereum’s programming language for developing smart contracts.
Testnet
A test blockchain used by developers to prevent expending assets on the main chain.
Transaction Block
A collection of transactions gathered into a block that can then be hashed and added to the blockchain.
Transaction Fee
All cryptocurrency transactions involve a small transaction fee. These transaction fees add up to account for the block reward that a miner receives when he successfully processes a block.
Turing Complete
Turing complete refers to the ability of a machine to perform calculations that any other programmable computer is capable of. An example of this is the Ethereum Virtual Machine (EVM).
Wallet
A file that houses private keys. It usually contains a software client which allows access to view and create transactions on a specific blockchain that the wallet is designed for.
submitted by Tokenberry to NewbieZone [link] [comments]

I'm writing a series about blockchain tech and possible future security risks. This is the third part of the series introducing Quantum resistant blockchains.

Part 1 and part 2 will give you usefull basic blockchain knowledge that is not explained in this part.
Part 1 here
Part 2 here
Quantum resistant blockchains explained.
- How would quantum computers pose a threat to blockchain?
- Expectations in the field of quantum computer development.
- Quantum resistant blockchains
- Why is it easier to change cryptography for centralized systems such as banks and websites than for blockchain?
- Conclusion
The fact that whatever is registered on a blockchain can’t be tampered with is one of the great reasons for the success of blockchain. Looking ahead, awareness is growing in the blockchain ecosystem that quantum computers might cause the need for some changes in the cryptography that is used by blockchains to prevent hackers from forging transactions.
How would quantum computers pose a threat to blockchain?
First, let’s get a misconception out of the way. When talking about the risk quantum computers could pose for blockchain, some people think about the risk of quantum computers out-hashing classical computers. This, however, is not expected to pose a real threat when the time comes.
This paper explains why: https://arxiv.org/pdf/1710.10377.pdf "In this section, we investigate the advantage a quantum computer would have in performing the hashcash PoW used by Bitcoin. Our findings can be summarized as follows: Using Grover search, a quantum computer can perform the hashcash PoW by performing quadratically fewer hashes than is needed by a classical computer. However, the extreme speed of current specialized ASIC hardware for performing the hashcash PoW, coupled with much slower projected gate speeds for current quantum architectures, essentially negates this quadratic speedup, at the current difficulty level, giving quantum computers no advantage. Future improvements to quantum technology allowing gate speeds up to 100GHz could allow quantum computers to solve the PoW about 100 times faster than current technology.
However, such a development is unlikely in the next decade, at which point classical hardware may be much faster, and quantum technology might be so widespread that no single quantum enabled agent could dominate the PoW problem."
The real point of vulnerability is this: attacks on signatures wherein the private key is derived from the public key. That means that if someone has your public key, they can also calculate your private key, which is unthinkable using even today’s most powerful classical computers. So in the days of quantum computers, the public-private keypair will be the weak link. Quantum computers have the potential to perform specific kinds of calculations significantly faster than any normal computer. Besides that, quantum computers can run algorithms that take fewer steps to get to an outcome, taking advantage of quantum phenomena like quantum entanglement and quantum superposition. So quantum computers can run these certain algorithms that could be used to make calculations that can crack cryptography used today. https://en.wikipedia.org/wiki/Elliptic-curve_cryptography#Quantum_computing_attacks and https://eprint.iacr.org/2017/598.pdf
Most blockchains use Elliptic Curve Digital Signature Algorithm (ECDSA) cryptography. Using a quantum computer, Shor's algorithm can be used to break ECDSA. (See for reference: https://arxiv.org/abs/quant-ph/0301141 and pdf: https://arxiv.org/pdf/quant-ph/0301141.pdf ) Meaning: they can derive the private key from the public key. So if they got your public key (and a quantum computer), then they got your private key and they can create a transaction and empty your wallet.
RSA has the same vulnerability while RSA will need a stronger quantum computer to be broken than ECDSA.
At this point in time, it is already possible to run Shor’s algorithm on a quantum computer. However, the amount of qubits available right now makes its application limited. But it has been proven to work, we have exited the era of pure theory and entered the era of practical applications:
So far Shor's algorithm has the most potential, but new algorithms might appear which are more efficient. Algorithms are another area of development that makes progress and pushes quantum computer progress forward. A new algorithm called Variational Quantum Factoring is being developed and it looks quite promising. " The advantage of this new approach is that it is much less sensitive to error, does not require massive error correction, and consumes far fewer resources than would be needed with Shor’s algorithm. As such, it may be more amenable for use with the current NISQ (Noisy Intermediate Scale Quantum) computers that will be available in the near and medium term." https://quantumcomputingreport.com/news/zapata-develops-potential-alternative-to-shors-factoring-algorithm-for-nisq-quantum-computers/
It is however still in development, and only works for 18 binary bits at the time of this writing, but it shows new developments that could mean that, rather than a speedup in quantum computing development posing the most imminent threat to RSA and ECDSA, a speedup in the mathematical developments could be even more consequential. More info on VQF here: https://arxiv.org/abs/1808.08927
It all comes down to this: when your public key is visible, which is always necessary to make transactions, you are at some point in the future vulnerable for quantum attacks. (This also goes for BTC, which uses the hash of the public key as an address, but more on that in the following articles.) If you would have keypairs based on post quantum cryptography, you would not have to worry about that since in that case not even a quantum computer could derive your private key from your public key.
The conclusion is that future blockchains should be quantum resistant, using post-quantum cryptography. It’s very important to realize that post quantum cryptography is not just adding some extra characters to standard signature schemes. It’s the mathematical concept that makes it quantum resistant. to become quantm resistant, the algorithm needs to be changed. “The problem with currently popular algorithms is that their security relies on one of three hard mathematical problems: the integer factorization problem, the discrete logarithm problem or the elliptic-curve discrete logarithm problem. All of these problems can be easily solved on a sufficiently powerful quantum computer running Shor's algorithm. Even though current, publicly known, experimental quantum computers lack processing power to break any real cryptographic algorithm, many cryptographers are designing new algorithms to prepare for a time when quantum computing becomes a threat.” https://en.wikipedia.org/wiki/Post-quantum_cryptography
Expectations in the field of quantum computer development.
To give you an idea what the expectations of quantum computer development are in the field (Take note of the fact that the type and error rate of the qubits is not specified in the article. It is not said these will be enough to break ECDSA or RSA, neither is it said these will not be enough. What these articles do show, is that a huge speed up in development is expected.):
When will ECDSA be at risk? Estimates are only estimates, there are several to be found so it's hard to really tell.
The National Academy of Sciences (NAS) has made a very thourough report on the development of quantum computing. The report came out in the end of 2018. They brought together a group of scientists of over 70 people from different interconnecting fields in quantum computing who, as a group, have come up with a close to 200 pages report on the development, funding, implications and upcoming challenges for quantum computing development. But, even though this report is one of the most thourough up to date, it doesn't make an estimate on when the risk for ECDSA or RSA would occur. They acknowledge this is quite impossible due to the fact there are a lot of unknowns and due to the fact that they have to base any findings only on publicly available information, obviously excluding any non available advancements from commercial companies and national efforts. So if this group of specialized scientists can’t make an estimate, who can make that assessment? Is there any credible source to make an accurate prediction?
The conclusion at this point of time can only be that we do not know the answer to the big question "when".
Now if we don't have an answer to the question "when", then why act? The answer is simple. If we’re talking about security, most take certainty over uncertainty. To answer the question when the threat materializes, we need to guess. Whether you guess soon, or you guess not for the next three decades, both are guesses. Going for certain means you'd have to plan for the worst, hope for the best. No matter how sceptical you are, having some sort of a plan ready is a responsible thing to do. Obviously not if you're just running a blog about knitting. But for systems that carry a lot of important, private and valuable information, planning starts today. The NAS describes it quite well. What they lack in guessing, they make up in advice. They have a very clear advice:
"Even if a quantum computer that can decrypt current cryptographic ciphers is more than a decade off, the hazard of such a machine is high enough—and the time frame for transitioning to a new security protocol is sufficiently long and uncertain—that prioritization of the development, standardization, and deployment of post-quantum cryptography is critical for minimizing the chance of a potential security and privacy disaster."
Another organization that looks ahead is the National Security Agency (NSA) They have made a threat assessment in 2015. In August 2015, NSA announced that it is planning to transition "in the not too distant future" (statement of 2015) to a new cipher suite that is resistant to quantum attacks. "Unfortunately, the growth of elliptic curve use has bumped up against the fact of continued progress in the research on quantum computing, necessitating a re-evaluation of our cryptographic strategy." NSA advised: "For those partners and vendors that have not yet made the transition to Suite B algorithms, we recommend not making a significant expenditure to do so at this point but instead to prepare for the upcoming quantum resistant algorithm transition.” https://en.wikipedia.org/wiki/NSA_Suite_B_Cryptography#cite_note-nsa-suite-b-1
What these organizations both advice is to start taking action. They don't say "implement this type of quantum resistant cryptography now". They don't say when at all. As said before, the "when" question is one that is a hard one to specify. It depends on the system you have, the value of the data, the consequences of postponing a security upgrade. Like I said before: you just run a blog, or a bank or a cryptocurrency? It's an individual risk assesment that's different for every organization and system. Assesments do need to be made now though. What time frame should organisationds think about when changing cryptography? How long would it take to go from the current level of security to fully quantum resistant security? What changes does it require to handle bigger signatures and is it possible to use certain types of cryptography that require to keep state? Do your users need to act, or can al work be done behind the user interface? These are important questions that one should start asking. I will elaborate on these challenges in the next articles.
Besides the unsnswered question on "when", the question on what type of quantum resistant cryptography to use is unanswered too. This also depends on the type of system you use. The NSA and NAS both point to NIST as the authority on developments and standardization of quantum resistant cryptography. NIST is running a competition right now that should end up in one or more standards for quantum resistant cryptography. The NIST competition handles criteria that should filter out a type of quantum resistant cryptography that is feasable for a wide range of systems. This takes time though. There are some new algorithms submitted and assessing the new and the more well known ones must be done thouroughly. They intend to wrap things up around 2022 - 2024. From a blockchain perspective it is important to notice that a specific type of quantum resistant cryptography is excluded from the NIST competition: Stateful Hash-Based Signatures. (LMS and XMSS) This is not because these are no good. In fact they are excelent and XMSS is accepted to be provable quantum resistant. It's due to the fact that implementations will need to be able to securely deal with the requirement to keep state. And this is not a given for most systems.
At this moment NIST intends to approve both LMS and XMSS for a specific group of applications that can deal with the statefull properties. The only loose end at this point is an advice for which applications LMS and XMSS will be adviced and for what applications it is discouraged. These questions will be answered in the beginning of april this year: https://csrc.nist.gov/news/2019/stateful-hbs-request-for-public-comments This means that quite likely LMS and XMSS will be the first type of standardized quantum resistant cryptography ever. To give a small hint: keeping state, is pretty much a naturally added property of blockchain.
Quantum resistant blockchains
“Quantum resistant” is only used to describe networks and cryptography that are secure against any attack by a quantum computer of any size in the sense that there is no algorithm known that makes it possible for a quantum computer to break the applied cryptography and thus that system.
Also, to determine if a project is fully quantum resistant, you would need to take in account not only how a separate element that is implemented in that blockchain is quantum resistant, but also the way it is implemented. As with any type of security check, there should be no backdoors, in which case your blockchain would be just a cardboard box with bulletproof glass windows. Sounds obvious, but since this is kind of new territory, there are still some misconceptions. What is considered safe now, might not be safe in the age of quantum computers. I will address some of these in the following chapters, but first I will elaborate a bit about the special vulnerability of blockchain compared to centralized systems.
Why is it easier to change cryptography for centralized systems such as banks and websites than for blockchain?
Developers of a centralized system can decide from one day to the other that they make changes and update the system without the need for consensus from the nodes. They are in charge, and they can dictate the future of the system. But a decentralized blockchain will need to reach consensus amongst the nodes to update. Meaning that the majority of the nodes will need to upgrade and thus force the blockchain to only have the new signatures to be valid. We can’t have the old signature scheme to be valid besides the new quantum resistant signature scheme. Because that would mean that the blockchain would still allow the use of vulnerable, old public- and private keys and thus the old vulnerable signatures for transactions. So at least the majority of the nodes need to upgrade to make sure that blocks which are constructed using the old rules and thus the old vulnerable signature scheme, are rejected by the network. This will eventually result in a fully upgraded network which only accepts the new post quantum signature scheme in transactions. So, consensus is needed. The most well-known example of how that can be a slow process is Bitcoin’s need to scale. Even though everybody agrees on the need for a certain result, reaching consensus amongst the community on how to get to that result is a slow and political process. Going quantum resistant will be no different, and since it will cause lesser performance due to bigger signatures and it will need hardware upgrades quite likely it will be postponed rather than be done fast and smooth due to lack of consensus. And because there are several quantum resistant signature schemes to choose from, agreement an automatic given. The discussion will be which one to use, and how and when to implement it. The need for consensus is exclusively a problem decentralized systems like blockchain will face.
Another issue for decentralized systems that change their signature scheme, is that users of decentralized blockchains will have to manually transfe migrate their coins/ tokens to a quantum safe address and that way decouple their old private key and activate a new quantum resistant private key that is part of an upgraded quantum resistant network. Users of centralized networks, on the other hand, do not need to do much, since it would be taken care of by their centralized managed system. As you know, for example, if you forget your password of your online bank account, or some website, they can always send you a link, or secret question, or in the worst case they can send you mail by post to your house address and you would be back in business. With the decentralized systems, there is no centralized entity who has your data. It is you who has this data, and only you. So in the centralized system there is a central entity who has access to all the data including all the private accessing data, and therefore this entity can pull all the strings. It can all be done behind your user interface, and you probably wouldn’t notice a thing.
And a third issue will be the lost addresses. Since no one but you has access to your funds, your funds will become inaccessible once you lose your private key. From that point, an address is lost, and the funds on that address can never be moved. So after an upgrade, those funds will never be moved to a quantum resistant address, and thus will always be vulnerable to a quantum hack.
To summarize: banks and websites are centralized systems, they will face challenges, but decentralized systems like blockchain will face some extra challenges that won't apply for centralized systems.
All issues specific for blockchain and not for banks or websites or any other centralized system.
Conclusion
Bitcoin and all currently running traditional cryptocurrencies are not excluded from this problem. In fact, it will be central to ensuring their continued existence over the coming decades. All cryptocurrencies will need to change their signature schemes in the future. When is the big guess here. I want to leave that for another discussion. There are enough certain specifics we can discuss right now on the subject of quantum resistant blockchains and the challenges that existing blockchains will face when they need to transfer. This won’t be an easy transfer. There are some huge challenges to overcome and this will not be done overnight. I will get to this in the next few articles.
Part 1, what makes blockchain reliable?
Part 2, The two most important mathematical concepts in blockchain.
Part 4A, The advantages of quantum resistance from genesis block, A
Part 4B, The advantages of quantum resistance from genesis block, B
Part 5, Why BTC will be vulnerable sooner than expected.
submitted by QRCollector to CryptoTechnology [link] [comments]

New people please read this. [upvote for visibility please]

I am seeing too many new people come and and getting confused. Litecoin wiki isn't the greatest when it comes to summing up things so I will try to do things as best as I can. I will attempt to explain from what I have learned and answer some questions. Hopefully people smarter than me will also chime in. I will keep this post updated as much as I can.
Preface
Litecoin is a type to electronic currency. It is just like Bitcoin but it there are differences. Difference explained here.
If you are starting to mine now chances are that you have missed the Bitcoin mining train. If you really want your time and processing power to not go to waste you should mine LTC because the access to BTC from there is much easier.
Mining. What is it?
Let's get this straight. When making any financial commitment to this be prepared to do it with "throw away" money. Mining is all about the hashrate and is measured in KH/s (KiloHash/sec). Unlike the powerful ASICs (Application Specific Integrated Circuit) that are used to mine bitcoins using hashrates in the GH/s and even TH/s, litecoin mining has only been able to achieve at the very best MH/s. I think the highest I've seen is 130 MH/s so far. Which leads us to our next section.
Mining Hardware
While CPU mining is still a thing it is not as powerful as GPU mining. Your laptop might be able to get 1 a month. However, I encourage you to consult this list first. List of hardware comparison You will find the highest of processors can maybe pull 100 KH/s and if we put this into a litecoin mining calculator it doesn't give us much.
Another reason why you don't want to mine with your CPU is pretty simple. You are going to destroy it.
So this leaves us with GPUs. Over the past few months (and years) the HD 7950 has been the favourite because it drains less power and has a pretty good hashrate. But recently the introduction of the R9 290 (not the x) has changed the game a bit. People are getting 850 KH/s - 900 KH/s with that card. It's crazy.
Should I mine?
Honestly given the current difficulty you can make a solid rig for about $1100 with a hashrate of 1700 KH/s which would give you your investment back in about a month and a half. I am sure people out there can create something for much cheaper. Here is a good example of a setup as suggested by dystopiats
PCPartPicker part list / Price breakdown by merchant / Benchmarks
Type Item Price
CPU AMD Sempron 145 2.8GHz Single-Core Processor $36.01 @ Amazon
Motherboard ASRock 970 EXTREME4 ATX AM3+ Motherboard $99.48 @ OutletPC
Memory Crucial Ballistix Tactical Tracer 4GB (1 x 4GB) DDR3-1866 Memory $59.99 @ Newegg
Video Card Sapphire Radeon HD 7950 3GB Video Card (3-Way CrossFire) $245.38 @ Newegg
Video Card Sapphire Radeon HD 7950 3GB Video Card (3-Way CrossFire) $245.38 @ Newegg
Video Card Sapphire Radeon HD 7950 3GB Video Card (3-Way CrossFire) $245.38 @ Newegg
Power Supply SeaSonic Platinum 860W 80+ Platinum Certified Fully-Modular ATX Power Supply $146.98 @ SuperBiiz
Total
Prices include shipping, taxes, and discounts when available. $1078.60
Generated by PCPartPicker 2013-11-29 00:52 EST-0500
Estimated Hashrate (with GPU overclocking) : 1900 KH/s
Hardware Fundamentals
CPU - Do you need a powerful CPU? No but make sure it is a decent one. AMD CPUs are cheap to buy right now with tons of power. Feel free to use a Sempron or Celeron depending on what Motherboard you go with.
RAM - Try to get at least 4 GB so as to not run into any trouble. Memory is cheap these days. I am saying 4 GB only because of Windoze. If you are plan to run this on Linux you can even get away with less memory.
HDD Any good ol 7200 RPM hard drive will do. Make sure it is appropriate. No point in buying a 1TB hard drive. Since, this is a newbie's guide I assumed most won't know how to run linux, but incase you do you can get a USB flash drive and run linux from it thus removing the need for hard drive all toghether. (thanks dystopiats)
GPU - Consult the list of hardware of hardware I posted above. Make sure you consider the KH/s/W ratio. To me the 290 is the best option but you can skimp down to 7950 if you like.
PSU - THIS IS BLOODY IMPORTANT. Most modern GPUs are power hungry so please make sure you are well within the limits of your power consumption.
MOTHERBOARD - Ok, so a pretty popular board right now is Gigabyte GA-990FXA-UD3 and the ASRock 970 Extreme4. Some people are even going for Gigabyte GA-990FXA-UD5 and even the mighty Gigabyte GA-990FXA-UD7 because it has more PCI-E slots. 6 to be exact. However you may not need that much. With risers you can get more shoved into less.
PCI-E RISERS - These are called risers. They come in x16 to x16 and x1 to x16 connections. Here is the general rule of thumb. This is very important. Always get a POWERED riser otherwise you will burn a hole in your MoBo. A powered rise as a molex connector so that additional power from PSU can be supplied.
When it comes to hardware I've provided the most basic knowledge you need. Also, take a look at cryptobader's website. This is very helpful. Please visit the mining section of Litecoin Forums and the litecoinmining subreddit for more indepth info.
Mining Software
Now that you have assembled your hardware now you need to get into a pool. But before you do that you need a mining software. There are many different ones but the one that is most popular is cgminer. Download it and make sure you read the README. It is a very robust piece of software. Please read this if you want to know more. (thanks BalzOnYer4Head)
Mining Pools
Now that your hardware and software is ready. I know nothing about solo mining other than the fact that you have to be very lucky and respectable amount of hashing power to decrypt a block. So it is better to join pools. I have been pool hopping for a bit and really liked give-me-coin previously known to the community as give-me-ltc. They have a nice mobile app and 0% pool fees. This is really a personal preference. Take a look at this list and try some yourself.
How do I connect to a pool?
Most pools will give you a tutorial on how to but the basics are as follows:
  • Signup for a pool
  • Create a worker for your account. Usually one worker per rig (Yes people have multiple rigs) is generally a good idea.
  • Create a .run file. Open up notepad and type cgminer.exe -o (address_to_the_miningpool:port_number) -u (yourusername.workername) -p (your_worker_password_if_you_made_one). Then File>Save As>runcgminer.run (Make sure the drop down is set to "All Files" and .txt document.) and save in the same folder as cgminer. That's it.
  • Double click on runcgminer.run (or whatever you named it) and have fun mining.
Mining Profitability
This game is not easy. If it was, practically everyone would be doing it. This is strictly a numbers game and there are calculations available that can help you determine your risk on your investments. 4 variables you need to consider when you are starting to mine:
Hardware cost: The cost of your physical hardware to run this whole operation.
Power: Measured in $/KwH is also known as the operating cost.
Difficulty rate: To put it in layman's terms the increase in difficulty is inversely proportional to amount of coin you can mine. The harder the difficulty the harder it is to mine coin. Right now difficulty is rising at about 18% per 3 days. This can and will change since all you miners are soon going to jump on the band wagon.
Your sanity: I am not going to tell you to keep calm and chive on because quiet frankly that is stupid. What I will tell you not to get too carried away. You will pull you hair out. Seriously.
Next thing you will need is a simple tool. A mining profitability calculator. I have two favourite ones.
coinwarz
I like this one cause it is simple. The fields are self explanatory. Try it.
bitcoinwisdom
I like this one because it is a more real life scenario calculator and more complicated one (not really). It also takes increasing difficulty into account.
Please note: This is the absolute basic info you need. If you have more questions feel free to ask and or google it!
More Below.
submitted by craeyon to litecoin [link] [comments]

How to Calculate Bitcoin Difficulty Nonce – Definition, Meaning, Review, Description, Example, Proof-Of-Work Bitcoin What Does Hashrate Mean?  Hashrate Mining Explained Bitcoin Calculator  Is Bitcoin Money? Must See Max Keiser Video Bitcoin Hash Calculator

Bitcoin difficulty is a value used to show how hard is it to find a hash that will be lower than target defined by system. Bitcoin mining difficulty is changed every 2016 blocks. The difficulty charts show that it has increased significantly. The Bitcoin wiki has details on difficulty, as well. I don't know what a hash is either. When mining , your computer creates a block of data, which has a list of all of the transactions it knows about, includes a transaction that pays you the mining bonus, and then hashes that. Difficulty is a measure of how difficult it is to find a hash below a given target. The Bitcoin network has a global block difficulty. Valid blocks must have a hash below this target. Mining pools also have a pool-specific share difficulty setting a lower limit for shares. How often does the network difficulty change? Every 2016 blocks. Difficulty field: BlockExplorer provides the current difficulty. Hash rate field: the value can determined from your miner client, or from the mining hardware comparison. Power usage field: the value for a GPU card itself can be determined from the mining hardware comparison. More accurate values would come from a measurement such as that provided by a Kill-A-Watt device, for example. Cost of ... The Bitcoin difficulty started at 1 (and can never go below that). Then for every 2016 blocks that are found, the timestamps of the blocks are compared to find out how much time it took to find 2016 blocks, call it T. We want 2016 blocks to take 2 weeks, so if T is different, we multiply the difficulty by (2 weeks / T) - this way, if the hashrate continues the way it was, it will now take 2 ...

[index] [38131] [33799] [20849] [36980] [25861] [16425] [31451] [47439] [23204] [44696]

How to Calculate Bitcoin Difficulty

bitcoin calculator, bitcoin calculator usd, bitcoin calculator difficulty, bitcoin calculator pool, bitcoin calculator power, bitcoin calculator asic, bitcoin converter, bitcoin hardware, bitcoin ... bitcoin cloud mining calculator current bitcoin difficulty litecoin mining calculator x11 mining calculator hash rate calculator gpu hashing power calculator # ... Bitcoin Hash Calculator use to calculate the profitability of Bitcoin and the tool to find good return bitcoin miners to buy. You can easily calculate how many Bitcoins mines with your hash rates ... Bitcoin basics: What is the difficulty target and how does it adjust itself? ... Bitcoin Cash(BCH) hash rate drops 90% after halving. Time to abandon ship? - Duration: 5:52. Cryptocurrency News ... In Bitcoin's mining process, the goal is to find a hash below a target number which is calculated based on the difficulty. Proof-of-work in Bitcoin's mining takes an input consists of Merkle Root ...

#