Bitcoin Mining Guide - Getting started with Bitcoin mining
FlyMining Bitcoin Cloud Mining Contracts
The 5 Best Legit & Trusted Bitcoin Cloud Mining Sites ...
Best Trusted Bitcoin Mining Contracts
GigaHash Miner ICO
GigaHashMiner.io is an Iceland based new generation bitcoin mining firm .The company own and operates most energy efficient state of the art mining farm in Iceland. GigaHash offers ERC20 based tokenized cloud contracts named as GHS. Each GHS token will be backed by 1 GH/s of mining power. Tokens will be tradable in external exchanges as well as pays daily dividend based on mining profitability
NiceHash offers you to buy or sell hashing power directly, no contracts, no limitations, pay-as-you-go if you're a buyer and be-paid-as-you-go if you're a seller. Why bother renting rigs, when you can rent hashing power? NiceHash brings more to renters and rig owners. Visit https://www.nicehash.com today! Simply create order and you are already mining your favorite coin or point your rig to our stratum server and you are already earning bitcoins.
Ethereum Classic is an open, decentralized, and permissionless public blockchain, that aims to fulfill the original promise of Ethereum, as a platform where smart contracts are free from third-party interference. ETC prioritizes trust-minimization, network security, and integrity. All network upgrades are non-contentious with the aim to fix critical issues or to add value with newly proposed features; never to create new tokens, or to bail out flawed smart contracts and their interest groups.
Jihan Wu is an investor in Rootstock. Is Rootstock a competitor to Lightning and might be why he's opposed to SegWit? "..rewards the Bitcoin miners via merge-mining, thus allowing them to actively participate in the Smart Contract revolution in a way that is also fully compatible with Ethereum."
Jihan Wu is an investor in Rootstock. Is Rootstock a competitor to Lightning and might be why he's opposed to SegWit? "..rewards the Bitcoin miners via merge-mining, thus allowing them to “actively participate in the Smart Contract revolution” in a way that is also fully compatible with Ethereum."
This is an automatic summary, original reduced by 38%.
It seems that after the meteoric rise of Ethereum, Bitcoin supporters can no longer just try to deny its invitational approach to blockchain and the smart money has decided that if you can't beat them, join them. Buenos-Aires headquartered RSK Labs has revealed that it raised $1 million to further develop the first smart contracts platform codenamed Rootstock. The funding round was led by a number of very influential bitcoin firms from around the world including: Bitmain, the Chinese bitcoin hardware mining giant, Coinsilium, the blockchain venture investment fund based in London and Barry Silbert's Digital Currency Group that now owns CoinDesk. Rootstock is the first open-source smart contract platform with a 2-way peg to Bitcoin that also rewards the Bitcoin miners via merge-mining, thus allowing them to "Actively participate in the Smart Contract revolution" in a way that is also fully compatible with Ethereum. Eddy Travia, CEO of Coinsilium, added: "I am very proud that Coinsilium supports the talented Rootstock team to develop a platform enabling smart contracts secured by the Bitcoin blockchain which I see as an essential element in the transition to a world of blockchain-based solutions for enterprises and public organizations." Wu Jihan, CEO of Bitmain Technology, commented: "Rootstock is the most exciting opportunity for me among the startups in the Bitcoin ecosystem. The tidal wave of startups developing smart contract solutions based on RSK will bring countless miracles".
Summary Source | FAQ | Theory | Feedback | Topfivekeywords: Bitcoin#1smart#2RSK#3Rootstock#4contract#5 Post found in /Bitcoin and /BitcoinAll. NOTICE: This thread is for discussing the submission topic. Please do not discuss the concept of the autotldr bot here.
Can we program a smart contract that rewards tokens to bitcoin miners who mine empty blocks?
A bitcoin transaction uses an estimated 20,000 times more energy than a VISA transaction. Bitcoiners have no desire to do anything about it and merely badmouth those who bring the issue up. Whether we like it or not, the value of cryptocurrencies increases by virtue of their dominance. Bitcoin derives a lot of its value from the fact that it's the largest cryptocurrency. The economic system of the future will be built around one cryptocurrency. It's likely going to be either Bitcoin or Ethereum. Vitalik Buterin has spent years working on a solution that will allow us to move away from Proof of Work towards a truly energy efficient cryptocurrency. We now live in a window of opportunity, during which the world decides what protocol will become the dominant cryptocurrency. Will it be a protocol that uses 20,000 times more energy than a credit card transaction, or will it be a protocol that's truly intended to make the world a better place? At current growth rates, Bitcoin would consume all of the world's electricity by 2020. It's easy to laugh at this, but the worst case projections in 2016 estimated that by 2020, Bitcoin would use the energy consumed by Denmark. That didn't happen in 2020. It happened this year. My suggestion is very simple: We have to maximize the chance that a cryptocurrency not based on Proof of Work will win this race for global domination. Ethereum is fine to me, for purely pragmatic concerns. Vitalik Buterin is a wise young man and the protocol he developed stands the best chance of dethroning Bitcoin, so I'm all in favor of using Ethereum for this goal. To maximize the chances of Ethereum winning, we need the competition to lose. This might not be politically correct, but it's true nonetheless. Bitcoin's loss is our gain. To improve Ethereum's chances, it would be useful to find ways to harm Bitcoin. My suggestion is as following: Design a protocol that allows you to deliver a financial incentive to Bitcoin miners to mine (almost) empty blocks. Bitcoin's Achilles heel is its transaction capacity limit. When faced with an enemy, you need to hit the enemy where it hurts. So my question is very simple: Does the Ethereum smart contract function allow us to design a decentralized protocol that distributes tokens to people who mine empty blocks? If we can create a financial incentive for empty block attacks against Bitcoin, empty blocks will follow, with a price decline as a consequence, triggering a positive feedback loop as people will try to cash out and Bitcoin begins to fall apart. The main problem I see right now is how we would go about giving the token value, which is why I am trying to get other people interested in my idea. I am looking for people who are willing to help me develop this project. Who wants to help me?
Can we program a smart contract that rewards tokens to bitcoin miners who mine empty blocks?
A bitcoin transaction uses an estimated 20,000 times more energy than a VISA transaction. Bitcoiners have no desire to do anything about it and merely badmouth those who bring the issue up. Whether we like it or not, the value of cryptocurrencies increases by virtue of their dominance. Bitcoin derives a lot of its value from the fact that it's the largest cryptocurrency. The economic system of the future will be built around one cryptocurrency. It's likely going to be either Bitcoin or Ethereum. Vitalik Buterin has spent years working on a solution that will allow us to move away from Proof of Work towards a truly energy efficient cryptocurrency. We now live in a window of opportunity, during which the world decides what protocol will become the dominant cryptocurrency. Will it be a protocol that uses 20,000 times more energy than a credit card transaction, or will it be a protocol that's truly intended to make the world a better place? At current growth rates, Bitcoin would consume all of the world's electricity by 2020. It's easy to laugh at this, but the worst case projections in 2016 estimated that by 2020, Bitcoin would use the energy consumed by Denmark. That didn't happen in 2020. It happened this year. My suggestion is very simple: We have to maximize the chance that a cryptocurrency not based on Proof of Work will win this race for global domination. Ethereum is fine to me, for purely pragmatic concerns. Vitalik Buterin is a wise young man and the protocol he developed stands the best chance of dethroning Bitcoin, so I'm all in favor of using Ethereum for this goal. To maximize the chances of Ethereum winning, we need the competition to lose. This might not be politically correct, but it's true nonetheless. Bitcoin's loss is our gain. To improve Ethereum's chances, it would be useful to find ways to harm Bitcoin. My suggestion is as following: Design a protocol that allows you to deliver a financial incentive to Bitcoin miners to mine (almost) empty blocks. Bitcoin's Achilles heel is its transaction capacity limit. When faced with an enemy, you need to hit the enemy where it hurts. So my question is very simple: Does the Ethereum smart contract function allow us to design a decentralized protocol that distributes tokens to people who mine empty blocks? If we can create a financial incentive for empty block attacks against Bitcoin, empty blocks will follow, with a price decline as a consequence, triggering a positive feedback loop as people will try to cash out and Bitcoin begins to fall apart. The main problem I see right now is how we would go about giving the token value, which is why I am trying to get other people interested in my idea. I am looking for people who are willing to help me develop this project. Who wants to help me?
Viper (Scrypt) Miner (25Mh/s) - 10Mh/s share 36 month contract is for sale on cryptothrift.com for Bitcoin and Litecoin https://cryptothrift.com/auctions/crypto-mining-asic/viper-scrypt-miner-25mhs-10mhs-share-36-month-contract/
This is my first post to cryptomoonshots. I was skeptical of this one when it was posted 5 days ago at the coin's launch, but I bought a small amount and it went up 5x and even higher before the current retrace. Now may be an excellent time to buy. FLOW is a token meant to mimic a Bitcoin-like inflation slope. Except instead of miners getting minted tokens, the token holders receive them. Every year for ten years, the inflation rate diminishes until the total supply is static. It's currently in a special "Genesis Era" 60 day period of 1% inflation. Inflation "rebases" are compounding and happen daily (at 6PM ET) without requiring an expensive gas transaction, unlike similar tokens. Starting supply: 10,000,000 FLOW Liquidity is locked, and most of the non-circulating coins set aside for marketing and development, as well as the anonymous developer's tokens (500,000) are locked. There was no presale. The initial price on Uniswap was about $0.20 - current price at this time is around $0.80 and yesterday FLOW was higher than $2.00. Website: https://flowprotocol.io Telegram: https://t.me/flowprotocol (meme-heavy and not for the faint of heart) Contract Address: 0xc6e64729931f60d2c8bc70a27d66d9e0c28d1bf9 Make no mistake, this is a /biz/ coin through and through. And it is being pushed heavily by /biz/ Earlier this morning the developer announced that liquidity mining is being tested on one of the testnests and is expected to release soon. There has been no marketing yet outside of /biz/ and the Telegram group is incredibly active. I'm getting AMPL vibes from FLOW.
Biggest Scammers in Cryptocurrency Mining history? Genesis-mining.com (Bitcoin or Altcoins)
https://www.genesis-mining.com/ I Invested US$71,000 and received $1,200 back and continuous excuses from Genesis Mining customer service representatives after end of my 2 year mining contracts when payments are to be paid. The Genesis Mining Customer Service Team like 'Tom' claim technical issues is the problem and unknown is the time it would take to resolve the problem. My first contract ended December 2019. This company has no telephone numbers or emails listed only online chat via submission. Yet I continue to get emails from 'Marco Streng' to invest more. At present I'm currently working with attorney David Hass from www.HaasLawPLLC.com and a research firm who was able to track down their company's CEO and all members of their organization. See the preliminary report so far emailed to me below. Genesis Mining continually shifts their location and their current address is sarcastically listed at the infamous Trinity Chambers, P.O. Box 4301, Road Town, Tortola, British Virgin Islands renown for illegal activity. See https://offshoreleaks.icij.org/nodes/287319. An investigative team has also been hired and is currently in Germany but I'm still awaiting their report and Genesis Mining seems to have multiple individuals in several countries as shown below. I'm posting this to help anyone else who has been defrauded and will hired a PR company shortly to get the word out on social media and main stream news. We are also exploring the possibility of a class action lawsuit and so please forward this to others affected. Almost many international, federal, and state agencies have been already contacted but I encourage you to do the same. Here are (3) three to start. Internet Crime Complaint Center (IC3) | Home Federal Trade Commission Compliance Advisor Ombudsman (CAO)
Minimum Viable Issuance - Why Ethereum’s lack of a hard cap on ETH issuance is a good thing.
This post will explain how the argument used by the average Bitcoin maximalist, thinking that they have found Ethereum’s achilles heel when talking about issuance is actually highlighting one of Ethereum’s strong points and one of the main threats to the longevity of the Bitcoin network. So first let’s answer the question which I know many people have about Ethereum:
What is Ethereum’s ETH issuance schedule?
Ethereum has an issuance policy of Minimum Viable Issuance. So what does this mean exactly? It means that the issuance of ETH will be as low as possible while also maintaining a sufficient budget to pay miners (and soon to be stakers) to keep the network secure. For example, if ETH issuance was halved, miners would drop off the network and stop mining as it is no longer profitable for them to mine. As a result, the network would be less secure as it would cost less money for an attacker to control 51% of the hash power and attack the network. This means that the Ethereum community plans to change ETH issuance as time goes on to maintain a reasonable security budget which will keep the network secure but will also keep inflation in check. We have done this twice in the past with EIP-649 and EIP-1234 which reduced block rewards from 5 ETH per block to 3 ETH and from 3 ETH to 2 ETH respectively. I previously made a graph of ETH issuance over time here: https://redd.it/it8ce7 So while Ethereum doesn’t have a strictly defined issuance schedule, the community will reject any proposals which either put the security of the network at risk such as the recent EIP-2878, or we will reject proposals which will lead to excessive network security and therefore an unnecessarily high inflation rate (or we will accept proposals which reduce issuance after price rises and therefore the security budget rises). This means that when Bitcoiners accuse the Ethereum Foundation of being no better than a central bank because they can “print more Ether”, this is completely untrue. Any proposals made by the EF which would increase issuance unnecessarily would be rejected by the community in the same way that a proposal to increase the supply of Bitcoin from 21 million to 22 million would be rejected. There is a social contract around both Bitcoin’s and Ethereum’s issuance schedules. Any networks or proposals which break the social contracts of 21 million Bitcoins and minimal viable issuance of Ether would be a breach of these contracts and the new proposed network would be labeled by the community as illegitimate and the original network would live on.
So why is minimum viable issuance better than a hard cap?
Minimum viable issuance is better than a hard cap because it puts the most important part of the network first - the security. MVI ensures that the Ethereum network will always have a security budget which keeps the cost of a 51% attack impractically high. Bitcoin on the other hand, halves its security budget every 4 years until eventually only the transaction fees pay for network security. This means that every 4 years, the amount of money paying for network security halves until eventually, the value of attacking the network becomes greater than the security budget and someone performs a 51% attack (technically the security budget only halves if terms of BTC not in dollars. However, even if the price of Bitcoin more than doubles in the time that the security budget halves, the ratio of security budget to value secured on the network still halves, doubling the financial viability of performing a network attack). The strategy to pay for the security budget once Bitcoin issuance stops is for transaction fees to secure the network since transaction fees are paid to miners. Not only does this have its own security problems which I won’t detail here, but unless Bitcoin scales on layer 1 (layer 2 scaling solutions have their own security mechanisms separate from L1), then fees would have to cost well in the thousands of dollars to secure a trillion dollar market cap Bitcoin that is secured by nothing but fees. If Bitcoin maximalists want a 10 trillion or 100 trillion dollar market cap then expect fees to go up another 10 or 100 times from there. Ethereum on the other hand, will be able to keep its network secure with approximately 1-2% annual issuance being paid to stakers under ETH 2.0. This is because not all of the network will be staking, so if 33 million of the approximately 110 million Ether in existence stakes under ETH 2.0, then paying this 33 million Ether 6% a year (a very decent yield!) would cost just under 2 million ETH per year which would equate to less than 2% annual ETH inflation. This is also before considering EIP-1559 which will burn a portion of transaction fees which will counter the effect of this inflation and potentially even make ETH deflationary if the sum of all burned transaction fees are greater than the annual inflation. Also, under ETH 2.0, an attacker performing a 51% attack would get his funds slashed (they would lose their funds) if they attack the network, meaning that they can only perform a 51% attack once. However, in Bitcoin, anyone who controls 51% of the mining hash power could perform multiple 51% attacks without losing everything like they could in ETH 2.0. So in conclusion, while Ethereum doesn’t have the guaranteed anti-inflation security of a hard cap, it does have the guarantee of always paying it’s miners (or stakers under ETH 2.0) enough to keep the network secure. In contrast, while Bitcoin’s social contract may guarantee a hard cap of 21 million, it cannot simultaneously guarantee network security in the long run. Eventually, its users will have to decide if they want a secure network with more than 21 million coins or a tax to pay for security or an insecure network with super high fees and a hard cap of 21 million Bitcoin. Disclaimer:The details I covered around 51% attacks and network security are simplified. I am not an expert in this field and things are a lot more nuanced than I laid out in my simplifications above.
https://github.com/gridcoin-community/Gridcoin-Research/releases/tag/5.0.0.0 Finally! After over ten months of development and testing, "Fern" has arrived! This is a whopper. 240 pull requests merged. Essentially a complete rewrite that was started with the scraper (the "neural net" rewrite) in "Denise" has now been completed. Practically the ENTIRE Gridcoin specific codebase resting on top of the vanilla Bitcoin/Peercoin/Blackcoin vanilla PoS code has been rewritten. This removes the team requirement at last (see below), although there are many other important improvements besides that. Fern was a monumental undertaking. We had to encode all of the old rules active for the v10 block protocol in new code and ensure that the new code was 100% compatible. This had to be done in such a way as to clear out all of the old spaghetti and ring-fence it with tightly controlled class implementations. We then wrote an entirely new, simplified ruleset for research rewards and reengineered contracts (which includes beacon management, polls, and voting) using properly classed code. The fundamentals of Gridcoin with this release are now on a very sound and maintainable footing, and the developers believe the codebase as updated here will serve as the fundamental basis for Gridcoin's future roadmap. We have been testing this for MONTHS on testnet in various stages. The v10 (legacy) compatibility code has been running on testnet continuously as it was developed to ensure compatibility with existing nodes. During the last few months, we have done two private testnet forks and then the full public testnet testing for v11 code (the new protocol which is what Fern implements). The developers have also been running non-staking "sentinel" nodes on mainnet with this code to verify that the consensus rules are problem-free for the legacy compatibility code on the broader mainnet. We believe this amount of testing is going to result in a smooth rollout. Given the amount of changes in Fern, I am presenting TWO changelogs below. One is high level, which summarizes the most significant changes in the protocol. The second changelog is the detailed one in the usual format, and gives you an inkling of the size of this release.
Highlights
Protocol
Note that the protocol changes will not become active until we cross the hard-fork transition height to v11, which has been set at 2053000. Given current average block spacing, this should happen around October 4, about one month from now. Note that to get all of the beacons in the network on the new protocol, we are requiring ALL beacons to be validated. A two week (14 day) grace period is provided by the code, starting at the time of the transition height, for people currently holding a beacon to validate the beacon and prevent it from expiring. That means that EVERY CRUNCHER must advertise and validate their beacon AFTER the v11 transition (around Oct 4th) and BEFORE October 18th (or more precisely, 14 days from the actual date of the v11 transition). If you do not advertise and validate your beacon by this time, your beacon will expire and you will stop earning research rewards until you advertise and validate a new beacon. This process has been made much easier by a brand new beacon "wizard" that helps manage beacon advertisements and renewals. Once a beacon has been validated and is a v11 protocol beacon, the normal 180 day expiration rules apply. Note, however, that the 180 day expiration on research rewards has been removed with the Fern update. This means that while your beacon might expire after 180 days, your earned research rewards will be retained and can be claimed by advertising a beacon with the same CPID and going through the validation process again. In other words, you do not lose any earned research rewards if you do not stake a block within 180 days and keep your beacon up-to-date. The transition height is also when the team requirement will be relaxed for the network.
GUI
Besides the beacon wizard, there are a number of improvements to the GUI, including new UI transaction types (and icons) for staking the superblock, sidestake sends, beacon advertisement, voting, poll creation, and transactions with a message. The main screen has been revamped with a better summary section, and better status icons. Several changes under the hood have improved GUI performance. And finally, the diagnostics have been revamped.
Blockchain
The wallet sync speed has been DRASTICALLY improved. A decent machine with a good network connection should be able to sync the entire mainnet blockchain in less than 4 hours. A fast machine with a really fast network connection and a good SSD can do it in about 2.5 hours. One of our goals was to reduce or eliminate the reliance on snapshots for mainnet, and I think we have accomplished that goal with the new sync speed. We have also streamlined the in-memory structures for the blockchain which shaves some memory use. There are so many goodies here it is hard to summarize them all. I would like to thank all of the contributors to this release, but especially thank @cyrossignol, whose incredible contributions formed the backbone of this release. I would also like to pay special thanks to @barton2526, @caraka, and @Quezacoatl1, who tirelessly helped during the testing and polishing phase on testnet with testing and repeated builds for all architectures. The developers are proud to present this release to the community and we believe this represents the starting point for a true renaissance for Gridcoin!
Summary Changelog
Accrual
Changed
Most significantly, nodes calculate research rewards directly from the magnitudes in EACH superblock between stakes instead of using a two- or three- point average based on a CPID's current magnitude and the magnitude for the CPID when it last staked. For those long-timers in the community, this has been referred to as "Superblock Windows," and was first done in proof-of-concept form by @denravonska.
Network magnitude unit pinned to a static value of 0.25
Max research reward allowed per block raised to 16384 GRC (from 12750 GRC)
New CPIDs begin accruing research rewards from the first superblock that contains the CPID instead of from the time of the beacon advertisement
Removed
500 GRC research reward limit for a CPID's first stake
6-month expiration for unclaimed rewards
10-block spacing requirement between research reward claims
Rolling 5-day payment-per-day limit
Legacy tolerances for floating-point error and time drift
The need to include a valid copy of a CPID's magnitude in a claim
10-block emission adjustment interval for the magnitude unit
Beacons
Added
One-time beacon activation requires that participants temporarily change their usernames to a verification code at one whitelisted BOINC project
Verification codes of pending beacons expire after 3 days
Self-service beacon removal
Changed
Burn fee for beacon advertisement increased from 0.00001 GRC to 0.5 GRC
Rain addresses derived from beacon keys instead of a default wallet address
Beacon expiration determined as of the current block instead of the previous block
Removed
The ability for developers to remove beacons
The ability to sign research reward claims with non-current but unexpired beacons
Unaltered
As a reminder:
Beacons expire after 6 months pass (180 days)
Beacons can be renewed after 5 months pass (150 days)
Renewed beacons must be signed with the same key as the original beacon
Superblocks
Added
Magnitudes less than 1 include two fractional places
Magnitudes greater than or equal to 1 but less than 10 include one fractional place
Changed
A valid superblock must match a scraper convergence
Removed
Superblock popularity election mechanics
Voting
Added
Yes/no/abstain and single-choice response types (no user-facing support yet)
Changed
To create a poll, a maximum of 250 UTXOs for a single address must add up to 100000 GRC. These are selected from the largest downwards.
Burn fee for creating polls scaled by the number of UTXOs claimed
50 GRC for a poll contract
0.001 GRC per claimed UTXO
Burn fee for casting votes scaled by the number of UTXOs claimed
0.01 GRC for a vote contract
0.01 GRC to claim magnitude
0.01 GRC per claimed address
0.001 GRC per claimed UTXO
Maximum length of a poll title: 80 characters
Maximum length of a poll question: 100 characters
Maximum length of a poll discussion website URL: 100 characters
Maximum number of poll choices: 20
Maximum length of a poll choice label: 100 characters
Removed
Magnitude, CPID count, and participant count poll weight types
The ability for developers to remove polls and votes
Detailed Changelog
[5.0.0.0] 2020-09-03, mandatory, "Fern"
Added
Backport newer uint256 types from Bitcoin #1570 (@cyrossignol)
Implement project level rain for rainbymagnitude #1580 (@jamescowens)
Upgrade utilities (Update checker and snapshot downloadeapplication) #1576 (@iFoggz)
Provide fees collected in the block by the miner #1601 (@iFoggz)
Add support for generating legacy superblocks from scraper stats #1603 (@cyrossignol)
Port of the Bitcoin Logger to Gridcoin #1600 (@jamescowens)
Implement zapwallettxes #1605 (@jamescowens)
Implements a global event filter to suppress help question mark #1609 (@jamescowens)
Add next target difficulty to RPC output #1615 (@cyrossignol)
Add caching for block hashes to CBlock #1624 (@cyrossignol)
Make toolbars and tray icon red for testnet #1637 (@jamescowens)
Add an rpc call convergencereport #1643 (@jamescowens)
Implement newline filter on config file read in #1645 (@jamescowens)
Implement beacon status icon/button #1646 (@jamescowens)
Add gridcointestnet.png #1649 (@caraka)
Add precision to support magnitudes less than 1 #1651 (@cyrossignol)
Replace research accrual calculations with superblock snapshots #1657 (@cyrossignol)
Publish example gridcoinresearch.conf as a md document to the doc directory #1662 (@jamescowens)
Add options checkbox to disable transaction notifications #1666 (@jamescowens)
Add support for self-service beacon deletion #1695 (@cyrossignol)
Add support for type-specific contract fee amounts #1698 (@cyrossignol)
Add verifiedbeaconreport and pendingbeaconreport #1696 (@jamescowens)
Add preliminary testing option for block v11 height on testnet #1706 (@cyrossignol)
Add verified beacons manifest part to superblock validator #1711 (@cyrossignol)
Implement beacon, vote, and superblock display categories/icons in UI transaction model #1717 (@jamescowens)
1.High market capitalization, second to bitcoin only Ethereum is the most dynamic blockchain platform in the world, and Ether is the second largest cryptocurrency in the world by market capitalization. There are around 1,200,000 transactions processed per day on this platform. Numbers explain everything. https://preview.redd.it/w57fpy6njvp51.png?width=398&format=png&auto=webp&s=dbac1c20eaa78a503b71c8f667b12293f9079208 2. Dapps on Ethereum outnumbers any other blockchain platform Not only just a digital currency or commodity, ethereum also keeps its original motivation to be a global computing platform that allows users to deploy smart contract on it. As a kind of smart contract programmed for a specific use, there are about 2 ,000 decentralized applications, or dapps, deployed on ethereum by this June, which is more than the total numbers of dapps deployed on any other general purpose blockchain platform in the world combined. https://preview.redd.it/vau9ezssjvp51.png?width=461&format=png&auto=webp&s=02f121dce31a405802721a878a74a7b3e16cde14 3.Considerable payback ETH mining profit basically consists of two parts: the value of the coins and the transaction commission. Once you mined a block, you will not only get the coins, but also the commission to prove the transactions that will be processed in the network. Because of the network congestion brought up by DeFi application ‘s popularity, transaction commission contributes much to the mining profit recently. (Averages on 17th September,2020: Ether Price: $389.49 Gas Price: 538 Gwei Gas Limit:12,472,107 *Commission=538*12472107=6,709,993,566Gwei≈6.71ETH) https://preview.redd.it/exsbhw4ujvp51.png?width=399&format=png&auto=webp&s=b781f5ab2bac90304fd3be021def54501ba7252b https://preview.redd.it/teo1s1rujvp51.png?width=409&format=png&auto=webp&s=f77a33453688168a976c7313d0887a0a01b19534 Below is a profitability ranking of ASIC miners for some mainstream crypto coins when Gas price is around 60~70Gwei and coin price is about $360. I couldn’t find a ranking that could include all AISIC miners and GPU miners, but it’s enough to show that ETH mining is much more profitable than others. Even though when Gas price and coin price is not very high, the revenue of ETH mining still beats other mainstream cryptocurrencies. https://preview.redd.it/ht2j1evvjvp51.png?width=557&format=png&auto=webp&s=9b415f227b9c0a00cf7af9682eea85ef9b85e6d8 4.Lower Network Difficulty Compare to bitcoin network hash rate, Ethereum network hash rate is only 244.14TH/s; Less network hash rate means less difficulty, furtherly means that there will be more chance to mine a block and get coins. Nowadays, for bitcoin mining, the possibility to mine a block solo is almost zero, but for ETH mining it is still possible. In my opinion it is the golden time for ETH mining. https://preview.redd.it/vsl0b2swjvp51.png?width=533&format=png&auto=webp&s=e8c335c4476c27cfe3872433acf08f3747ce7d05 Whether you are a new bird or an experienced senior in this field, ETH mining is the best choice in 2020.
This is a follow-up on https://old.reddit.com/Bitcoin/comments/hqzp14/technical_the_path_to_taproot_activation/ Taproot! Everybody wants it!! But... you might ask yourself: sure, everybody else wants it, but why would I, sovereign Bitcoin HODLer, want it? Surely I can be better than everybody else because I swapped XXX fiat for Bitcoin unlike all those nocoiners? And it is important for you to know the reasons why you, o sovereign Bitcoiner, would want Taproot activated. After all, your nodes (or the nodes your wallets use, which if you are SPV, you hopefully can pester to your wallet vendoimplementor about) need to be upgraded in order for Taproot activation to actually succeed instead of becoming a hot sticky mess. First, let's consider some principles of Bitcoin.
You the HODLer should be the one who controls where your money goes. Your keys, your coins.
You the HODLer should be able to coordinate and make contracts with other people regarding your funds.
You the HODLer should be able to do the above without anyone watching over your shoulder and judging you.
I'm sure most of us here would agree that the above are very important principles of Bitcoin and that these are principles we would not be willing to remove. If anything, we would want those principles strengthened (especially the last one, financial privacy, which current Bitcoin is only sporadically strong with: you can get privacy, it just requires effort to do so). So, how does Taproot affect those principles?
Taproot and Your /Coins
Most HODLers probably HODL their coins in singlesig addresses. Sadly, switching to Taproot would do very little for you (it gives a mild discount at spend time, at the cost of a mild increase in fee at receive time (paid by whoever sends to you, so if it's a self-send from a P2PKH or bech32 address, you pay for this); mostly a wash). (technical details: a Taproot output is 1 version byte + 32 byte public key, while a P2WPKH (bech32 singlesig) output is 1 version byte + 20 byte public key hash, so the Taproot output spends 12 bytes more; spending from a P2WPKH requires revealing a 32-byte public key later, which is not needed with Taproot, and Taproot signatures are about 9 bytes smaller than P2WPKH signatures, but the 32 bytes plus 9 bytes is divided by 4 because of the witness discount, so it saves about 11 bytes; mostly a wash, it increases blockweight by about 1 virtual byte, 4 weight for each Taproot-output-input, compared to P2WPKH-output-input). However, as your HODLings grow in value, you might start wondering if multisignature k-of-n setups might be better for the security of your savings. And it is in multisignature that Taproot starts to give benefits! Taproot switches to using Schnorr signing scheme. Schnorr makes key aggregation -- constructing a single public key from multiple public keys -- almost as trivial as adding numbers together. "Almost" because it involves some fairly advanced math instead of simple boring number adding, but hey when was the last time you added up your grocery list prices by hand huh? With current P2SH and P2WSH multisignature schemes, if you have a 2-of-3 setup, then to spend, you need to provide two different signatures from two different public keys. With Taproot, you can create, using special moon math, a single public key that represents your 2-of-3 setup. Then you just put two of your devices together, have them communicate to each other (this can be done airgapped, in theory, by sending QR codes: the software to do this is not even being built yet, but that's because Taproot hasn't activated yet!), and they will make a single signature to authorize any spend from your 2-of-3 address. That's 73 witness bytes -- 18.25 virtual bytes -- of signatures you save! And if you decide that your current setup with 1-of-1 P2PKH / P2WPKH addresses is just fine as-is: well, that's the whole point of a softfork: backwards-compatibility; you can receive from Taproot users just fine, and once your wallet is updated for Taproot-sending support, you can send to Taproot users just fine as well! (P2WPKH and P2WSH -- SegWit v0 -- addresses start with bc1q; Taproot -- SegWit v1 --- addresses start with bc1p, in case you wanted to know the difference; in bech32 q is 0, p is 1) Now how about HODLers who keep all, or some, of their coins on custodial services? Well, any custodial service worth its salt would be doing at least 2-of-3, or probably something even bigger, like 11-of-15. So your custodial service, if it switched to using Taproot internally, could save a lot more (imagine an 11-of-15 getting reduced from 11 signatures to just 1!), which --- we can only hope! --- should translate to lower fees and better customer service from your custodial service! So I think we can say, very accurately, that the Bitcoin principle --- that YOU are in control of your money --- can only be helped by Taproot (if you are doing multisignature), and, because P2PKH and P2WPKH remain validly-usable addresses in a Taproot future, will not be harmed by Taproot. Its benefit to this principle might be small (it mostly only benefits multisignature users) but since it has no drawbacks with this (i.e. singlesig users can continue to use P2WPKH and P2PKH still) this is still a nice, tidy win! (even singlesig users get a minor benefit, in that multisig users will now reduce their blockchain space footprint, so that fees can be kept low for everybody; so for example even if you have your single set of private keys engraved on titanium plates sealed in an airtight box stored in a safe buried in a desert protected by angry nomads riding giant sandworms because you're the frickin' Kwisatz Haderach, you still gain some benefit from Taproot) And here's the important part: if P2PKH/P2WPKH is working perfectly fine with you and you decide to never use Taproot yourself, Taproot will not affect you detrimentally. First do no harm!
Taproot and Your Contracts
No one is an island, no one lives alone. Give and you shall receive. You know: by trading with other people, you can gain expertise in some obscure little necessity of the world (and greatly increase your productivity in that little field), and then trade the products of your expertise for necessities other people have created, all of you thereby gaining gains from trade. So, contracts, which are basically enforceable agreements that facilitate trading with people who you do not personally know and therefore might not trust. Let's start with a simple example. You want to buy some gewgaws from somebody. But you don't know them personally. The seller wants the money, you want their gewgaws, but because of the lack of trust (you don't know them!! what if they're scammers??) neither of you can benefit from gains from trade. However, suppose both of you know of some entity that both of you trust. That entity can act as a trusted escrow. The entity provides you security: this enables the trade, allowing both of you to get gains from trade. In Bitcoin-land, this can be implemented as a 2-of-3 multisignature. The three signatories in the multisgnature would be you, the gewgaw seller, and the escrow. You put the payment for the gewgaws into this 2-of-3 multisignature address. Now, suppose it turns out neither of you are scammers (whaaaat!). You receive the gewgaws just fine and you're willing to pay up for them. Then you and the gewgaw seller just sign a transaction --- you and the gewgaw seller are 2, sufficient to trigger the 2-of-3 --- that spends from the 2-of-3 address to a singlesig the gewgaw seller wants (or whatever address the gewgaw seller wants). But suppose some problem arises. The seller gave you gawgews instead of gewgaws. Or you decided to keep the gewgaws but not sign the transaction to release the funds to the seller. In either case, the escrow is notified, and if it can sign with you to refund the funds back to you (if the seller was a scammer) or it can sign with the seller to forward the funds to the seller (if you were a scammer). Taproot helps with this: like mentioned above, it allows multisignature setups to produce only one signature, reducing blockchain space usage, and thus making contracts --- which require multiple people, by definition, you don't make contracts with yourself --- is made cheaper (which we hope enables more of these setups to happen for more gains from trade for everyone, also, moon and lambos). (technology-wise, it's easier to make an n-of-n than a k-of-n, making a k-of-n would require a complex setup involving a long ritual with many communication rounds between the n participants, but an n-of-n can be done trivially with some moon math. You can, however, make what is effectively a 2-of-3 by using a three-branch SCRIPT: either 2-of-2 of you and seller, OR 2-of-2 of you and escrow, OR 2-of-2 of escrow and seller. Fortunately, Taproot adds a facility to embed a SCRIPT inside a public key, so you can have a 2-of-2 Taprooted address (between you and seller) with a SCRIPT branch that can instead be spent with 2-of-2 (you + escrow) OR 2-of-2 (seller + escrow), which implements the three-branched SCRIPT above. If neither of you are scammers (hopefully the common case) then you both sign using your keys and never have to contact the escrow, since you are just using the escrow public key without coordinating with them (because n-of-n is trivial but k-of-n requires setup with communication rounds), so in the "best case" where both of you are honest traders, you also get a privacy boost, in that the escrow never learns you have been trading on gewgaws, I mean ewww, gawgews are much better than gewgaws and therefore I now judge you for being a gewgaw enthusiast, you filthy gewgawer).
Taproot and Your Contracts, Part 2: Cryptographic Boogaloo
Now suppose you want to buy some data instead of things. For example, maybe you have some closed-source software in trial mode installed, and want to pay the developer for the full version. You want to pay for an activation code. This can be done, today, by using an HTLC. The developer tells you the hash of the activation code. You pay to an HTLC, paying out to the developer if it reveals the preimage (the activation code), or refunding the money back to you after a pre-agreed timeout. If the developer claims the funds, it has to reveal the preimage, which is the activation code, and you can now activate your software. If the developer does not claim the funds by the timeout, you get refunded. And you can do that, with HTLCs, today. Of course, HTLCs do have problems:
Privacy. Everyone scraping the Bitcoin blockchain can see any HTLCs, and preimages used to claim them.
This can be mitigated by using offchain techniques so HTLCs are never published onchain in the happy case. Lightning would probably in practice be the easiest way to do this offchain. Of course, there are practical limits to what you can pay on Lightning. If you are buying something expensive, then Lightning might not be practical. For example, the "software" you are activating is really the firmware of a car, and what you are buying is not the software really but the car itself (with the activation of the car firmware being equivalent to getting the car keys).
Even offchain techniques need an onchain escape hatch in case of unresponsiveness! This means that, if something bad happens during payment, the HTLC might end up being published onchain anyway, revealing the fact that some special contract occurred.
And an HTLC that is claimed with a preimage onchain will also publicly reveal the preimage onchain. If that preimage is really the activation key of a software than it can now be pirated. If that preimage is really the activation key for your newly-bought cryptographic car --- well, not your keys, not your car!
Trust requirement. You are trusting the developer that it gives you the hash of an actual valid activation key, without any way to validate that the activation key hidden by the hash is actually valid.
Fortunately, with Schnorr (which is enabled by Taproot), we can now use the Scriptless Script constuction by Andrew Poelstra. This Scriptless Script allows a new construction, the PTLC or Pointlocked Timelocked Contract. Instead of hashes and preimages, just replace "hash" with "point" and "preimage" with "scalar". Or as you might know them: "point" is really "public key" and "scalar" is really a "private key". What a PTLC does is that, given a particular public key, the pointlocked branch can be spent only if the spender reveals the private key of the given public key to you. Another nice thing with PTLCs is that they are deniable. What appears onchain is just a single 2-of-2 signature between you and the developemanufacturer. It's like a magic trick. This signature has no special watermarks, it's a perfectly normal signature (the pledge). However, from this signature, plus some datta given to you by the developemanufacturer (known as the adaptor signature) you can derive the private key of a particular public key you both agree on (the turn). Anyone scraping the blockchain will just see signatures that look just like every other signature, and as long as nobody manages to hack you and get a copy of the adaptor signature or the private key, they cannot get the private key behind the public key (point) that the pointlocked branch needs (the prestige). (Just to be clear, the public key you are getting the private key from, is distinct from the public key that the developemanufacturer will use for its funds. The activation key is different from the developer's onchain Bitcoin key, and it is the activation key whose private key you will be learning, not the developer's/manufacturer's onchain Bitcoin key). So:
Privacy: PTLCs are private even if done onchain. Nobody else can learn what the private key behind the public key is, except you who knows the adaptor signature that when combined with the complete onchain signature lets you know what the private key of the activation key is. Somebody scraping the blockchain will not learn the same information even if all PTLCs are done onchain!
Lightning is still useful for reducing onchain use, and will also get PTLCs soon after Taproot is activated, but even if something bad happens and a PTLC has to go onchain, it doesn't reveal anything!
Trust issues can be proven more easily with a public-private keypair than with a hash-preimage pair.
For example, the developer of the software you are buying could provide a signature signing a message saying "unlock access to the full version for 1 day". You can check if feeding this message and signature to the program will indeed unlock full-version access for 1 day. Then you can check if the signature is valid for the purported pubkey whose private key you will pay for. If so, you can now believe that getting the private key (by paying for it in a PTLC) would let you generate any number of "unlock access to the full version for 1 day" message+signatures, which is equivalent to getting full access to the software indefinitely.
For the car, the manufacturer can show that signing a message "start the engine" and feeding the signature to the car's fimrware will indeed start the engine, and maybe even let you have a small test drive. You can then check if the signature is valid for the purported pubkey whose privkey you will pay for. If so, you can now believe that gaining knowledge of the privkey will let you start the car engine at any time you want.
(pedantry: the signatures need to be unique else they could be replayed, this can be done with a challenge-response sequence for the car, where the car gathers entropy somehow (it's a car, it probably has a bunch of sensors nowadays so it can get entropy for free) and uses the gathered entropy to challenge you to sign a random number and only start if you are able to sign the random number; for the software, it could record previous signatures somewhere in the developer's cloud server and refuse to run if you try to replay a previously-seen signature.)
Taproot lets PTLCs exist onchain because they enable Schnorr, which is a requirement of PTLCs / Scriptless Script. (technology-wise, take note that Scriptless Script works only for the "pointlocked" branch of the contract; you need normal Script, or a pre-signed nLockTimed transaction, for the "timelocked" branch. Since Taproot can embed a script, you can have the Taproot pubkey be a 2-of-2 to implement the Scriptless Script "pointlocked" branch, then have a hidden script that lets you recover the funds with an OP_CHECKLOCKTIMEVERIFY after the timeout if the seller does not claim the funds.)
Quantum Quibbles!
Now if you were really paying attention, you might have noticed this parenthetical:
(technical details: a Taproot output is 1 version byte + 32 byte public key, while a P2WPKH (bech32 singlesig) output is 1 version byte + 20 byte public key hash...)
So wait, Taproot uses raw 32-byte public keys, and not public key hashes? Isn't that more quantum-vulnerable?? Well, in theory yes. In practice, they probably are not. It's not that hashes can be broken by quantum computes --- they're still not. Instead, you have to look at how you spend from a P2WPKH/P2PKH pay-to-public-key-hash. When you spend from a P2PKH / P2WPKH, you have to reveal the public key. Then Bitcoin hashes it and checks if this matches with the public-key-hash, and only then actually validates the signature for that public key. So an unconfirmed transaction, floating in the mempools of nodes globally, will show, in plain sight for everyone to see, your public key. (public keys should be public, that's why they're called public keys, LOL) And if quantum computers are fast enough to be of concern, then they are probably fast enough that, in the several minutes to several hours from broadcast to confirmation, they have already cracked the public key that is openly broadcast with your transaction. The owner of the quantum computer can now replace your unconfirmed transaction with one that pays the funds to itself. Even if you did not opt-in RBF, miners are still incentivized to support RBF on RBF-disabled transactions. So the extra hash is not as significant a protection against quantum computers as you might think. Instead, the extra hash-and-compare needed is just extra validation effort. Further, if you have ever, in the past, spent from the address, then there exists already a transaction indelibly stored on the blockchain, openly displaying the public key from which quantum computers can derive the private key. So those are still vulnerable to quantum computers. For the most part, the cryptographers behind Taproot (and Bitcoin Core) are of the opinion that quantum computers capable of cracking Bitcoin pubkeys are unlikely to appear within a decade or two.
Current quantum computers can barely crack prime factorization problem for primes of 5 bits.
The 256-bit elliptic curve use by Bitcoin is, by my (possibly wrong) understanding, equivalent to 4096-bit primes, so you can see a pretty big gap between now (5 bit primes) and what is needed (4096 bit primes).
A lot of financial non-Bitcoin systems use the equivalent of 3072-bit primes or less, and are probably easier targets to crack than the equivalent-to-4096-bit-primes Bitcoin.
So:
Quantum computers capable of cracking Bitcoin are still far off.
Pay-to-public-key-hash is not as protective as you might think.
We will probably see banks get cracked before Bitcoin, so the banking system is a useful canary-in-a-coal-mine to see whether we should panic about being quantum vulnerable.
For now, the homomorphic and linear properties of elliptic curve cryptography provide a lot of benefits --- particularly the linearity property is what enables Scriptless Script and simple multisignature (i.e. multisignatures that are just 1 signature onchain). So it might be a good idea to take advantage of them now while we are still fairly safe against quantum computers. It seems likely that quantum-safe signature schemes are nonlinear (thus losing these advantages).
Summary
If you are a singlesig HODL-only Bitcoin user, Taproot will not affect you positively or negatively. Importantly: Taproot does no harm!
If you use or intend to use multisig, Taproot will be a positive for you.
If you transact onchain regularly using typical P2PKH/P2WPKH addresses, you get a minor reduction in feerates since multisig users will likely switch to Taproot to get smaller tx sizes, freeing up blockspace for yours.
If you are using multiparticipant setups for special systems of trade, Taproot will be a positive for you.
Remember: Lightning channels are multipartiicpiant setups for special systems of lightning-fast offchain trades!
I Wanna Be The Taprooter!
So, do you want to help activate Taproot? Here's what you, mister sovereign Bitcoin HODLer, can do!
If you have developer experience especially in C, C++, or related languages
Review the Taproot code! There is one pull request in Bitcoin Core, and one in libsecp256k1. I deliberately am not putting links here, to avoid brigades of nontechnical but enthusiastic people leaving pointless reviews, but if you are qualified you know how to find them!
But I am not a cryptographeBitcoin Core contributomathematician/someone as awesome as Pieter Wuille
That's perfectly fine! The cryptographers have been over the code already and agree the math is right and the implementation is right. What is wanted is the dreary dreary dreary software engineering: are the comments comprehensive and understandable? no misspellings in the comments? variable names understandable? reasonable function naming convention? misleading coding style? off-by-one errors in loops? conditions not covered by tests? accidental mixups of variables with the same types? missing frees? read-before-init? better test coverage of suspicious-looking code? missing or mismatching header guards? portability issues? consistent coding style? you know, stuff any coder with a few years of experience in coding anything might be able to catch. With enough eyes all bugs are shallow!
If you are running a mining pool/mining operation/exchange/custodial service/SPV server
Be prepared to upgrade!
One of the typical issues with upgrading software is that subtle incompatibilities with your current custom programs tend to arise, disrupting operations and potentially losing income due to downtime. If so, consider moving to the two-node setup suggested by gmax, which is in the last section of my previous post. With this, you have an up-to-date "public" node and a fixed-version "private" node, with the public node protecting the private node from any invalid chainsplits or invalid transactions. Moving to this setup from a typical one-node setup should be smooth and should not disrupt operations (too much).
If you are running your own fullnode for fun or for your own wallet
Be prepared to upgrade! The more nodes validating the new rules (even if you are a non-mining node!), the safer every softfork will be!
If you are using an SPV wallet or custodial wallet/service (including hardware wallets using the software of the wallet provider)
Contact your wallet provider / SPV server and ask for a statement on whether they support Taproot, and whether they are prepared to upgrade for Taproot! Make it known to them that Taproot is something you want!
But I Hate Taproot!!
That's fine!
Raise your objections to Taproot now, or forever hold your peace! Maybe you can raise them here and some of the devs (probably nullc, he goes everywhere, even in rbtc!) might be able to see your objections! Or if your objections are very technical, head over to the appropriate pull request and object away!
Maybe you simply misunderstand something, and we can clarify it here!
Or maybe you do have a good objection, and we can make Taproot better by finding a solution for it!
Disclaimer: This is my editing, so there could be always some misunderstandings and exaggerations, plus many convos are from 'spec channel', so take it with a grain of salt, pls. + I added some recent convos afterward. -------------------------------------------------- 📷 Luigi Vigneri [IF]어제 오후 8:26 Giving the opportunity to everybody to set up/run nodes is one of IOTA's priority. A minimum amount of resources is obviously required to prevent easy attacks, but we are making sure that being active part of the IOTA network can be possible without crazy investments. we are building our solution in such a way that the protocol is fair and lightweight. 📷 Hans Moog [IF]어제 오후 11:24 IOTA is not "free to use" but it's - fee-less you have tokens? you can send them around for free 📷 Hans Moog [IF]어제 오후 11:25 you have no tokens? you have to pay to use the network 📷 lekanovic어제 오후 11:25 I think it is a smart way to avoid the spamming network problem 📷 Hans Moog [IF]어제 오후 11:26 owning tokens is essentially like owning a share of the actual network and the throughput it can process 📷 Hans Moog [IF]어제 오후 11:26**** if you don't need all of that yourself, you can rent it out to people and earn money 📷 Hans Moog [IF]어제 오후 11:27 mana = tokens * time since you own them simplified 📷 Hans Moog [IF]어제 오후 11:27 the longer you hold your tokens and the more you have, the more mana you have but every now and then you have to move them to "realize" that mana 📷 lekanovic어제 오후 11:28 Is there any other project that is using a Mana solution to the network fee problem ? 📷 Hans Moog [IF]어제 오후 11:28 nah the problem with current protocol is that they are leader based 📷 Hans Moog [IF]어제 오후 11:29 you need absolute consensus on who the current leaders are and what their influence in the network is that's how blockchains works 📷 Hans Moog [IF]어제 오후 11:29 if two block producers produce 2 blocks at the same time, then you have to choose which one wins and where everybody attaches their next block to IOTA works differently and doesn't need to choose a single leader we therefore have a much bigger flexibility of designing our sybil protection mechanisms in a way, mana is also supposed to solve the problem of "rewarding" the infrastructure instead of the validators in blockchain only the miners get all the money running a node and even if it's one that is used by a lot of people will only cost you won't get anything back no fees, nothing the miners get it all 📷 Hans Moog [IF]어제 오후 11:31 in IOTA, the node operators receive the mana which gives them a share of the network throughput 📷 Hans Moog [IF]어제 오후 11:32 because in blockchain you need to decide whose txs become part of the blocks and it's not really based on networking protocols like AIMD 📷 lekanovic어제 오후 11:33 And the more Mana your node have, the more trust your node has and you have more to say in the FPC, is that correct? 📷 Hans Moog [IF]어제 오후 11:33 yeah a node that has processed a lot of txs of its users will have more mana than other nodes and therefore a bigger say in deciding conflicts its a direct measure of "trust" by its users 📷 lekanovic어제 오후 11:34 And choosing committee for dRNG would be done on L1 protocol level? Everything regarding Mana will be L1 level, right? 📷 Hans Moog [IF]어제 오후 11:35 Yeah Mana is layer1, but will also be used as weight in L2 solutions like smart contracts 📷 lekanovic어제 오후 11:35 And you are not dependant on using SC to implement this 📷 Hans Moog [IF]어제 오후 11:35 No, you don't need smart contracts That's all the base layer 📷 Hans Moog [IF]어제 오후 11:37 'Time' actually takes into account things like decay So it doesn't just increase forever It's close to "Demurrage" in monetary theory 📷 lekanovic어제 오후 11:36 For projects to be able to connect to Polkadot or Cosmos, you need to get the state of the ledger. Will it be possible to get the Tangle state? If this would be possible, then I think it would be SUPER good for IOTA 📷 Hans Moog [IF]어제 오후 11:38 Yeah but polkadot is not connecting other dlts Just inhouse stuff 📷 Hyperware어제 오후 11:39 Is there still a cap on mana so that the rich don't get richer? 📷 Hans Moog [IF]어제 오후 11:39 Yes mana is capped 📷 TangleAccountant어제 오후 11:39 u/HansMoog [IF] My first thought is thatthe evolution of this renting system will lead to several big mana renting companies that pool together tons of token holders mana. That way businesses looking to rent mana just need to deal with a reliable mana renting company for years instead of a new individualevery couple of months (because life happens and you don't know if that individual will need to sell their IOTAs due to personal reasons). Any thoughts on this? 📷 Hans Moog [IF]어제 오후 11:41 u/TangleAccountantyes that is likely - but also not a bad thing - token holders will have a place to get their monthly payout and the companies that want to use the tangle without having tokens have a place to pay 📷 TangleAccountant어제 오후 11:42 Oh I completely agree.That's really cool. I'll take a stab at creating one of those companies in the US. 📷 Hans Moog [IF]어제 오후 11:42 And everybody who wants to run a node themselves or has tokens and wants use the tangle for free can do so But "leachers" that would want to use the network for free won't be able to do so I mean ultimately there will always be "fees", as there is no "free lunch". You have a certain amount of resources that a network can process and you have a certain demand. And that will naturally result in fees based on supply / demand what you can do however is to build a system where the actual users of that system that legitimately want to use it can do so for free, just because they already "invest" enough by having tokens or running infrastructure they are already contributing to the well-being of the network through these two aspects alone it would be stupid to ask those guys for additional fees and mana essentially tries to be such a measure of honesty among the users 📷 Hyperware어제 오후 11:47 It's interesting from an investment perspective that having tokens/mana is like owning a portion of the network. 📷 Hans Moog [IF]어제 오후 11:48 Yeah, you are owning a certain % of the throughput and whatever the price will ultimately be to execute on this network - you will earn proportionally but you have to keep in mind that we are trying to build the most efficient DLT that you could possibly ever build 📷 semibaron어제 오후 11:48 The whole mana (tokens) = share of network throuput sounds very much like EOS tbh Just that EOS uses DPoS 📷 Hans Moog [IF]어제 오후 11:50 yeah i mean there is really not too many new things under the sun - you can just tweak a few things here and there, when it comes to distributing resources DPoS is simply not very nice from a centralization aspect 📷 Hans Moog [IF]어제 오후 11:50 at least not the way EOS does it delegating weights is 1 thing but assuming that the weight will always be in a way that 21 "identities" run the whole network is bad in the current world you see a centralization of power but ultimately we want to build a future where the wealth is more evenly distributed and the same goes for voting power 📷 Hans Moog [IF]어제 오후 11:52 blockchain needs leader selection it only works with such a centralizing component IOTA doesn't need that it's delusional to say that IOTA wouldn't have any such centralization but maybe we get better than just a handselected nodes📷 📷 Phantom3D어제 오후 11:52 How would this affect a regular hodler without a node. Should i keep my tokens elsewere to generate mana and put the tokens to use? 📷 Hans Moog [IF]어제 오후 11:53 you can do whatever you want with your mana just make an account at a node you regularly use and use it to build up a reputation with that node to be able to use your funds for free or run a node yourself or rent it out to companies if you just hodl 📷 semibaron어제 오후 11:54 Will there be a build-in function into the node software / wallet to delegate ("sell") my mana? 📷 Hans Moog [IF]어제 오후 11:55 u/semibaronnot from the start - that would happen on a 2nd layer ------------------------------------------------------------------------------------------------------------ 📷 dom어제 오후 9:49
suddenly be incentive to hold iota?
to generate Mana 📷 Hyperware오늘 오전 4:21 The only thing I can really do, is believe that the IF have smart answers and are still building the best solutions they can for the sake of the vision 📷 dom오늘 오전 4:43 100% - which is why we're spending so much effort to communicate it more clearly now we'll do an AMA on this topic very soon 📷 M [s2]오늘 오전 4:54 u/dom please accept my question for the AMA: will IOTA remain a permissionless system and if so, how? 📷 dom오늘 오전 4:57 of course it remains permissionless 📷 dom오늘 오전 5:20 what is permissioned about it? is ETH or Bitcoin permissioned because you have to pay a transaction fee in their native token? 📷 Gerrit오늘 오전 5:24 How did your industry partners think about the mana solution and the fact they need to hold the token to ensure network throughput? 📷 dom오늘 오전 5:26 u/Gerritconsidering how the infrastructure, legal and regulatory frameworks are improving around the adoption and usage of crypto-currencies within large companies, I really think that we are introducing this concept exactly at the right time. It should make enterprise partners comfortable in using the permissionless network without much of a hurdle.They can always launch their own network if they want to ... 📷 Gerrit오늘 오전 5:27 Launching their own network can’t be what you want 📷 dom오늘 오전 5:27 exactly but that is what's happening with Ethereum and all the other networks they don't hold Ether tokens either. 📷 Gerrit오늘 오전 5:32 Will be very exciting to see if ongoing regulation will „allow“ companies to invest and hold the tokens. With upcoming custody solutions that would be a fantastic play. 📷 Hans Moog [IF]오늘 오전 5:34 It's still possible to send transactions even without mana - mana is only used in times of congestion to give the people that have more mana more priority there will still be sharding to keep the network free most of the time 📷 Hans Moog [IF]오늘 오전 5:35 but without a protection mechanism, somebody could just spam a lot of bullshit and you could break the network(수정됨) you need some form of protection from this 📷 M [s2]오늘 오전 5:36 u/HansMoog [IF]so when I have 0 Mana, I can still send transactions? This is actually the point where it got strange... 📷 Hans Moog [IF]오늘 오전 5:37 yes you can unless the network is close to its processing capabilities / being attacked by spammers then the nodes will favor the mana holders 📷 Hans Moog [IF]오늘 오전 5:37 but having mana is not a requirement for many years to come currently even people having fpgas can't spam that many tps and we will also have sharding implemented by then 📷 M [s2]오늘 오전 5:39 Thank youu/HansMoog [IF] ! This is the actually important piece of info! 📷 Basha오늘 오전 5:38 ok, i thought it was communicated that you need at least 1 mana to process a transaction. from the blogpost: "... a node with 0 mana can issue no transactions." maybe they meant during the congestion**, but if that's the case maybe you should add that** 📷 Hans Moog [IF]오늘 오전 5:42 its under the point "Congestion control:" yeah this only applies to spam attacks network not overloaded = no mana needed 📷 Hans Moog [IF]오늘 오전 5:43 if congested => favor txs from people who have the most skin in the game but sharding will try to keep the network non-congested most of the time - but there might be short periods of time where an attacker might bring the network close to its limits and of course its going to take a while to add this, so we need a protection mechanism till sharding is supported(수정됨) 📷 Hans Moog [IF]오늘 오전 6:36 I don't have a particular problem with EOS or their amount of validators - the reason why I think blockchain is inferior has really nothing to do with the way you do sybil protection and with validators I mean "voting nodes" I mean even bitcoin has less mining pools and you could compare mining pools to dpos in some sense where people assign their weight (in that case hashing power) to the corresponding mining pools so EOS is definitely not less decentralized than any other tech but having more identities having weight in the decision process definitely makes it harder to corrupt a reasonable fraction of the system and makes it easier to shard so its desirable to have this property(수정됨) ------------------------------------------------- 📷 Antonio Nardella [IF]오늘 오전 3:36
u/C3PO[92% Cooless]They could also add more git repos instead of the wallet one, and we would probably be #1 there too.. ---------------------------------------------------------------------------------- Disclaimer: I'm sorry, maybe I'm fueling some confusion through posting this mana-thing too soon, but, instead of erasing this posting, I'm adding recent convos. Certain things about mana seem to be not clear, yet. It would be better to wait for some official clarification. But, I hope the community gives its full support to IF, 'cause there could be always some bumps along the untouched, unchartered way. -------------------------------------------------------------------------------------- Recent Addition;
Billy Sanders [IF]오늘 오후 1:36
It's still possible to send transactions even without mana - mana is only used in times of congestion to give the people that have more mana more priority
u/HansMoog [IF] Im sorry Hans, but this is false in the current congestion control algorithm. No mana = no transactions. To be honest, we havent really tried to make it work so that you can sent transactions with no mana during ties with no congestion, but I dont see how you can enable this and still maintain the sybil protection required. u/LuigiVigneri [IF] What do you think?📷
Dave [EF]오늘 오후 2:19
Suggestion: Sidebar, then get back to us with the verdict.(수정됨)📷2📷
dom오늘 오후 2:27
No Mana no tx will definitely not be the case(수정됨)📷5📷7***[오후 2:28]***Billy probably means the previous rate control paper as it was written by Luigi. I'll clarify with them📷
Hans Moog [IF]오늘 오후 2:29
When was this decided u/BillySanders [IF] and by whom? Was this discussed at last resum when I wasnt there? The last info that I had was that the congestion control should only kick in when there is congestion?!?***[오후 2:29]***📷 📷 📷📷
Navin Ramachandran [IF]오늘 오후 2:30
Let's sidebar this discussion and return when we have agreement. Dave has the right idea
Minimum Viable Issuance - Why Ethereum’s lack of a hard cap on ETH issuance is a good thing.
This post will explain how the argument used by the average Bitcoin maximalist, thinking that they have found Ethereum’s achilles heel when talking about issuance is actually highlighting one of Ethereum’s strong points and one of the main threats to the longevity of the Bitcoin network. So first let’s answer the question which I know many people have about Ethereum:
What is Ethereum’s ETH issuance schedule?
Ethereum has an issuance policy of Minimum Viable Issuance. So what does this mean exactly? It means that the issuance of ETH will be as low as possible while also maintaining a sufficient budget to pay miners (and soon to be stakers) to keep the network secure. For example, if ETH issuance was halved, miners would drop off the network and stop mining as it is no longer profitable for them to mine. As a result, the network would be less secure as it would cost less money for an attacker to control 51% of the hash power and attack the network. This means that the Ethereum community plans to change ETH issuance as time goes on to maintain a reasonable security budget which will keep the network secure but will also keep inflation in check. We have done this twice in the past with EIP-649 and EIP-1234 which reduced block rewards from 5 ETH per block to 3 ETH and from 3 ETH to 2 ETH respectively. I previously made a graph of ETH issuance over time here: https://redd.it/it8ce7 So while Ethereum doesn’t have a strictly defined issuance schedule, the community will reject any proposals which either put the security of the network at risk such as the recent EIP-2878, or we will reject proposals which will lead to excessive network security and therefore an unnecessarily high inflation rate (or we will accept proposals which reduce issuance after price rises and therefore the security budget rises). This means that when Bitcoiners accuse the Ethereum Foundation of being no better than a central bank because they can “print more Ether”, this is completely untrue. Any proposals made by the EF which would increase issuance unnecessarily would be rejected by the community in the same way that a proposal to increase the supply of Bitcoin from 21 million to 22 million would be rejected. There is a social contract around both Bitcoin’s and Ethereum’s issuance schedules. Any networks or proposals which break the social contracts of 21 million Bitcoins and minimal viable issuance of Ether would be a breach of these contracts and the new proposed network would be labeled by the community as illegitimate and the original network would live on.
So why is minimum viable issuance better than a hard cap?
Minimum viable issuance is better than a hard cap because it puts the most important part of the network first - the security. MVI ensures that the Ethereum network will always have a security budget which keeps the cost of a 51% attack impractically high. Bitcoin on the other hand, halves its security budget every 4 years until eventually only the transaction fees pay for network security. This means that every 4 years, the amount of money paying for network security halves until eventually, the value of attacking the network becomes greater than the security budget and someone performs a 51% attack (technically the security budget only halves if terms of BTC not in dollars. However, even if the price of Bitcoin more than doubles in the time that the security budget halves, the ratio of security budget to value secured on the network still halves, doubling the financial viability of performing a network attack). The strategy to pay for the security budget once Bitcoin issuance stops is for transaction fees to secure the network since transaction fees are paid to miners. Not only does this have its own security problems which I won’t detail here, but unless Bitcoin scales on layer 1 (layer 2 scaling solutions have their own security mechanisms separate from L1), then fees would have to cost well in the thousands of dollars to secure a trillion dollar market cap Bitcoin that is secured by nothing but fees. If Bitcoin maximalists want a 10 trillion or 100 trillion dollar market cap then expect fees to go up another 10 or 100 times from there. Ethereum on the other hand, will be able to keep its network secure with approximately 1-2% annual issuance being paid to stakers under ETH 2.0. This is because not all of the network will be staking, so if 33 million of the approximately 110 million Ether in existence stakes under ETH 2.0, then paying this 33 million Ether 6% a year (a very decent yield!) would cost just under 2 million ETH per year which would equate to less than 2% annual ETH inflation. This is also before considering EIP-1559 which will burn a portion of transaction fees which will counter the effect of this inflation and potentially even make ETH deflationary if the sum of all burned transaction fees are greater than the annual inflation. Also, under ETH 2.0, an attacker performing a 51% attack would get his funds slashed (they would lose their funds) if they attack the network, meaning that they can only perform a 51% attack once. However, in Bitcoin, anyone who controls 51% of the mining hash power could perform multiple 51% attacks without losing everything like they could in ETH 2.0. So in conclusion, while Ethereum doesn’t have the guaranteed anti-inflation security of a hard cap, it does have the guarantee of always paying it’s miners (or stakers under ETH 2.0) enough to keep the network secure. In contrast, while Bitcoin’s social contract may guarantee a hard cap of 21 million, it cannot simultaneously guarantee network security in the long run. Eventually, its users will have to decide if they want a secure network with more than 21 million coins or a tax to pay for security or an insecure network with super high fees and a hard cap of 21 million Bitcoin. Disclaimer:The details I covered around 51% attacks and network security are simplified. I am not an expert in this field and things are a lot more nuanced than I laid out in my simplifications above.
Taproot! Everybody wants to have it, somebody wants to make it, nobody knows how to get it! (If you are asking why everybody wants it, see: Technical: Taproot: Why Activate?) (Pedants: I mostly elide over lockin times) Briefly, Taproot is that neat new thing that gets us:
Multisignatures (n-of-n, k-of-n) that are just 1 signature (1-of-1) in length!! (MuSig/Schnorr)
Better privacy!! If all contract participants can agree, just use a multisignature. If there is a dispute, show the contract publicly and have the Bitcoin network resolve it (Taproot/MAST).
Activation lets devs work get back to work on the even newer stuff like!!!
Cross-input signature aggregation!! (transaction with multiple inputs can have a single signature for all inputs) --- needs Schnorr, but some more work needed to ensure that the interactions with SCRIPT are okay.
Block validation - Schnorr signatures for all taproot spends in a block can be validated in a single operation instead of for each transaction!! Speed up validation and maybe we can actually afford to increase block sizes (maybe)!!
SIGHASH_ANYPREVOUT - you know, for Decker-Russell-Osuntokun ("eltoo") magic!!!
OP_CHECKTEMPLATEVERIFY - vaulty vaults without requiring storing signatures, just transaction details!!
So yes, let's activate taproot!
The SegWit Wars
The biggest problem with activating Taproot is PTSD from the previous softfork, SegWit. Pieter Wuille, one of the authors of the current Taproot proposal, has consistently held the position that he will not discuss activation, and will accept whatever activation process is imposed on Taproot. Other developers have expressed similar opinions. So what happened with SegWit activation that was so traumatic? SegWit used the BIP9 activation method. Let's dive into BIP9!
bit - A field in the block header, the nVersion, has a number of bits. By setting a particular bit, the miner making the block indicates that it has upgraded its software to support a particular soft fork. The bit parameter for a BIP9 activation is which bit in this nVersion is used to indicate that the miner has upgraded software for a particular soft fork.
timeout - a time limit, expressed as an end date. If this timeout is reached without sufficient number of miners signaling that they upgraded, then the activation fails and Bitcoin Core goes back to the drawing board.
Now there are other parameters (name, starttime) but they are not anywhere near as important as the above two. A number that is not a parameter, is 95%. Basically, activation of a BIP9 softfork is considered as actually succeeding if at least 95% of blocks in the last 2 weeks had the specified bit in the nVersion set. If less than 95% had this bit set before the timeout, then the upgrade fails and never goes into the network. This is not a parameter: it is a constant defined by BIP9, and developers using BIP9 activation cannot change this. So, first some simple questions and their answers:
Why not just set a day when everyone starts imposing the new rules of the softfork?
This was done classically (in the days when Satoshi was still among us). But this might argued to put too much power to developers, since there would be no way to reject an upgrade without possible bad consequences. For example, developers might package an upgrade that the users do not want, together with vital security bugfixes. Either you live without vital security bugfixes and hire some other developers to fix it for you (which can be difficult, presumably the best developers are already the ones working on the codebase) or you get the vital security bugfixes and implicitly support the upgrade you might not want.
Sure, you could fork the code yourself (the ultimate threat in the FOSS world) and hire another set of developers who aren't assholes to do the dreary maintenance work of fixing security bugs, but Bitcoin needs strong bug-for-bug compatibility so everyone should really congregate around a single codebase.
Basically: even the devs do not want this power, because they fear being coerced into putting "upgrades" that are detrimental to users. Satoshi got a pass because nobody knew who he was and how to coerce him.
Why 95%?
Suppose the threshold were lower, like 51%. If so, after activation, somebody can disrupt the Bitcoin network by creating a transaction that is valid under the pre-softfork rules, but are invalid under the post-softfork rules. Upgraded nodes would reject it, but 49% of miners would accept it and include it in a block (which makes the block invalid) And then the same 49% would accept the invalid block and build on top of that, possibly creating a short chain of doomed invalid blocks that confirm an invalid spend. This can confuse SPV wallets, who might see multiple confirmations of a transaction and accept the funds, but later find that in fact it is invalid under the now-activated softfork rules.
Thus, a very high threshold was imposed. 95% is considered safe. 50% is definitely not safe. Due to variance in the mining process, 80% could also be potentially unsafe (i.e. 80% of blocks signaling might have a good chance of coming from only 60% of miners), so a threshold of 95% was considered "safe enough for Bitcoin work".
Why have a timeout that disables the upgrade?
Before BIP9, what was used was either flag day or BIP34. BIP34 had no flag day of activation or a bit, instead, it was just a 95% threshold to signal an nVersion value greater than a specific value. Actually, it was two thresholds: at 75%, blocks with the new nVersion would have the new softfork rules imposed, but at 95% blocks with the old nVersion would be rejected (and only the new blocks, with the new softfork rules, were accepted). For one, between 75% and 95%, there was a situation where the softfork was only "partially imposed", only blocks signaling the new rules would actually have those rules, but blocks with the old rules were still valid. This was fine for BIP34, which only added rules for miners with negligible use for non-miners.
The same activation process for BIP34 was used for BIP66. After BIP66 reached 95%, however, a single miner mined an invalid-for-BIP66 block that still signalled BIP66 support. It turned out that of the 95% signaling BIP66 support, only about 50% were actually imposing the BIP66 new rules. The rest signalled support without upgrading their software to support new rules. This lead to many chainsplits and chaos with SPV nodes.
The reasons miners signalled support was because they felt they were being pressured to signal support. So they signalled support, with plans to actually upgrade later, but because of the widespread signalling, the new BIP66 version locked in before upgrade plans were finished. Thus, the timeout that disables the upgrade was added in BIP9 to allow miners an escape hatch.
The Great Battles of the SegWit Wars
SegWit not only fixed transaction malleability, it also created a practical softforkable blocksize increase that also rebalanced weights so that the cost of spending a UTXO is about the same as the cost of creating UTXOs (and spending UTXOs is "better" since it limits the size of the UTXO set that every fullnode has to maintain). So SegWit was written, the activation was decided to be BIP9, and then.... miner signalling stalled at below 75%. Thus were the Great SegWit Wars started.
BIP9 Feature Hostage
If you are a miner with at least 5% global hashpower, you can hold a BIP9-activated softfork hostage. You might even secretly want the softfork to actually push through. But you might want to extract concession from the users and the developers. Like removing the halvening. Or raising or even removing the block size caps (which helps larger miners more than smaller miners, making it easier to become a bigger fish that eats all the smaller fishes). Or whatever. With BIP9, you can hold the softfork hostage. You just hold out and refuse to signal. You tell everyone you will signal, if and only if certain concessions are given to you. This ability by miners to hold a feature hostage was enabled because of the miner-exit allowed by the timeout on BIP9. Prior to that, miners were considered little more than expendable security guards, paid for the risk they take to secure the network, but not special in the grand scheme of Bitcoin.
Covert ASICBoost
ASICBoost was a novel way of optimizing SHA256 mining, by taking advantage of the structure of the 80-byte header that is hashed in order to perform proof-of-work. The details of ASICBoost are out-of-scope here but you can read about it elsewhere Here is a short summary of the two types of ASICBoost, relevant to the activation discussion.
Overt ASICBoost - Manipulates the unused bits in nVersion to reduce power consumption in mining.
Covert ASICBoost - Manipulates the order of transactions in the block to reduce power consumption in mining.
Now, "overt" means "obvious", while "covert" means hidden. Overt ASICBoost is obvious because nVersion bits that are not currently in use for BIP9 activations are usually 0 by default, so setting those bits to 1 makes it obvious that you are doing something weird (namely, Overt ASICBoost). Covert ASICBoost is non-obvious because the order of transactions in a block are up to the miner anyway, so the miner rearranging the transactions in order to get lower power consumption is not going to be detected. Unfortunately, while Overt ASICBoost was compatible with SegWit, Covert ASICBoost was not. This is because, pre-SegWit, only the block header Merkle tree committed to the transaction ordering. However, with SegWit, another Merkle tree exists, which commits to transaction ordering as well. Covert ASICBoost would require more computation to manipulate two Merkle trees, obviating the power benefits of Covert ASICBoost anyway. Now, miners want to use ASICBoost (indeed, about 60->70% of current miners probably use the Overt ASICBoost nowadays; if you have a Bitcoin fullnode running you will see the logs with lots of "60 of last 100 blocks had unexpected versions" which is exactly what you would see with the nVersion manipulation that Overt ASICBoost does). But remember: ASICBoost was, at around the time, a novel improvement. Not all miners had ASICBoost hardware. Those who did, did not want it known that they had ASICBoost hardware, and wanted to do Covert ASICBoost! But Covert ASICBoost is incompatible with SegWit, because SegWit actually has two Merkle trees of transaction data, and Covert ASICBoost works by fudging around with transaction ordering in a block, and recomputing two Merkle Trees is more expensive than recomputing just one (and loses the ASICBoost advantage). Of course, those miners that wanted Covert ASICBoost did not want to openly admit that they had ASICBoost hardware, they wanted to keep their advantage secret because miners are strongly competitive in a very tight market. And doing ASICBoost Covertly was just the ticket, but they could not work post-SegWit. Fortunately, due to the BIP9 activation process, they could hold SegWit hostage while covertly taking advantage of Covert ASICBoost!
UASF: BIP148 and BIP8
When the incompatibility between Covert ASICBoost and SegWit was realized, still, activation of SegWit stalled, and miners were still not openly claiming that ASICBoost was related to non-activation of SegWit. Eventually, a new proposal was created: BIP148. With this rule, 3 months before the end of the SegWit timeout, nodes would reject blocks that did not signal SegWit. Thus, 3 months before SegWit timeout, BIP148 would force activation of SegWit. This proposal was not accepted by Bitcoin Core, due to the shortening of the timeout (it effectively times out 3 months before the initial SegWit timeout). Instead, a fork of Bitcoin Core was created which added the patch to comply with BIP148. This was claimed as a User Activated Soft Fork, UASF, since users could freely download the alternate fork rather than sticking with the developers of Bitcoin Core. Now, BIP148 effectively is just a BIP9 activation, except at its (earlier) timeout, the new rules would be activated anyway (instead of the BIP9-mandated behavior that the upgrade is cancelled at the end of the timeout). BIP148 was actually inspired by the BIP8 proposal (the link here is a historical version; BIP8 has been updated recently, precisely in preparation for Taproot activation). BIP8 is basically BIP9, but at the end of timeout, the softfork is activated anyway rather than cancelled. This removed the ability of miners to hold the softfork hostage. At best, they can delay the activation, but not stop it entirely by holding out as in BIP9. Of course, this implies risk that not all miners have upgraded before activation, leading to possible losses for SPV users, as well as again re-pressuring miners to signal activation, possibly without the miners actually upgrading their software to properly impose the new softfork rules.
BIP91, SegWit2X, and The Aftermath
BIP148 inspired countermeasures, possibly from the Covert ASiCBoost miners, possibly from concerned users who wanted to offer concessions to miners. To this day, the common name for BIP148 - UASF - remains an emotionally-charged rallying cry for parts of the Bitcoin community. One of these was SegWit2X. This was brokered in a deal between some Bitcoin personalities at a conference in New York, and thus part of the so-called "New York Agreement" or NYA, another emotionally-charged acronym. The text of the NYA was basically:
Set up a new activation threshold at 80% signalled at bit 4 (vs bit 1 for SegWit).
When this 80% signalling was reached, miners would require that bit 1 for SegWit be signalled to achive the 95% activation needed for SegWit.
If the bit 4 signalling reached 80%, increase the block weight limit from the SegWit 4000000 to the SegWit2X 8000000, 6 months after bit 1 activation.
The first item above was coded in BIP91. Unfortunately, if you read the BIP91, independently of NYA, you might come to the conclusion that BIP91 was only about lowering the threshold to 80%. In particular, BIP91 never mentions anything about the second point above, it never mentions that bit 4 80% threshold would also signal for a later hardfork increase in weight limit. Because of this, even though there are claims that NYA (SegWit2X) reached 80% dominance, a close reading of BIP91 shows that the 80% dominance was only for SegWit activation, without necessarily a later 2x capacity hardfork (SegWit2X). This ambiguity of bit 4 (NYA says it includes a 2x capacity hardfork, BIP91 says it does not) has continued to be a thorn in blocksize debates later. Economically speaking, Bitcoin futures between SegWit and SegWit2X showed strong economic dominance in favor of SegWit (SegWit2X futures were traded at a fraction in value of SegWit futures: I personally made a tidy but small amount of money betting against SegWit2X in the futures market), so suggesting that NYA achieved 80% dominance even in mining is laughable, but the NYA text that ties bit 4 to SegWit2X still exists. Historically, BIP91 triggered which caused SegWit to activate before the BIP148 shorter timeout. BIP148 proponents continue to hold this day that it was the BIP148 shorter timeout and no-compromises-activate-on-August-1 that made miners flock to BIP91 as a face-saving tactic that actually removed the second clause of NYA. NYA supporters keep pointing to the bit 4 text in the NYA and the historical activation of BIP91 as a failed promise by Bitcoin developers.
We have discussed BIP8: roughly, it has bit and timeout, if 95% of miners signal bit it activates, at the end of timeout it activates. (EDIT: BIP8 has had recent updates: at the end of timeout it can now activate or fail. For the most part, in the below text "BIP8", means BIP8-and-activate-at-timeout, and "BIP9" means BIP8-and-fail-at-timeout) So let's take a look at Modern Softfork Activation!
Modern Softfork Activation
This is a more complex activation method, composed of BIP9 and BIP8 as supcomponents.
First have a 12-month BIP9 (fail at timeout).
If the above fails to activate, have a 6-month discussion period during which users and developers and miners discuss whether to continue to step 3.
Have a 24-month BIP8 (activate at timeout).
The total above is 42 months, if you are counting: 3.5 years worst-case activation. The logic here is that if there are no problems, BIP9 will work just fine anyway. And if there are problems, the 6-month period should weed it out. Finally, miners cannot hold the feature hostage since the 24-month BIP8 period will exist anyway.
PSA: Being Resilient to Upgrades
Software is very birttle. Anyone who has been using software for a long time has experienced something like this:
You hear a new version of your favorite software has a nice new feature.
Excited, you install the new version.
You find that the new version has subtle incompatibilities with your current workflow.
You are sad and downgrade to the older version.
You find out that the new version has changed your files in incompatible ways that the old version cannot work with anymore.
You tearfully reinstall the newer version and figure out how to get your lost productivity now that you have to adapt to a new workflow
If you are a technically-competent user, you might codify your workflow into a bunch of programs. And then you upgrade one of the external pieces of software you are using, and find that it has a subtle incompatibility with your current workflow which is based on a bunch of simple programs you wrote yourself. And if those simple programs are used as the basis of some important production system, you hve just screwed up because you upgraded software on an important production system. And well, one of the issues with new softfork activation is that if not enough people (users and miners) upgrade to the newest Bitcoin software, the security of the new softfork rules are at risk. Upgrading software of any kind is always a risk, and the more software you build on top of the software-being-upgraded, the greater you risk your tower of software collapsing while you change its foundations. So if you have some complex Bitcoin-manipulating system with Bitcoin somewhere at the foundations, consider running two Bitcoin nodes:
One is a "stable-version" Bitcoin node. Once it has synced, set it up to connect=x.x.x.x to the second node below (so that your ISP bandwidth is only spent on the second node). Use this node to run all your software: it's a stable version that you don't change for long periods of time. Enable txiindex, disable pruning, whatever your software needs.
The other is an "always-up-to-date" Bitcoin Node. Keep its stoarge down with pruning (initially sync it off the "stable-version" node). You can't use blocksonly if your "stable-version" node needs to send transactions, but otherwise this "always-up-to-date" Bitcoin node can be kept as a low-resource node, so you can run both nodes in the same machine.
When a new Bitcoin version comes up, you just upgrade the "always-up-to-date" Bitcoin node. This protects you if a future softfork activates, you will only receive valid Bitcoin blocks and transactions. Since this node has nothing running on top of it, it is just a special peer of the "stable-version" node, any software incompatibilities with your system software do not exist. Your "stable-version" Bitcoin node remains the same version until you are ready to actually upgrade this node and are prepared to rewrite most of the software you have running on top of it due to version compatibility problems. When upgrading the "always-up-to-date", you can bring it down safely and then start it later. Your "stable-version" wil keep running, disconnected from the network, but otherwise still available for whatever queries. You do need some system to stop the "always-up-to-date" node if for any reason the "stable-version" goes down (otherwisee if the "always-up-to-date" advances its pruning window past what your "stable-version" has, the "stable-version" cannot sync afterwards), but if you are technically competent enough that you need to do this, you are technically competent enough to write such a trivial monitor program (EDIT: gmax notes you can adjust the pruning window by RPC commands to help with this as well). This recommendation is from gmaxwell on IRC, by the way.
I built a decentralized legal-binding smart contract system. I need peer reviewers and whitepaper proof readers. Help greatly appreciated!
I posted this on /cryptotechnology . It attracted quite a bit of upvotes but not many potential contributors. Someone mentioned I should try this sub. I read the rules and it seems to fit within them. Hope this kind of post is alright here... EDIT: My mother language is french (I'm from Montreal/Canada). Please excuse any blatant grammatical errors. TLDR: I built a decentralized legal-binding smart contract system. I need peer reviewers and whitepaper proof readers. If you're interested, send me an email to discuss: [email protected] . Thanks in advance! Hi guys, For the last few years, I've been working on a decentralized legal-binding contract system. Basically, I created a PoW blockchain software that can receive a hash as an address, and another hash as a bucket, in each transaction. The address hash is used to tell a specific entity (application/contract/company/person, etc) that uses the blockchain that this transaction might be addressed to them. The bucket hash simply tells the nodes which hashtree of files they need to download in order to execute that contract. The buckets are shared within the network of nodes. Someone could, for example, write a contract with a series of nodes in order to host their data for them. Buckets can hold any kind of data, and can be of any size... including encrypted data. The blockchain's blocks are chained together using a mining system similar to bitcoin (hashcash algorithm). Each block contains transactions. The requested difficulty increases when the amount of transactions in a block increases, linearly. Then, when a block is mined properly, another smaller mining effort is requested to link the block to the network's head block. To replace a block, you need to create another block with more transactions than the amount that were transacted in and after the mined block. I expect current payment processors to begin accepting transactions and mine them for their customers and make money with fees, in parallel. Using such a mechanism, miners will need to have a lot of bandwidth available in order to keep downloading the blocks of other miners, just like the current payment processors. The contracts is code written in our custom programming language. Their code is pushed using a transaction, and hosted in buckets. Like you can see, the contract's data are off-chain, only its bucket hash is on-chain. The contract can be used to listen to events that occurs on the blockchain, in any buckets hosted by nodes or on any website that can be crawled and parsed in the contract. There is also an identity system and a vouching system...which enable the creation of soft-money (promise of future payment in hard money (our cryptocurrency) if a series of events arrive). The contracts can also be compiled to a legal-binding framework and be potentially be used in court. The contracts currently compile to english and french only. I also built a browser that contains a 3D viewport, using OpenGL. The browser contains a domain name system (DNS) in form of contracts. Anyone can buy a new domain by creating a transaction with a bucket that contains code to reserve a specific name. When a user request a domain name, it discovers the bucket that is attached to the domain, download that bucket and executes its scripts... which renders in the 3D viewport. When people interact with an application, the application can create contracts on behalf of the user and send them to the blockchain via a transaction. This enables normal users (non-developers) to interact with others using legal contracts, by using a GUI software. The hard money (cryptocurrency) is all pre-mined and will be sold to entities (people/company) that want to use the network. The hard money can be re-sold using the contract proposition system, for payment in cash or a bank transfer. The fiat funds will go to my company in order to create services that use this specific network of contracts. The goal is to use the funds to make the network grow and increase its demand in hard money. For now, we plan to create: A logistic and transportation company A delivery company A company that buy and sell real estate options A company that manage real estate A software development company A world-wide fiat money transfer company A payment processor company We chose these niche because our team has a lot of experience in these areas: we currently run companies in these fields. These niche also generate a lot of revenue and expenses, making the value of exchanges high. We expect this to drive volume in contracts, soft-money and hard-money exchanges. We also plan to use the funds to create a venture capital fund that invests in startups that wants to create contracts on our network to execute a specific service in a specific niche. I'm about to release the software open source very soon and begin executing our commercial activities on the network. Before launching, I'd like to open a discussion with the community regarding the details of how this software works and how it is explained in the whitepaper. If you'd like to read the whitepaper and open a discussion with me regarding how things work, please send me an email at [email protected] . If you have any comment, please comment below and Ill try to answer every question. Please note that before peer-reviewing the software and the whitepaper, I'd like to keep the specific details of the software private, but can discuss the general details. A release date will be given once my work has been peer reviewed. Thanks all in advance! P.S: This project is not a competition to bitcoin. My goal with this project is to enable companies to write contracts together, easily follow events that are executed in their contracts, understand what to expect from their partnership and what they need to give in order to receive their share of deals... and sell their contracts that they no longer need to other community members. Bitcoin already has a network of people that uses it. It has its own value. In fact, I plan to create contracts on our network to exchange value from our network for bitcoin and vice-versa. Same for any commodity and currency that currently exits in this world.
Thoughts on contract mining with BCHN to prevent IFP takeover
I believe that some BTC mining capacity will shift to mining BCH during the coming November hard fork. Given the stakes (complete control of a $4 billion market cap top 10 cryptocurrency), I believe that there could be stiff competition to decide if Amaury will become a North Corea-style "supreme leader" of BCH. According to game theory, Blockstream and even Craig Wright/Coingeek are incentivized to mine for ABC/IFP and effectively break BCH for good. Those 2 entities do control a good bit of SHA256 hashpower, and they can shift to mining the ABC chain very quickly. Switching their SHA256 miners to ABC at the last possible minute without advance warning would have the maximum possible benefit. I would like to throw money at a this problem. I would like to support the real BCH (the one without the IFP tax and centrally planned dictatorship) by mining with BCHN. Unfortunately, I sold my SHA256 mining gear years ago. So I'd like to rent some BCHN-friendly BTC hashpower. Bitcoin.com pool seems to be sold out, can anyone suggest another contract miner? Ideally I would prefer to hire BTC hashers.
Most Bitcoin Cloud Mining Companies are Scams. Like the heading says, most cloud mining contracts are scams. Why? Because it’s easy for companies to take peoples’ money, and then not pay out. A company can claim to be a cloud mining company without any proof of actually owning any hardware. So remember: 99.9% of cloud mining companies are ... Cloud mining contracts Bitcoin Cloud Mining 5 year Contract . A 5 years contract The cost of electricity and maintenance: $0/day per 1 TH/s Estimated income: $0.076/day per 1 TH/s Estimated pure profit: $0.076/day per 1 TH/s Withdrawals every day As the bitcoin cloud mining is getting famous, many people are appreciating it. For example, the quantity of individuals obtaining cloud mining contracts has multiplied in the course of recent years. What's more, as clear as it sounds, the vast majority of the general population are continually searching for different sources and sites where they can get the least expensive cloud mining ... *Based on current mining difficulty and Bitcoin price. View historical difficulty for BCH and BTC ** Daily fee covers electricity and maintenance costs.The contract will end if the total revenue from the past 30 days is less than the total daily fee for the same period. September 2020 News. The Summer has started in the best way … Bitcoin has raised its head and sails on $ 11,000 to 12,000. Among the sites that allow the purchase of bitcoins – not related to mining – the most serious and also easiest to use if you want to get closer to this world is COINBASE ( click here to register with 10 usd for free if you buy at least 100 usd in Bitcoin ) .
Bitcoin Mining Hardware and Cloud Mining Contracts Explained
A short introduction video explaining Bitcoin Mining Hardware, Hosted Bitcoin Mining Hardware and Cloud Mining Contacts (including PACMiC's). We look into the pros and cons for all different types ... Genesis Mining Bitcoin Contracts are BACK! Time to mine Bitcoins again with Genesis Mining. If you want a discount for every purchase on any Genesis Mining contract then don't look further. What is Bitcoin Mining? (In Plain English) - Duration: ... 99Bitcoins 183,509 views. 16:01. Genesis Mining Contracts Are DEAD! My Thoughts. - Duration: 8:13. Crypto Jedi 7,265 views. 8:13. HARD ... Buy And Sell Bitcoin / Bitcoin Cash & Mining Contracts On Ebay Important Information - Duration: 7:27. WORRR 3,316 views. 7:27. $4 Lifetime Bitcoin Cloud Mining Contracts at Minergate ... Hashflare Vs Minergate Cloud Bitcoin Mining Which One Is The Best? ... Is It Profitable To Mine Bytecoin Using MinerGate? ...