Bitcoin Mining Calculator - Updated with 2020 Miners

Crypto Mining and Rising GPU prices

A lot of people have questions about cryptocurrency, mining, and what this has to do with a rise in GPU prices.
You can find more information at various other subreddits dedicated to the subject:

What is cryptocurrency?

Currency, in general, is a medium for exchange that is based on promises for what that currency is worth. Commonly called "money."
Cryptocurrency is not centrally controlled or regulated and their value is based on the supply and demand; there are built-in limits for how much can exist (potentially curbs devaluation), public logs of the transactions (blockchain) and the cryptography algorithm make it difficult to counterfeit.
Maybe this old TechQuickie can explain it better.
TL:dr an unregulated form of digital money

What is mining?

The most basic way to acquire a cryptocurrency is the same as acquiring money, in exchange for goods or services.
The other way to get cryptocurrency is by mining, or solving increasingly difficult math problems in exchange for the cryptocurrency.

What does this have to do with GPU prices going up?

Crypto mining started on CPUs, but it didn't take long for people to realize that GPUs, especially the 'heavy duty' ones intended for gaming, are really good at it.
The downside to GPU mining is heat and power consumption, this lead to mining systems designed for the task and eventually ASIC chips designed just for mining.
As a cryptocurrency matures the math problems become very difficult, leading to pools of miners that share resources - this has also lead to some malware using infected systems for mining.
An older currency like Bitcoin is well into that 'pooled specialty hardware' age, but newer options like Ethereum are aimed at GPUs; this increased demand means lower supply which means higher prices.

When will prices go back to normal?

Probably if or when the cost to mine via GPU exceeds expected returns.
There are some specialized cards set to hit the market which may ease the demand on enthusiast GPUs.
A word of warning, when this happens the market will be flooded with GPUs that were used for mining. The lower price may seem attractive, but these cards have been used in harsh conditions, 24/7 for who knows how long. Mining cards probably won't run very well/very long or they could work fine. You have to decide if it's worth the risk.

Should I start mining?

That is entirely up to you, but please take some time to educate yourself on the risks and benefits before you decide.
Take a look at a profitability estimator to get an idea of what you might expect. These cryptocurrencies can be very, very volatile so don't quit your job expecting to strike it big with mining. Consider the cost of taxes, cooling, hardware, replacement hardware, and power.
Mining is hard on hardware, the wear and tear means things like fans, the GPU(s), and other parts may die prematurely. Keeping your hardware cool (about 300W to cool 1000W) can lead to additional costs for hardware and power or reduced output. The cost of electricity may not seem like much, but it can be enough to make or break a mining setup.
Take the time to figure out your ROI.

Should I sell my card?

Again, this is entirely up to you. There may be situations where selling a card and upgrading with the money can work out, but there are a lot of factors at play there, so do your research.
Check selling sites: eBay, Craigslist, hardwareswap, LetGo, Facebook, and other (similar) selling sites for pricing. If shipping, package it how you bought it: clean, inside an anti-static bag, in a cardboard box with some padding. If meeting someone IRL, be careful, meet in a well-lit public place - some areas have exchange locations at places like police stations.
I'd like to take a quick moment to thank Linux_PCMR for some insight, Graphics_Nerd for gathering some links for review, and the kind users that have replied to the number of posts on this subject.
submitted by zeug666 to pcmasterrace [link] [comments]

Welcome to Komodo. A Beginner's Guide.

Overview: the basics of the Komodo ecosystem.
 
1. Privacy: a mighty privacy coin that protects your data and rewards you 5% annually.
 
What is a privacy coin? Privacy coins implement various protocols to create a layer of privacy between blockchain transactions. This can be utilized to prevent blockchain traceability or provide different levels of privacy for data stored on the blockchain.
 
What is Jumblr? A decentralized cryptocurrency shuffler that allows your transactions to become incognito and protects them from being traced through a time or knapsack attack. It adds a privacy layer to your transactions because after your coins are Jumbled, an analysis of the amounts that went in or times that they came out is futile. This function is unique to Komodo and does not require third parties.
 
