Performance and memory usage are both security critical in consensus systems. It's difficult (impossible?) to write Haskell which is all three performant, predictable in its memory usage, and idiomatic-- at least for some sufficiently strict requirements in performance and memory usage.Please note that however much I tend to defer to his opinions (per Adam Back's guidance that when one disagrees with Greg about technical matters they are probably wrong), I must reconcile that deference with respect for the IOG team's galaxy brains. Negative appraisals of Rust and Haskell aren't going away, so IMO it behooves the Cardano community to get a grip on the most valid criticisms and try our best to stay ahead of them.
Rust is a lot like C++. In theory, it's easier to write rust code that lacks particular classes of bugs than in C++. However, no one using C++ uses the entire language and the various subsets people use also largely avoid various kinds of bugs. Not as rigorously as rust, particularly because its hard to verify you're using the subset of C++ you're intending to use.
In Bitcoin we've found that the kind of bugs that rust guarantees the absence of have been uncommon.
I've personally found that the rust code I've encountered online has often been low quality to extremely low quality-- often throwing panics on the slightest unexpected input or usage, or suffering from incorrect results due to integer wraparound (which in theory debug mode would catch, but it runs so slow as to be completely unusable on many codebases). I'm unsure if this is a property of the language itself (e.g. does the syntax lead to greater faults), user's expectations of the language (sloppy work because they expect things to be 'safe'), or the useapplication (e.g. are people that redo stuff "but in rust" less experienced programmers?).
Given that experience I would not place a bet right now that rust currently lowers the rate of serious defects in large programs developed by experienced teams compared to C++ with modern practices. However, if I had to use software written by inexperienced developers I suppose I would probably prefer they use rust to C++...
Rust and C++ also have no good facilities for formally reasoning about the behaviour of programs (beyond things like the borrow checker in rust). But C++ is a superset of C and there are tools to rigorously prove things the properties of C code, which means you can write components of C++ programs in C and formally prove things about them. You could do the same with rust+c but C++ and C share a lot more syntax and behaviour.
In the world of open source Rust and Haskell both have an additional limitation that the community of developers and reviewers for these languages is smaller than that of C++.
|Rate (per day)||2.73||479.44|
Generated with BBoe's Subreddit Stats
Thank you for inviting Horizen to the GPU mining AMA!submitted by Blockops to gpumining [link] [comments]
ZEN had a great run of GPU mining that lasted well over a year, and brought lots of value to the early Zclassic miners. It is mined using Equihash protocol, and there have been ASIC miners available for the algorithm since about June of 2018. GPU mining is not really profitable for Horizen at this point in time.
We’ve got a lot of miners in the Horizen community, and many GPU miners also buy ASIC miners. Happy to talk about algorithm changes, security, and any other aspect of mining in the questions below. There are also links to the Horizen website, blog post, etc. below.
So, if I’m not here to ask you to mine, hold, and love ZEN, what can I offer? Notes on some of the lessons I’ve learned about maximizing mining profitability. An update on Horizen - there is life after moving on from GPU mining. As well as answering your questions during the next 7 days.
Mining for Profitability - Horizen (formerly ZenCash) Thanks Early GPU Miners
Author: Rolf Versluis - co-founder of HorizenIn GPU mining, just like in many of the activities involved with Bitcoin and cryptocurrencies, there is both a cycle and a progression. The Bitcoin price cycle is fairly steady, and by creating a personal handbook of actions to take during the cycle, GPU miners can maximize their profitability.
Maximizing profitability isn't the only aspect of GPU mining that is important, of course, but it is helpful to be able to invest in new hardware, and be able to have enough time to spend on building and maintaining the GPU miners. If it was a constant process that also involved losing money, then it wouldn't be as much fun.
Technology ProgressionFor a given mining algorithm, there is definitely a technology progression. We can look back on the technology that was used to mine Bitcoin and see how it first started off as Central Processing Unit (CPU) mining, then it moved to Graphical Processing Unit (GPU) mining, then Field Programmable Gate Array (FPGA), and then Application Specific Integrated Circuit (ASIC).
Throughout this evolution we have witnessed a variety of unsavory business practices that unfortunately still happen on occasion, like ASIC Miner manufacturers taking pre-orders 6 months in advance, GPU manufacturers creating commercial cards for large farms that are difficult for retail customers to secure and ASIC Miner manufacturers mining on gear for months before making it available for sale.
When a new crypto-currency is created, in many cases a new mining algorithm is created also. This is important, because if an existing algorithm was used, the coin would be open to a 51% attack from day one, and may not even be able to build a valid blockchain.
Because there's such a focus on profitable software, developers for GPU mining applications are usually able to write a mining application fairly rapidly, then iterate it to the limit of current GPU technology. If it looks like a promising new cryptocurrency, FPGA stream developers and ASIC Hardware Developers start working on their designs at the same time.
The people who create the hashing algorithms run by the miners are usually not very familiar with the design capabilities of Hardware manufacturers. Building application-specific semiconductors is an industry that's almost 60 years old now, and FPGA’s have been around for almost 35 years. This is an industry that has very experienced engineers using advanced design and modeling tools.
Promising cryptocurrencies are usually ones that are deploying new technology, or going after a big market, and who have at least a team of talented software developers. In the best case, the project has a full-stack business team involving development, project management, systems administration, marketing, sales, and leadership. This is the type of project that attracts early investment from the market, which will drive the price of the coin up significantly in the first year.
For any cryptocurrency that's a worthwhile investment of time, money, and electricity for the hashing, there will be a ASIC miners developed for it. Instead of fighting this technology progression, GPU miners may be better off recognizing it as inevitable, and taking advantage of the cryptocurrency cycle to maximize GPU mining profitability instead.
Cryptocurrency Price CycleFor quality crypto projects, in addition to the one-way technology progression of CPU -> GPU -> FPGA -> ASIC, there is an upward price progression. More importantly, there is a cryptocurrency price cycle that oscillates around an overall upgrade price progression. Plotted against time, a cycle with an upward progressions looks like a sine wave with an ever increasing average value, which is what we see so far with the Bitcoin price.
Cryptocurrency price cycle and progression for miners
This means mining promising new cryptocurrencies with GPU miners, holding them as the price rises, and being ready to sell a significant portion in the first year. Just about every cryptocurrency is going to have a sharp price rise at some point, whether through institutional investor interest or by being the target of a pump-and-dump operation. It’s especially likely in the first year, while the supply is low and there is not much trading volume or liquidity on exchanges.
Miners need to operate in the world of government money, as well as cryptocurrency. The people who run mining businesses at some point have to start selling their mining proceeds to pay the bills, and to buy new equipment as the existing equipment becomes obsolete. Working to maximize profitability means more than just mining new cryptocurrencies, it also means learning when to sell and how to manage money.
Managing Cash for MinersThe worst thing that can happen to a business is to run out of cash. When that happens, the business usually shuts down and goes into bankruptcy. Sometimes an investor comes in and picks up the pieces, but at the point the former owners become employees.
There are two sides to managing cash - one is earning it, the other is spending it, and the cryptocurrency price cycle can tell the GPU miner when it is the best time to do certain things. A market top and bottom is easy to recognize in hindsight, and harder to see when in the middle of it. Even if a miner is able to recognize the tops and bottoms, it is difficult to act when there is so much hype and positivity at the top of the cycle, and so much gloom and doom at the bottom.
A decent rule of thumb for the last few cycles appears to be that at the top and bottom of the cycle BTC is 10x as expensive compared to USD as the last cycle. Newer crypto projects tend to have bigger price swings than Bitcoin, and during the rising of the pricing cycle there is the possibility that an altcoin will have a rise to 100x its starting price.
Taking profits from selling altcoins during the rise is important, but so is maintaining a reserve. In order to catch a 100x move, it may be worth the risk to put some of the altcoin on an exchange and set a very high limit order. For the larger cryptocurrencies like Bitcoin it is important to set trailing sell stops on the way up, and to not buy back in for at least a month if a sell stop gets triggered. Being able to read price charts, see support and resistance areas for price, and knowing how to set sell orders are an important part of mining profitability.
Actions to Take During the CycleAs the cycle starts to rise from the bottom, this is a good time to buy mining hardware - it will be inexpensive. Also to mine and buy altcoins, which are usually the first to see a price rise, and will have larger price increases than Bitcoin.
On the rise of the cycle, this is a good time to see which altcoins are doing well from a project fundamentals standpoint, and which ones look like they are undergoing accumulation from investors.
Halfway through the rise of the cycle is the time to start selling altcoins for the larger project cryptos like Bitcoin. Miners will miss some of the profit at the top of the cycle, but will not run out of cash by doing this. This is also the time to stop buying mining hardware. Don’t worry, you’ll be able to pick up that same hardware used for a fraction of the price at the next bottom.
As the price nears the top of the cycle, sell enough Bitcoin and other cryptocurrencies to meet the following projected costs:
As the cycle has peaked and starts to decline, this is a good time to start investing in mining facilities and other infrastructure, brush up on trading skills, count your winnings, and take some vacation.
At the bottom of the cycle, it is time to start buying both used and new mining equipment. The bottom can be hard to recognize.
If you can continue to mine all the way through bottom part of the cryptocurrency pricing cycle, paying with the funds sold near the top, you will have a profitable and enjoyable cryptocurrency mining business. Any cryptocurrency you are able to hold onto will benefit from the price progression in the next higher cycle phase.
An Update on Horizen - formerly ZenCashThe team at Horizen recognizes the important part that GPU miners played in the early success of Zclassic and ZenCash, and there is always a welcoming attitude to any of ZEN miners, past and present. About 1 year after ZenCash launched, ASIC miners became available for the Equihash algorithm. Looking at a chart of mining difficulty over time shows when it was time for GPU miners to move to mining other cryptocurrencies.
Horizen Historical Block Difficulty Graph
Looking at the hashrate chart, it is straightforward to see that ASIC miners were deployed starting June 2018. It appears that there was a jump in mining hashrate in October of 2017. This may have been larger GPU farms switching over to mine Horizen, FPGA’s on the network, or early version of Equihash ASIC miners that were kept private.
The team understands the importance of the cryptocurrency price cycle as it affects the funds from the Horizen treasury and the investments that can be made. 20% of each block mined is sent to the Horizen non-profit foundation for use to improve the project. Just like miners have to manage money, the team has to decide whether to spend funds when the price is high or convert it to another form in preparation for the bottom part of the cycle.
During the rise and upper part of the last price cycle Horizen was working hard to maximize the value of the project through many different ways, including spending on research and development, project management, marketing, business development with exchanges and merchants, and working to create adoption in all the countries of the world.
During the lower half of the cycle Horizen has reduced the team to the essentials, and worked to build a base of users, relationships with investors, exchanges, and merchants, and continue to develop the higher priority software projects. Lower priority software development, going to trade shows, and paying for business partnerships like exchanges and applications have all been completely stopped.
Miners are still a very important part of the Horizen ecosystem, earning 60% of the block reward. 20% goes to node operators, with 20% to the foundation. In the summer of 2018 the consensus algorithm was modified slightly to make it much more difficult for any group of miners to perform a 51% attack on Horizen. This has so far proven effective.
The team is strong, we provide monthly updates on a YouTube live stream on the first Wednesday of each month where all questions asked during the stream are addressed, and our marketing team works to develop awareness of Horizen worldwide. New wallet software was released recently, and it is the foundation application for people to use and manage their ZEN going forward.
Horizen is a Proof of Work cryptocurrency, and there is no plan to change that by the current development team. If there is a security or centralization concern, there may be change to the algorithm, but that appears unlikely at this time, as the hidden chain mining penalty looks like it is effective in stopping 51% attacks.
During 2019 and 2020 the Horizen team plans to release many new software updates:
When the governance is transitioned, the project should be as decentralized as possible. The goal of decentralization is to enable resilience and preventing the capture of the project by regulators, government, criminal organizations, large corporations, or a small group of individuals.
Everyone involved with Horizen can be proud of what we have accomplished together so far. Miners who were there for the early mining and growth of the project played a large part in securing the network, evangelizing to new community members, and helping to create liquidity on new exchanges. Miners are still a very important part of the project and community. Together we can look forward to achieving many new goals in the future.
Here are some links to find out more about Horizen.
Horizen Website – https://horizen.global
Horizen Blog – https://blog.horizen.global
Horizen Reddit - https://www.reddit.com/Horizen/
Horizen Discord – https://discord.gg/SuaMBTb
Horizen Github – https://github.com/ZencashOfficial
Horizen Forum – https://forum.horizen.global/
Horizen Twitter – https://twitter.com/horizenglobal
Horizen Telegram – https://t.me/horizencommunity
Horizen on Bitcointalk – https://bitcointalk.org/index.php?topic=2047435.0
Horizen YouTube Channel – https://www.youtube.com/c/Horizen/
Buy or Sell Horizen
Horizen on CoinMarketCap – https://coinmarketcap.com/currencies/zencash/
About the Author:Rolf Versluis is Co-Founder and Executive Advisor of the privacy oriented cryptocurrency Horizen. He also operates multiple private cryptocurrency mining facilities with hundreds of operational systems, and has a blog and YouTube channel on crypto mining called Block Operations.
Rolf applies his engineering background as well as management and leadership experience from running a 60 person IT company in Atlanta and as a US Navy nuclear submarine officer operating out of Hawaii to help grow and improve the businesses in which he is involved.
Thank you again for the Ask Me Anything - please do. I'll be checking the post and answering questions actively from 28 Feb to 6 Mar 2019 - Rolf