2. Security: a secure and robust consensus mechanism called delayed Proof of Work (dPoW) that protects your funds and our ecosystem. This unique technology uses a notarization process to create a backup of the entire Komodo blockchain onto the Bitcoin blockchain thereby increasing security and resilience. This happens roughly every ten minutes. The backups are then saved (notarized) onto the Bitcoin blockchain because it has the highest hashrate available. So even if Komodo suffered a devastating attack (which is extremely unlikely), the Komodo blockchain would merely revert to the most recently notarized copy of the chain. If Bitcoin loses superiority in terms of hashrate the dPOW mechanism can be switched to another blockchain on demand. Hence, Komodo is the most flexible platform to build on and one of the most secure.
 
What is hashrate? A proof of work blockchain needs a lot of calculations. Hashrate is the way it is measured. The amount of data hashed in a given time by a machine. It is a unit used to define the amount of calculations made by a machine. When you add all the machines together you have the hashrate for that blockchain (here’s a great chart that illustrates it). It's like a river of transactions and the broader and wider it is, the harder it is to manipulate it.
 
Hashrate historical chart: https://bitinfocharts.com/comparison/hashrate-btc-eth-bch-ltc.html#1y.
 
3. Freedom from middlemen: a decentralized exchange (DEX) called BarterDEX, with a fully working order book, powered by our world-class atomic swap technology. This reduces risk and transaction fees. Komodo’s atomic swaps work between Bitcoin protocol and ERC20 tokens which means we can support over 95% of all the tokens and coins in existence. Our decentralized exchange offers ‘liquidity power-ups’ which mean that you can place more than one buy order with the same funds (i.e. pick your top 5 coins and if any of them drop below 50% of their value you’ll buy it and cancel the other orders at the same time) which means your funds have a greater value! On top of all that, Komodo’s DEX has fast transaction speeds and super low transaction fees (0.15%). You can find live BarterDEX and Komodo Stats here: https://dexstats.info/index.php.
 
What are atomic swaps? Atomic swaps are a method of trading cryptocurrencies peer-to-peer, directly from one blockchain to another, without the need to trust a third-party. Here is a good article to read that will take you about 11 minutes ‘Atomic Swaps & Etomic Swaps, Explained in Plain English’ written by John Westbrook on Medium.
 
Why do YOU want an exchange to be decentralized? A centralized exchange is a third party and requires you to trust them with your funds. If they’re hacked you’re at risk of losing your funds. Centralized exchanges also require you to trade between pillars (i.e. BTC or USDT) which can involve higher transaction fees and a greater number of trades than necessary to swap the token you have for the one you want (i.e. DOGE sell to BTC to buy KMD is two trades when all you really want is DOGE to KMD).
 
4. Independence: decentralized ICO crowdfunding and scalability solutions for blockchain startups.
You can think of a blockchain as a motorway and if you build a project on the same blockchain as other projects you will be impacted by how well the other drives behave, or by the motorway introducing tolls, or you could suffer from congestion (i.e. if you’re familiar with how crypto kitties caused ETH transaction fees to greatly increase and transaction speeds to slow down then you’ll understand multiple projects on one blockchain cause a scalability and independence problem ).
Komodo offers parallel chains which mean a project or decentralized ICO is given its own chain which uses Komodo’s technology. This also solves the scalability issue because using the motorway analogy we can simply open more lanes for a project with a high amount of congestion. This is possible because of the dPOW notarisation. It allows projects to launch completely independent blockchains.
Every independent blockchain created on Komodo Platform is automatically integrated into Komodo’s BarterDEX (DEX) which means they have instant access to liquidity for their token and their community can buy and trade immediately. If you compare this to a centralized exchange where projects are often met with a list of onerous demands and fees to be listed and risk being delisted then you’ll understand how important this is for any project especially smaller teams and decentralized apps (dAPPS).
 
5. Universal Wallet: the Agama Wallet is a universal secure, multi-coin wallet to store funds on and claim the 5% reward for your $KMD tokens. There is also a paper wallet available if you would prefer a cold storage option for those who want to maximize their security.
 

Read the Whitepaper

Join the Community

 

FAQs for BarterDEX

 

FAQs for Wallets

Where to buy $KMD

Mining Komodo

Thank you for reading this far. If you have any suggestions for how we can improve this guide or any questions please leave your commments below.
submitted by benohanlon to komodoplatform [link] [comments]

What is dev team going do about Dogecoin's dangerously low hashrate?

First of all, let me apologize in advance if anything I say offends people or if I am not very nice. I am stating my opinions and don't like to sugar coat things. So it might be a bit jarring when compared to typical shibes you see around here. :)
The last time I talked to the Dogecoin dev team, they were still trying to figure out what they wanted to do. And Jackson said that he would wait for 2 more halvings before considering merged mining. Well it's been 2 halvings, and the Dogecoin hashrate has behaved pretty much as I expected: LTC/DOGE hashrate comparison
When I did my merged mining AMA, the dogecoin hashrate was about 1/2 of litecoin's hashrate. Today, the hashrate is 1/15 of litecoin's. Pretty much all the ASIC hashrate went to Litecoin, which I warned would happen. The Dogecoin's network security is in danger of being attacked. The top 3 Litecoin pools can easily pull off a 51% attack on the Dogecoin network. In a few weeks, the top 6 Litecoin pools can easily do it.
A Scrypt ASIC farm can decide that it wants to have some fun. The Dogecoin network hashrate is about 45 ghash/s. So as an example, a 50 ghash/s farm can easily 51% it. Here's the earning ability of 50 ghash/s: litecoin mining calculator. It makes about $20500 per day. Let's say it takes about 30 minutes to pull off this attack... that's 30 Dogecoin confirmations. The attacker loses about $430 if he stops mining Litecoin for an hour. They could try to attack one of the top Dogecoin exchanges and try to steal 0.7 bitcoins to make it worth their time. Or they can double spend a lifetime subscription to Hustler.com, which is worth about $500. Or maybe they just don't like Dogecoin. And it only costs them $430! Dogecoin's network security is worth only $430.
So what can you do? Honestly, I'm not sure merged mining is a viable option anymore, as it is becoming less and less viable with each passing day. Merged mining was the best option in April, when I first proposed it. At that time, if merged mining was implemented, almost every single Litecoin and Dogecoin pool will switch to do merged mining right away, because adding merged mining of Dogecoin would increase their mining output by 50%! Today, adding merged mining will only increase earnings by 6%. It's hard to say how many pools will switch. Some might think it's not worth their time. So it would take a big PR push to make this work.
You're now left with a hard choice:
I think the dev team needs to do something soon.
submitted by coblee to dogecoin [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]

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]

Clearing up some misconceptions (including my own) [WARNING: LONG, MATH]

I've been reviewing NAV's code for the past couple months in my spare time and have seen a few things pass for granted which I had assumed were edicts from the NAV team, but as it turns out, they were not. I'll just cover them in sections below. This is going to get long, and hopefully you like math. I'm sorry, in advance.

Coins do not gain weight with age

tldr; section title
This is the big one, and the reason I wanted to review NAV's code in the first place. I had been treating this unofficial medium article like it was the bible, and it mentions that coins are weighted with age and size. No other documentation I could find indicated any differently (honestly, there's not really other documentation, in the first place) and so, having not finished looking into the code, I presumed that was simply true.
It is not, however. I'm not even sure where this idea came from, besides that article, because no NAV team announcements I've seen have said this, but maybe I'm just not looking back far enough.

So how DOES it work?

tldr; values are hashed together and compared against a target. That target is adjusted based only on how many NAV are staking
For those who haven't looked into how NAV picks the next group of staking coins (like I hadn't), the way it works is that a bunch of publicly available values (such as the time of the block you want to make, the time and hash of the transaction that represents your coinstake, and a few others) are hashed twice through SHA256 to create a random number. The actual values input are less important, what is important for NAV's purposes is that they are available to everyone, reasonably unique, and can be verified by other nodes on the blockchain. The output is, mathematically speaking, reproducible, but also completely random.
This value is then checked against a target value that changes based on how fast the network is making blocks. If the network is making blocks around once every three seconds? The target value gets harder (smaller). If the network is making blocks around once every minute? The target value gets easier (larger). The target value just gets adjusted until the network is sitting comfortably at 30 second blocks. So far this is the same way Bitcoin keeps their block time consistent.
However, PoS currencies then usually make an adjustment to that target value to increase your chances to win. In NAV's case, they multiply the target value by the number of coins you are staking. This means that a group of 1000 coins is 1000 times more likely to stake than a group of 1 coin.
To use more accessible numbers, since the values NAV is using are huge, this would be like saying the base odds are that you have to roll a 2 or below on a 100-sided die to win the coinstake. For one roll, you have a 2% chance. For two rolls, you have a 3.95% chance, for three rolls you have a 5.88% chance, for ten you have a 18.29% chance. For n rolls, a 1 - (98^n)/(100^n) chance. To simplify this somewhat, and encourage larger groups, NAV simply says that if you have 10 coins, your chances are 10 * 2%, or 20%. It's a bit more, but it's close.
It's worth noting that, using this system, if you have 50 coins, you have a 100% chance to win every roll, whereas pure single-roll odds only give you a 63.58% chance. The reason this isn't really a problem is that, in this example, there would only be 50 coins in existence, and you probably don't even have access to half of them. Additionally, if you are winning too quickly, NAV will start handing you a 200 sided die, then a 400 sided die, until you are only winning one in 30 -- and this is assuming you're the only one playing. With a table of people, you will get a larger die until only one of you is winning one roll in 30.

Majority Attacks

tldr; if coins gained weight with age it might be an actual security concern. This way is not
The problem with Proof of Stake Age (PoSA) is that, if implemented poorly, it can create opportunities for very cheap attacks. You may have heard of a 51% attack (or majority attack) before. This is where any single entity in the Bitcoin network gains more than 50% of the hashing power. At 51% the chances of them mounting a successful network control attack are now greater than half, which presents a potential danger to the network.

In PoW

tldr; you need lots of fancy computers that you get to keep after
You need a lot of hashing power, which means a lot of computers, which means a lot of financial capital. Or, you need to combine with another organization or pool to combine your hashing power. This was actually a concern once in Bitcoin, but fortunately was resolved to no ill-effect, and ghash.io agreed to cut down their processing. In a PoW system, however, after you have executed your attack, you still have all of your computers, and can use them for something else. The financial capital you have invested is kept, and you never had to invest a single penny into the coin.

In PoS

tldr; you need lots of coins that you probably spent a lot of money on, which are probably worth very little after
In PoS currencies, a 51% attack is still possible, but in this case you would need to have more than half of the staking coins. As of a few days ago, the network weight was hovering around ~18-22 million NAV, so for NAV, you would need ~10-12 million coins to have the requisite 51% of coins. The base assumption for a PoS currency, however, is that, once you have that many coins, you're pretty invested in the network, and it is directly detrimental to you to attempt to attack it. When you execute your attack, you will likely greatly damage trust in the coin, and lose a large portion of your investment. At least, this is the theory.

In PoSA

tldr; you need a little bit of money and a lot of time
You just need to wait. The most simplistic form of PoSA is in the form: adjusted_target = coins * time * base_target. If left uncapped, the time adjustment can allow a single coin stake to outweigh the entire network. Even with a cap of three months (for a total of 7776000 age-weight), you could use a mere 797 individual 0.01 NAV stakes (7.97 NAV total) to outweigh the combined base weight of all 62 million NAV in existence. You want good actors to have the most weight on the network, but in a PoSA currency, good actors are constantly losing their weight when their time resets, whereas bad actors can get more weight for doing nothing.

In PoST

tldr; you need a little bit of money and to somehow create a bunch of coins with the same hashing window
There are some currencies, such as VeriCoin, which have attempted to address this in novel ways, using what they call Proof of Stake Time. They create an ideal window during which your coins gain weight, but after which they return to base levels. This should theoretically encourage people to keep a server running, so they can always catch that window when it happens, which is partially randomized (to prevent someone from simply making a bunch of 0.01 coinstakes at the same time and just waiting for the window). I'm not sure how battle-tested this is, and I can think of a few potential vectors for attack that might exist, depending on implementation, but it does present an interesting and promising approach to the problem of how to encourage everyone on the network to participate, instead of just large stake holders with good odds.

So how likely is it for me to actually get a stake with ___ NAV

tldr; at current network weights it's likely that 1000 NAV will stake around once a week, and 1 NAV will stake once every 17 years.
Since NAV is neither PoSA nor PoST (which I would stress isn't a bad thing, because pure PoS is comparatively simple and has known -- and addressed -- vectors of attack. It's also not necessarily a good thing; it's mostly just a thing), you're basically just as likely to stake today as you are tomorrow. Theoretically, every second should present a new opportunity to win a stake, but in practice this ends up not quite working out because there are other people on the network. Every time you accept a new block, you cut off all of the seconds before it forever. In practice, it's probably easiest to just look at the total weight of the network, and your weight, and extrapolate from there. We'll take for granted that NAV will have 30 second block times for this calculation. If you've got Python you can follow along:
>>> # 2 blocks/min * 60 min/hr * 24 hday * 365 days/year ... TOTAL_STAKES_IN_YEAR = 1051200 >>> # 60 sec/min * 60 min/hr * 24 hday * 365 day/yr ... SECONDS_IN_YEAR = 31536000 >>> # the number of coins you are staking ... stake = 1.0 >>> # The total number of coins on the network ... network_weight = 18701284.96584108 >>> my_stakes_per_year = (stake / network_weight) * TOTAL_STAKES_IN_YEAR 0.05621004128433283 >>> seconds_between_stakes = SECONDS_IN_YEAR / my_stakes_per_year 561038548.9752324 
For those keeping track, this means that a 1 NAV stake is expected to take approximately 17.79 years to see a return in the current network (and, even then, only if you happen to be online at exactly the right time and nobody else stakes it first). Coincidentally, this is where that "expected time to stake" number comes from, which I've seen people asking about. I didn't actually look that one up in the code, so I'm not sure how their exact equation differs from mine, but I arrived at the exact same numbers they did, so it's likely similar (and probably more concise, because I am both a verbose writer and programmer, if you hadn't noticed). A 1000 NAV stake, using what I am calling network math for ease of reference, is expected to take around 6.49 days. My suspicion is that the reason this is sometimes more sporadic is that going by the target alone, and testing every second, a 1000 NAV stake should be getting a hit around once every 8 hours. I generated a file of 31536000 hashes (one for each second in the year), using the rules NAV uses to create hashes, and came up with the following table.:
*Assumes a target of 0x1a183258. I forget which block I pulled this from, but it's still around there. This unpacks to a value of: 0x0000000000001832580000000000000000000000000000000000000000000000 Calc wins : Mathematical calculation for how many hashes you should win, given the target Hash wins : This was pulled from the file with a year's worth of random hashes. N-M Wins : The number of wins network math says you should get Hash time : The average time between wins in the randomized file for the given NAV amount N-M time : The amount of time network math says you should wait between wins NAV : Calc wins : Hash wins : N-M wins : Hash time : N-M time 1 : 1.05 : 1 : 0.05 : ~1 year : 17.79 years 5 : 5.29 : 7 : 0.28 : 41.66 days : 3.56 years 10 : 10.59 : 10 : 0.56 : 34.27 days : 1.78 years 50 : 52.95 : 44 : 2.81 : 7.49 days : 129.87 days 100 : 105.89 : 107 : 5.62 : 3.42 days : 64.94 days 200 : 211.79 : 212 : 11.24 : 41.24 hours : 32.47 days 500 : 529.48 : 532 : 28.11 : 16.39 hours : 12.99 days 1000 : 1058.97 : 1050 : 56.21 : 8.33 hours : 6.49 days 2000 : 2117.93 : 2109 : 112.42 : 4.15 hours : 3.25 days 5000 : 5294.83 : 5326 : 281.05 : 98.62 minutes : 1.30 days 1000000 : 1058966.42 : 1058455 : 56210.04 : 29.79 seconds : 9.35 minutes 
So obviously, a bit of disparity between the target-based times and the network calculated times. I would guess this has to do with other people on the network cutting you off from time values, and orphaned transactions where you did get the right value, but somebody else made a weightier one, but this is where my ability to really verify exactly what is happening starts dwindling. The disparity in N-M wins and Calc wins indicates that the target is currently too easy, and should adjust upwards, because right now coins on the network are 18.84 times weightier (calc wins column / n-m wins column) in hashing power than they should be based on the total network weight. But this is also where the whole "50 groups of 1 coin has a 63.58% chance to hit 2/100 whereas 1 group of 50 coins has a 100% chance to hit 100/100" thing comes into play.
Since the network is largely broken up into groups of, on average, 1500 coins, we're actually looking at ~12467.52 groups of 1500 coins vying to win any given block. Given the target, a group of 1500 coins should have a 0.0050369...% chance to win any given coinstake ((target * 150000000000) / maximum_hash_value). This means that the chance that at least one of the 12467.52 staking groups will match for a given second is 1 - (1 - 0.000050369...)^12467.52 = 0.4663, or 46.63%. This places the actual amount that coins are overweight a bit closer to 13.989 times. (network should have ~1/30 chance (3.33...%) to win any given second, 46.63 / 3.33...% = 13.989).
However, as mentioned, the software itself can get in the way of that, so this might just be due to a quirk of how the NAV software searches for matches, since it will abandon any seconds prior to the most recently accepted block. If you were cut off from 13 seconds in every 100, that would account for the weight disparity. In any case, I would probably trust the network math times over the pure math ones, if you're just trying to get a feel for how long you'll likely wait between stakes. What this really translates to is that, although a 1 NAV stake will probably have one second out of the year that will hash in it's favour, even running 24/7 you're likely to miss 17 of those before you actually have all the right conditions to win.
Interestingly, I did manage to find one 9.99 NAV stake that won after only 5 days; so it can happen. But it's all still random.

How does this affect my staking rewards?

tldr; it doesn't
Fortunately, NAV pays out the amount you should receive down to the second. Let's take this block at random. 1119.84133642 NAV coinstake, generated 3.82575342 NAV. The time of the previous transaction that created that coinstake was 1514741456 (see the "Raw Transaction" tab). The time of the current transaction is 1514741456. that's all we need to go on.
>>> SECONDS_IN_DAY = 86400 >>> DAYS_IN_YEAR = 365 >>> CENT = 1000000 # .01 NAV >>> COIN = 100000000 # 1.0 NAV >>> REWARD_PERCENT = 5 * CENT # will be 4 * CENT with community fund >>> # All NAV amounts in satoshi (navtoshi? natoshi?) ... stake = 111984133642 >>> # time of this stake ... stake_time = 1516896224 >>> # time of the transaction that made this stake >>> stake_prev_time = 1514741456 >>> # I'm not 100% positive why it converts to cent/seconds first, ... # but this is what the code does, so we need to as well if we ... # want to be accurate ... cent_seconds = (stake * (stake_time - stake_prev_time)) // CENT 241299827679 >>> # Now they undo the cent_seconds for some reason? I'm not sure. ... # This does, however, create a minimum coin stake for any given time. ... # 1 NAV, for instance, will not generate anything if it stakes until ... # it is exactly one day old (with a whopping 0.00013698 NAV). ... # The minimum NAV stake you can get a reward from if you get lucky ... # and stake at the end of two hours is 11 NAV. ... coin_day = ((cent_seconds * CENT) // COIN) // SECONDS_IN_DAY 27928 >>> stake_reward = (coin_day * REWARD_PERCENT) // DAYS_IN_YEAR 382575342 
note: // is a floor division. For example, 3 / 2 = 1.5, 3 // 2 = 1
And we come out the other end with exactly 3.82575342 NAV. Those are the only variables that affect your payout for staking. You then also get whatever the fees happen to be. There's not any magic to it, and so far as I can tell there's also not a limit. If you legitimately wait those 17 years for your 1 NAV to stake, your eventual payout will be on the order of 0.84 NAV. Anyways, that's pretty much all there is to your payout; it's very direct.

So is it worth it for me to stake?

tldr; personal preference
Honestly, this is entirely up to you. If you're in the "month or more" camp of coinstakers, it's probably not worth your while to be running 24/7 unless you're just really into securing the network (which, to be fair, I am all about that, so feel free). But with the blockchain at the small size it is right now, and if you're going to be using your computer anyways, it probably doesn't hurt to just run it in the background and see if you get lucky. Like pointed out, the actual amount you get is not affected by any of this. All that this means is that it is harder to predict exactly when you will get a stake. If you're concerned about financially supporting the staking, then NavTechServers has created this handy calculator to help out. From a mathematical standpoint, it's ironically much more likely for small coinstakers to get stakes if they are running 24/7, but from a financial standpoint, you're probably not getting enough to care to, so it's up to your preferences.

Cold Staking is not staking while offline

tldr; there is no magic that will allow blocks to be created without nodes on the network
I've also seen a bit of confusion over what cold staking is likely to bring, and want to ensure people aren't upset when it does get rolled out. Specifically the misconception that staking with offline coins is the same thing as staking while offline. It is physically impossible to generate a block without something connected to the network, and you only get staking rewards once you have generated a block, because the blockchain doesn't really have the tools to tell who is online and participating beyond "who made this block."
All that cold staking means is that the private keys to use your NAV to buy things or move their address are not on the server doing the staking. In general, this is accomplished via a smart contract and a secondary set of keys that is given permission to use your coins, but only for staking. If those keys are used for moving the a coin from one account to another, then the smart contract will flag it as an incorrect usage. This means that if someone hacks into your server, the only thing they could steal are the keys that permit them to stake your blocks. This is much easier to correct than someone stealing your private keys and moving your NAV to a separate address. Particl's overview of their cold staking system is a good read to get some baseline expectations.
Most implementations of cold staking do open up the possibility to sign your coins over to someone else to stake, which opens up the entirely new 51% attack vector of asking people to just GIVE you their network weight. But given that I have just recently explained to you all why one person owning a majority of the coin staking weight on the network is dangerous, I shouldn't have to tell you why this would be a bad idea, right?
RIGHT??

Summary

In any case, that's about it. Chances are the answer to the question "am I staking" is "yes", so long as the wallet tells you that it's staking. Unfortunately (but also fortunately), waiting longer only increases your chances insofar as you are trying more, but when you do eventually stake, you will be paid out based on how long you have waited, so there's not much lost.
I could go into much more depth about all this but this was about as concise as I could get it while still showing most of my work. I'd also be happy to address any other questions that arise from this, and obviously if somebody who knows better finds anything wrong with any of the details here let me know. If you wanted to get into this more in-depth, I've created a Python script which explains some of the technical aspects more thoroughly (including how to unpack the compact target number into the full value being checked in the code), and allows you to get hands-on with real block values. You can download it here. Happy hodling, everybody.
submitted by i_adore_you to NavCoin [link] [comments]

A technical thougts about ETC from Chinese community

Dr. Alan Xu, from ETC Chinese community, has published his thoughts on ETC's coming hard fork and other issues. Let's have a discusion about them. I reposted it here:
The Probability Theory Explanation of Bad Omen
One week before the “the DAO” was stolen, I clicked on the “the DAO” contract in Mist, and the Mist corrupted. I looked upon this phenomenon as a “bad omen” of the DAO, and unfortunately I jinxed it.
When the “the DAO” was stolen, of course I looked upon it as a bad omen of Ethereum, and I jinxed it again.
When Note7 explodes, all the people looks upon it as a bad omen, and Samsung is dying.
“Bad omen” is not a superstition, it has strong theoretical support! Please be patient to the following reasoning:
Nothing works 100 percent perfect. There’re always exceptions with small possibility. If we take all exceptions into consideration, the diversity of the whole system grows exponentially.:
Ncombinations=2Ncomponents
Even if one component has only one exception, a system with 100 components (e.g. a mechanical watch ,or a school) will have 2100 =1 million combinations!
It’s very obvious that we can’t live with such a diversity. To maintain and improve our civilization, we have to neglect exceptions, i.e. mathematically truncate all the possibilities of exceptions ,rounding the possibility of “normal” to 100% percent.
But, the truncated possibilities will not evaporate automatically. They cumulate via the following equation:
Ptruncated=1-Pnormal^ Ncomponents
or,
Ptruncated=1-(1-Pexception)^ Ncomponents
If a system is well-designed, the Pnormal is extremely close to 1, or Pexception is extremely close to 0. Let’s say 6 sigma,1 out of a million. Obviously a system with 100 components will have a Ptruncated of 1/10000, the system will be very safe. But a system with 1 million components(e.g. a spaceship) will have a Ptruncated of 0.632, which means “exceptions” overwhelms “normal”! –Now you understand why there’s such a high rate of spaceship explosion.
On the other hand, if a system is badly designed, Pexception is not very close to 0. Let’s say 1/1000. (1 exception out of 1000 may be praised by boss as good job) So, a not-so-complicated system with 1000 components will also have a Ptruncated of 0.632 (yes, 1-(1-1/N)N~=0.368) —normal become minority.
Then the topic goes to how exceptions show up.
Please look at the equation of combinations. The overwhelming possibility of “exceptions” is accumulated from the extremely small possibilities of the 21000 combinations!
So, when “exceptions” show up, the possibility must do a “luck draw”, finds a “lucky” combination and push it to the front stage.
When we look at the specific case of combination that shows up and calculate it’s possibility, of course that’ll be very small(with our theory, its 1 out of 2N). Then because it’s a small possibility, we tend to explain it as “accident “ or “bad luck” , and forgive the person liable.
When the next time “exceptions” show up, it’s obvious that the same combination won’t be “lucky” again—the possibility is way lower than winning a lottery! The “luck” will go to another combination out of the 2N base. And then kind people will also explain that as an “accident”, and they won’t link the latter “bad luck” with the previous one.
But now you know the equation of “exceptions”, you will realize that with one “bad luck”, the Ptruncated is already very high, if 2 “bad lucks” come closely , the Ptruncated may already overwhelms Pnormal.
So, when a “bad luck” comes, it’s really a “bad omen”, and with high possibility, you will jinx it.
Chinese idiom: The fall of one leaf is enough to tell coming of autumn.
A Forkless Solution to Ethereum Flood Attack
Ethereum experienced flood attack in the past weeks, and as a “tradition”, the dev team decided to hard fork again.
The previous hard fork “created” ETC. This time, maybe it will create a “ETHC”, and if ETC follows the hard fork, it will create a “ETCC”.
Ncoins=2Nforks
Maybe Ethereum should be renamed to “Bacterium”, which keeps dividing and creates colony.
If hard fork can solve the problem, anyway it’s worthy to fork. But actually this hard fork is only a temporary solution, and because it introduces compromise to the system, another hard fork in the near future is a must need. And if that hard fork introduces another compromise while solv