Bitcoin Maximalist and Other Cryptocurrency Slang Words

Making. Coffee and paninting. :D lol

submitted by dolphin_menace to TheYouShow [link] [comments]

Gridcoin 5.0.0.0-Mandatory "Fern" Release

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.

Removed

Beacons

Added

Changed

Removed

Unaltered

As a reminder:

Superblocks

Added

Changed

Removed

Voting

Added

Changed

Removed

Detailed Changelog

[5.0.0.0] 2020-09-03, mandatory, "Fern"

Added

Changed

Removed

Fixed

submitted by jamescowens to gridcoin [link] [comments]

semi-quick answers to common questions of new people

so people often ask similar questions over here and because they are getting probably kinda annoying over time to many I just try to answer as many as I find. if you have more that would fit here, add them to the comments

submitted by My1xT to ledgerwallet [link] [comments]

Top 25 Questions and answer About Cryptocurrency

Top 25 Questions and answer About Cryptocurrency
https://preview.redd.it/dju4oz1g16c51.jpg?width=2400&format=pjpg&auto=webp&s=fe57edcd81ffa31bff95fe3026055020f7720dce
Cryptocurrencies have now become a buzz word. Despite the resilience that it faced initially, cryptocurrencies have come a long way. There are a total of around 5000 cryptocurrencies circulating in the market. If you plan to make a career in this domain, you need to run through the following questions.
1. What is a cryptocurrency?
Cryptocurrency is a digital currency that is transacted on a distributed ledger platform or decentralized platform or Blockchain. Any third party does not govern it, and the transaction takes place between peer-to-peer.
2. When was the first Cryptocurrency introduced?
The first Cryptocurrency or Bitcoin was introduced in the year 2009.
3. Who created Cryptocurrency?
Satoshi Nakamoto gave the first Cryptocurrency. The white paper for the same was given in 2008 and a computer program in 2009.
4. What are the top three cryptocurrencies?
The following are the three cryptocurrencies:
• Bitcoin (BTC) $128bn.
• Ethereum (ETH) $19.4bn.
• XRP (XRP) $8.22bn.
5. Where can you store Cryptocurrency?
Cryptocurrencies are stored in a digital wallet, and this is accessible via public and private keys. A public key is the address of your wallet, and the private key is the one that helps you in executing the transaction.
6. Which is the safest wallet for Cryptocurrency?
The most secured wallet for Cryptocurrency is a hardware wallet. It is not connected to the internet, and thus it is free from a hacking attack. It is also known as a cold wallet.
7. From where I can purchase cryptocurrencies?
The easiest way to buy Cryptocurrency is via crypto exchange. You can several crypto exchanges like Coinbase, Bitbuy, CHANGENow, Kraken etc.
8. What are the ten popular crypto exchanges?
The following are the best ten popular crypto exchange:
  1. Coinbase
  2. Binance
  3. FTX
  4. Cex.io
  5. Local Bitcoins
  6. Bitfinex
  7. LocalBitcoins
  8. Bittrex
  9. Coinmama
  10. Kraken
9. What are the key features of Blockchain?
We all know that Bitcoin or any other cryptocurrency runs on the Blockchain platform, which gives it some additional features like decentralization, transparency, faster speed, immutability and anonymity.
10. What is AltCoin?
It means Alternative Coin. All the cryptocurrencies other than Bitcoin are alternative coins. Similar to Bitcoin, AltCoins are not regulated by any bank. The market governs them.
11. Are cryptocurrency sites regulated?
Most cryptocurrency websites are not regulated.
12. How are Cryptocurrency and Blockchain related?
Blockchain platform aids cryptocurrency transactions, which makes use of authentication and encryption techniques. Cryptography enables technology for Cryptocurrency, thus ensuring secure transactions.
13. What is a nonce?
The mining process works on the pattern of validating transactions by solving a mathematical puzzle called proof-of-work. The latter determine a number or nonce along with a cryptographic hash algorithm to produce a hash value lower than a predefined target. The nonce is a random value used to vary the value of hash so that the final hash value meets the hash conditions.
14. How is Cryptocurrency different from other forms of payment?
Cryptocurrency runs on Blockchain technology, which gives it an advantage of immutability, cryptography, and decentralization. All the payments are recorded on the DLT, which is accessible from any part of the world. Moreover, it keeps the identity of the user anonymous.
15. Which is the best Cryptocurrency?
Several cryptocurrencies have surged into the market, and you can choose any of these. The best way to choose the right cryptocurrencies is to look at its market value and assess its performance. Some of the prominent choices are Bitcoin, Ethereum, Litecoin, XRP etc.
16. What is the worst thing that can happen while using Cryptocurrency?
One of the worst things could be you losing your private keys. These are the passwords that secure your wallet, and once they are lost, you cannot recover them.
17. What is the private key and public key?
Keys secure your cryptocurrency wallet; these are public key and private key. The public key is known to all, like your bank account number, on the hand, the private key is the password which protects your wallet and is only known to you.
18. How much should one invest in Cryptocurrency?
Well, investing in Cryptocurrency is a matter of choice. You can study how the market is performing, and based on the best performing cryptocurrency, you can choose to invest. If you are new to this, then it’s advisable that you must start small.
19. From where can one buy Bitcoin using Fiat currency?
Two of the popular choices that you have are Coinbase and Binance, where you can purchase Cryptocurrency using fiat currency.
20. Are the coins safe on exchanges?
All the exchanges have a high level of security. Besides, these are regularly updated to meet the security requirements, but it’s not advisable to leave your coins on them since they are prone to attack. Instead, you can choose a hard wallet to store your cryptocurrencies, which are considered the safest.
21. What determines the price of cryptocurrencies?
The price of cryptocurrencies is determined by the demand and supply in the market. Besides, how the market is performing also determines the price of cryptocurrencies.
22. What are some of the prominent cryptocurrencies terminologies?
There are jargons which are continuously used by people using cryptocurrencies are:
DYOR: Do Your Own Research
Dapps: Decentralized Applications
Spike: Shapr increase in the price of the Cryptocurrency
Pump: Manipulated increase in the price of a cryptocurrency
Dump: Shapr decline in the price of Cryptocurrency
23. How can I check the value of cryptocurrencies?
Various platforms will give you an update on the price of cryptocurrencies. You can keep a tab on them and check the pricing of cryptocurrencies.
24. What are the advantages of using digital currencies?
There are various advantages like you are saved from double-spending, the transactions are aster and secure. Moreover, digital currencies now have global acceptance.
25. What is the difference between cryptocurrencies and fiat currencies?
Cryptocurrencies are digital currencies which run on the Blockchain platform and are not governed by any government agencies, while the fiat currencies are the ones which are governed by authorities and government.
Conclusion- This was all the FAQs pertaining to cryptocurrency, for more such information keep coming back to Blockchain Council.
submitted by Blockchain_org to BlockchainStartups [link] [comments]

I made a post here two days ago asking how to determine and/or alter the nonce of an Ethereum account's transaction, and no one answered it, it was just downvoted. The only response I got just moronically made fun of how "usernames with 'crypto' in them usually are the most incompetent"...

First of all, in a brief rant, I would like to point out that guy is an overconfident fool. My post listed very specific and unusual factors that applied to my issue, so I assume he may have not read it and thought I was making another "AAH! my transaction is stuck" post. But even that assumption already gives him the benefit of the doubt in that he even knew solution to the cliche problem, given that he failed to provide any suggestion of help to fix my issue.
Now, here are some links to previous posts that I made:
This is the first post I made, which was intended to be posted in this subreddit, but somehow it ended up in the bitcoin sub instead and I didn't realize until much later, and by that point the questions I asked in it were no longer relevant, so the next post was made from scratch.
This is the next post I made, which was successfully posted in this subreddit. It may be hard to see at first, but if you look closely, you might be able to tell that I was really stressed when I wrote it (/s). That said, it probably wasn't communicated as well as it could've been. (There was more than enough information for that guy to be a little less retarded about it though.)

(Yes, I used that word; I have high-functioning autism, which means I am clinically retarded, and as such I inherently have the "retarded pass". If you're mad at me just for saying that word, you need to go and reconstruct the methodologies you use to perceive right and wrong. (For example, imagine a white guy angrily criticizing a black guy for using the "N" word. That word never wasn't an insult, but still, you can't deny the irony!) Additionally, I think it's retarded to enforce non-use of a word that works perfectly fine, just because it can be used as an insult. Would you prefer "mentally underdeveloped"? I mean the same thing either way, and in both ways I still insulted the dude.)
"Please just use the word retarded; Anything else is just impractical and unnecessary."
-sincerely, a retard.
Finally, here is my current situation:
I have found the settings on how to select a transaction's nonce, both in MEW and MetaMask, also the Brave Browser's wallet, but that's really just an integration of MetaMask. The problem now, is that every time I try to connect my nano x to them, I then receive a popup from windows asking me to connect the key, which goes away by opening the Ethereum app on the nano, but it is then replaced with the text "touch your security key" which a request that the ledger doesn't have any way of doing. Usually, the popup will eventually disappear, so you have to press "connect wallet" to try again, but that just gives you the insatiable popups again. On rare occasion, the "Touch the Key" popup will flash for a few seconds, and actually connect, finally showing the account address selection screen (one of the times though, I couldn't select an account anyway, for some reason...), but even once you access the account, the popups will appear AGAIN and that will never work, because the only way you *might* get the flashing thing is if you clear any data you can think of that could possibly have something to do with the browser, which then might give you a 1/10 chance to create that glitch, which means the device will need to be reconnected.
I've been dealing with this crap for a week now, and I feel deader than I ever have inside except for maybe some really low periods in the years when I hadn't started taking any medicine for MDD. It's a different kind of dead this time, I guess because I'm not quite drowning in existential hopelessness this time.
That said, I would GREATLY appreciate it if anyone could help me solve the issue. I just need to be able to use the account. I don't have any room to care about the ether in the transaction anymore; I just simply want to be able to use the stupid thing. Ledger, can you PLEASE(PLEASE!!!********) include a nonce-configuration interface in the next update, PLEASE!!!!!!!!???!!!!!!!!???
For now, I just need something that will work. Does someone know of any "external wallet" or management tool that the Ledger Nano X should be able to connect to, relatively easily? Or is there a known solution?? Please, I just need to get on with my life...
Edit: I forgot to insert the links to my other posts... anyway they're functional now.
Solution: This string of responses found below
submitted by CaddarkCrypto to ledgerwallet [link] [comments]

ARK. Here's what's it's all about, what's been going on, and what's coming. [Explain Like I'm Busy]

Dude, it said explain like I'm busy I'm not going to read all this

No problem. Check out these hand-picked relevant ARK Crypto Podcast episodes. Learn while you listen, drive to work or home, cook a steak, give your dog a bath, etc.
If you have decided to read all this, thanks, keep reading for a concise breakdown!

So what's the current big thing going on with ARK right NOW?

ARK.io has recently announced on both its blog and its Twitter that ARK Core v2.6 is coming to Mainnet February 11th. The iteration of 2.6 may sound anticlimactic, but it's far from that. Core v2.6 is the biggest upgrade to date- even bigger than the total Core overhaul performed for v2.0, deployed late 2018.
The new version brings new transaction types to the ARK Public Network, including types that will play a role in creating an ecosystem of linked chains. This ecosystem of linked chains will have the ARK Public Network in the center of the action, storing chain details and allowing for chain discovery.
These new transaction types include:
Multipayments — sending to multiple ARK addresses, while just initiating one transaction, saves time and cost
Multisignatures — you can now get all of the benefits of multisignatures where more than one user can propose or spend funds depending on the predefined terms (eg. 2 out of 3 users needed to successfully send tokens, vote, …)
IPFS — register IPFS compliant hashes on the ARK blockchain within Desktop Wallet.
Business & Bridgechain registrations — you can now register your business and bridgechain on the blockchain and soon, you will be able to get verified via our Marketplace to get access to some exciting new features.
Delegate resignation — delegates who don’t want to be voted for anymore can now opt-out of this by simply initiating delegate resignation.
Additionally, the Core v2.6 improves security against double-spend attacks by implementing nonces. Also, massive enhancements were made to the GTI or Generic Transaction Interface, a critical tool for developers who wish to develop decentralized applications.

What is ARK's unique approach to current issues plaguing the blockchain industry?

ARK empowers everyone, regardless of their aim or technical background, to quickly and easily leverage blockchain technology. In the current hype-driven blockchain landscape, ARK acts as a beacon for individuals, groups, and enterprises seeking to apply blockchain technology to both reach their individual goals and affect change in their local community. ARK’s uniquely simple technology stack allows almost anyone to create and deploy standalone blockchains for any use case with an intuitive graphical user interface and experience. These newly created blockchains also known as bridgechains will have the ability to interoperate through ARK SmartBridge Technology. ARK is also reinventing smart contracts with ARK Logic, a collection of tools including custom transaction types, templates, and plugins. ARK Logic brings security, adaptability, and scalability to decentralized computing workflows. Most importantly, the ARK Ecosystem fosters a growing international community of developers, node operators, blockchains, businesses, and enthusiasts who collectively breathe life into this disruptive technology. Get into the interactive whitepaper here.

Tell me about the ARK Public Network

Ok, no problem. Since coming online on March 21, 2017, the APN has operated as a P2P cryptocurrency with fast block times of 8 seconds and low dynamic fees (near a penny and somewhat novel for a DPoS blockchain). However, the end goal of the APN far exceeds that of just a cryptocurrency that is faster and cheaper to use than Bitcoin. I'll explain further in a minute.
The network, as mentioned, is set up as Delegated Proof-of-Stake. This means forging delegates are deemed worthy to secure the chain and add blocks to it by the holders of the ARK token, which vote for delegates using their ARK as vote weight. ARK remains in users' control at all times, and the top 51 delegates in vote weight enter forging status. The network awards each delegate 2 ARK per block (~12,705 ARK/mo) for services rendered. This continues ad infinitum resulting in a declining inflation rate each year (relative to total supply). When users add or remove ARK from a voting wallet address, vote weight adjusts automatically and they don't need to vote again. Voting continues even if user's wallet is offline.
The main uses of ARK as the cryptoasset of the ARK Public Network besides being a P2P cryptocurrency include:
If you're interested in more details about APN uses, check this direct link to that section of whitepaper.

Is team good?

Yes, team good. Team very good. General sentiment among ARK team members is that ARK is a dream project to work on, and this motivates them to do great work on a consistent basis as the ARK technology stack progresses. Very recently, ARK hired an additional half dozen people in various departments, including marketing department. This brings ARK team total to over three dozen experts. The ARK business entity is also well funded with around 10 years of budget. The ARK business entity spends funds in a very sensible manner compared to some other projects who spend with insufficient foresight or discretion.
Members of the board are thoughtful and deliberate, and the CEO FX Thoorens has been hard at work putting a spotlight on ARK, showing an 'intermeshing' of ARK with the global regulatory landscape in regards to crypto. Recently, ARK became a founding member of ADAN, a professional association based in France created to help structure and develop the digital assets industry. Other members include Consensys France and Ledger. ADAN will consult with public authorities, industry leaders and private bodies to promote the use of digital assets and all activities in this sector. This includes exchange platforms, brokers, hardware, protocols, decentralized applications and blockchain technology platforms. Hear FX Thoorens talk more about this in this podcast episode.
The ARK business entity is located in France, but the ARK team is distributed across 10+ countries and multiple continents.

What's going to happen?

Cool stuff. Organizations and open source projects have been stumbling across ARK and really like what they see. Multiple projects are working with ARK technology and are at various stages of development, but since you're busy, I'll highlight the project nOS which recently launched their public testnet and uses ARK technology for their blockchain. nOS also has great things to say about ARK that you can hear in this podcast episode or watch in this video.
We believe that as more businesses, organizations, and open source projects start looking around for blockchain solutions, they will also enjoy ARK's simplicity, flexibility, and feature set. Our powerful technology stack is backed up by a recently upgraded documentation hub for developers.
The product we have that makes it very easy for projects to join the ARK Ecosystem is called the ARK Deployer, which you can learn about in this two minute video. It allows developers from all walks of life to create, customize and launch a standalone blockchain in three simple steps. In the near future, what's going to happen is a big improvement to the Deployer. The ARK Deployer will get an upgraded and more powerful user interface that also facilitates chain management post-launch, as well as interface directly with cloud providers like Digital Ocean to launch genesis node and peers in background. This would allow for a massive leap forward in our vision of 'Point. Click. Blockchain.'
ARK.io is also working on a Marketplace for developers, where custom plugins and tools developed by both ARK.io as well as third parties can be acquired for assembling blockchains much easier. Imagine a wordpress-type environment where you can create a super-powerful and customized blockchain by connecting Legos together. In the same way that early World Wide Web needed WordPress/Squarespace style tools to bring the technology to every business or organization, we believe that this need will be out there for blockchain technology as this new decade progresses.
There is more cool stuff that is going to happen, but I'll wrap it up there for now.

After reading all this stuff, what is it you want me to do?

Well, not make any financial decisions, because that is not the purpose of this information. However, as a developer, there's a lot of interesting things you should know and may want to consider doing. The ARK technology stack uses TypeScript and other JS-style frameworks, so if you know those, you should get excited.
Here's some additional less 'developery' stuff you can do:
Thanks for coming along for the ride of this post. ARK has been out here, it's out here, and it's going to continue to be out here, doing its part to make sure everybody knows that blockchains are, in fact, a thing.
submitted by doubled1c3 to ArkEcosystem [link] [comments]

The elephant in the (Crypto) room: "Mining" and its energy waste

I know this post is a bit of a wall of text but hear me out. I do my best to explain my thoughts on the drawbacks of mining and why cryptos that cut out mining are so important.
"Mining" is a misnomer. To laypeople, using this term to describe the consensus mechanism for Proof of Work cryptocurrencies makes it sound like something productive and worthwhile. Who would criticize someone with the admirable and noble task of working to extract gold from the Earth? A valuable piece of metal is produced thanks to their hard work. But crypto mining is different; while it does have a purpose, it is far from productive.

So what is bitcoin mining? If you're to believe the most basic explanations offered such as from this video (https://www.youtube.com/watch?v=GmOzih6I1zs), miners solve "complex math problems". I can still remember when I heard this for the first time (years ago) and even though I'm pretty mathematically inclined, I had assumed this meant that these complex math problems were actually useful and necessary to 'unlock' those bitcoins somehow, and for a long time I didn't think anything more of it. To my mind, I imagined it like there's a million problems to solve and each time you solve one you get a reward. The math problem might have been, for example, to find the next largest prime. Instead the actual problem is, at its most basic level, nonce finding. See https://en.bitcoin.it/wiki/Nonce. Different coins or forks may use a different problem but the end result is the same - energy is spent solving a pointless problem ('pointless' in the sense that the actual math answer doesn't benefit anyone).

In reality bitcoin mining could be better described as "provably expending energy in exchange for lottery tickets". It's an arms race of everyone competing to waste energy. The more energy wasted, the more likely one is to win the lottery. See here for an example: https://www.youtube.com/watch?v=K8kua5B5K3I&t=2m44s. I find it abhorrent that there are entire businesses (at several scales at that) set up primarily to "mine" bitcoin or other coins. I see videos like this one (Digital Gold: https://www.youtube.com/watch?v=kxbCHlXZ-0U) and think it bizarre that it's considered acceptable for businesses set up to waste energy to protect the network and that people are so sad when the market takes a turn and they have to close up shop. Your business model is to compete with other people to waste energy to earn lottery tickets that have variable value. Those who can lower their operating costs the most will be the most profitable (or with the way difficulty adjustments happen, perhaps the *only* ones profitable). A portion of the money flowing in to buy BitCoin is being used to prop up these wasteful businesses. Because it's considered normal by now people don't get outraged at this fact.

Some people who have been around crypto for years take it for granted that this type of process is necessary for security of the network, and to some extent this misunderstanding is forgivable as it is the oldest method and has worked quite well especially at small scale (not mass adoption) when the total energy expenditure was not all that high. Proof of Stake cryptos have demonstrated this is not the case (that the waste is necessary), and in particular cryptos like Nano with its Delegated Proof of Stake show potential for being just as, if not more, secure than PoW coins due to there being less centralization pressure due to having no significant incentive to trying to control more of the vote versus economies of scale pushing the small miners out of business in PoW. A big part of the reason BitCoin transactions became so expensive in Dec 2017 was that to "buy" a transaction in the BitCoin network you had to pay for a part of the combined energy wastage of the network; the other component being that you're also in a bidding war against other people determined to get their transaction included in the next block. So your transaction fee (aka 'mining fee') is you trying to outbid other people to see who gets to pay for the person wasting electricity. Imagine if each end-user scoffing at the $20+ withdraw fee on coinbase at the time actually understood what was behind that fee rather than thinking of it as a nebulous "network fee".

A quote I saw on cc that exemplifies this mindset is as follows:
"And a chain with no fees has no mechanism to pay for security. There NEED to be fees, they just need to be lower than with fiat payment systems."

So many of the BitCoin clones/forks make some attempt to mitigate this problem by, for example, increasing blocksize or changing other parameters like block times. In the end though, most of them are still based on this method of energy wastage to secure the network, aka Proof of Work.
Now if there were no more efficient method than PoW mining then it might be fair to say that its energy expenditure (comparable to the entire energy use of a small country like Belgium) is a necessary price to pay for the value provided by the unique features of the network. In other words, that the energy cost is 'worth it'. The thing is though, there *are* ways to secure a network with far less (or virtually no) energy cost and Nano provides one such case.

Does anyone else find it insane that people in this space think it's normal the energy waste that goes into so called "mining"? Do we need to re-label mining to something that better reflect its nature? Because the end user is generally not involved with the mining, I think they don't really consider the energy cost that their transactions have. And to most of these people, telling them the entire Nano network can be powered by a single wind turbine probably doesn't mean anything. Does there need to be a grassroots movement to push back against wasteful 'mining'? Laypeople concerned about the environmental impact caused by the energy wastage of cryptos often seem to be under the impression that all crypto is necessarily wasteful. How can we get people to care if at the end of the day they just pay a fee and don't get to see the impact? Nano being feeless is one of its biggest strengths but not just because it saves people using it a little bit of money; it's more the fact it cuts out the massive-scale problem of mining. This is hard to get across in a short slogan like "fast, feeless, scalable" though.
submitted by manageablemanatee to nanocurrency [link] [comments]

I developed a test for people to take before given Bitcoin. Let me know what you think.

Hey all,
I've been talking to family over Christmas who should know about Bitcoin by now (they're libertarians). However, even after years of my mentioning it, they still don't know the basics.
I don't feel comfortable about giving people bitcoin if they don't know even the basics, so I figured I would make a test for them.
Let me know what you think of these questions, and whether you would add any questions or change anything.
Newbie – You should know this before buying Bitcoin
  1. Who is credited with creating Bitcoin?
  2. What is the maximum number of Bitcoin that will ever be created?
  3. What is a “satoshi”?
  4. What do you call the “thing” that holds your Bitcoin?
  5. Who is in charge of Bitcoin – who controls it?
  6. What are some of the major reasons Bitcoin exist?
  7. What’s the point of those weird 12 or 24 words (Your pneumonic phrase of your private keys) when you open a wallet?
  8. Why does it cost Bitcoin to send Bitcoin?
  9. What’s the difference between a “wallet” and an “address”?
  10. What is the 3-letter “ticker” symbol for Bitcoin? Ethereum?
  11. You might have heard of “Bitcoin Cash” or “Bitcoin Gold”, or “Bitcoin Core”. These are all different. Which one is most widely considered “Bitcoin” (that is, which is the “official” name of “Bitcoin”)?
  12. What’s the difference between a “hot” and “cold” wallet?
  13. Can you send “Bitcoin” to a Bitcoin Cash or Bitcoin Gold address?
  14. Is it a problem if someone else knows the 12-24 word phrase of your wallet?
  15. How many wallets can you name?
  16. What is a QR code?
Basic – You should know this before you claim to ‘know what Bitcoin is’
  1. What is the job of a miner?
  2. What do we call the system used to secure the blockchain? (Hint: “Proof...”)
  3. What is the job of the developers?
  4. Give an example of an “off-chain transaction”.
  5. What is a node and how does it pertain to mining?
  6. What is a “hash”?
  7. Describe the connection between “difficulty rating”, “hash rates”, and the time between blocks.
  8. Finish this sentence: “Not your keys...”
  9. What is a “fork” of the blockchain?
  10. What are the two types of “forks”?
  11. Three of the following are tied closely to Bitcoin, which ones? “Schnorr Signatures”, “Mimble Wimble”, “Monero”, “Lightning Network”, “Thunder Payments”, “Segregated Witness”, “Nonce Detanglers”, “Node Burners”.
  12. What is the program used to encrypt Bitcoin? (Hint, it starts with an “S” and ends with “6”)
  13. How much data can fit inside a single block?
  14. Is your private key pretty much the same thing as your “12-24 word pneumonic phrase”?
  15. If you lose your wallet, and have your pneumonic phrase, can you still access your Bitcoin?
submitted by EvanGRogers to Bitcoin [link] [comments]

Searching for the Unicorn Cryptocurrency

Searching for the Unicorn Cryptocurrency
For someone first starting out as a cryptocurrency investor, finding a trustworthy manual for screening a cryptocurrency’s merits is nonexistent as we are still in the early, Wild West days of the cryptocurrency market. One would need to become deeply familiar with the inner workings of blockchain to be able to perform the bare minimum due diligence.
One might believe, over time, that finding the perfect cryptocurrency may be nothing short of futile. If a cryptocurrency purports infinite scalability, then it is probably either lightweight with limited features or it is highly centralized among a limited number of nodes that perform consensus services especially Proof of Stake or Delegated Proof of Stake. Similarly, a cryptocurrency that purports comprehensive privacy may have technical obstacles to overcome if it aims to expand its applications such as in smart contracts. The bottom line is that it is extremely difficult for a cryptocurrency to have all important features jam-packed into itself.
The cryptocurrency space is stuck in the era of the “dial-up internet” in a manner of speaking. Currently blockchain can’t scale – not without certain tradeoffs – and it hasn’t fully resolved certain intractable issues such as user-unfriendly long addresses and how the blockchain size is forever increasing to name two.
In other words, we haven’t found the ultimate cryptocurrency. That is, we haven’t found the mystical unicorn cryptocurrency that ushers the era of decentralization while eschewing all the limitations of traditional blockchain systems.
“But wait – what about Ethereum once it implements sharding?”
“Wouldn’t IOTA be able to scale infinitely with smart contracts through its Qubic offering?”
“Isn’t Dash capable of having privacy, smart contracts, and instantaneous transactions?”
Those thoughts and comments may come from cryptocurrency investors who have done their research. It is natural for the informed investors to invest in projects that are believed to bring cutting edge technological transformation to blockchain. Sooner or later, the sinking realization will hit that any variation of the current blockchain technology will always likely have certain limitations.
Let us pretend that there indeed exists a unicorn cryptocurrency somewhere that may or may not be here yet. What would it look like, exactly? Let us set the 5 criteria of the unicorn cryptocurrency:
Unicorn Criteria
(1) Perfectly solves the blockchain trilemma:
o Infinite scalability
o Full security
o Full decentralization
(2) Zero or minimal transaction fee
(3) Full privacy
(4) Full smart contract capabilities
(5) Fair distribution and fair governance
For each of the above 5 criteria, there would not be any middle ground. For example, a cryptocurrency with just an in-protocol mixer would not be considered as having full privacy. As another example, an Initial Coin Offering (ICO) may possibly violate criterion (5) since with an ICO the distribution and governance are often heavily favored towards an oligarchy – this in turn would defy the spirit of decentralization that Bitcoin was found on.
There is no cryptocurrency currently that fits the above profile of the unicorn cryptocurrency. Let us examine an arbitrary list of highly hyped cryptocurrencies that meet the above list at least partially. The following list is by no means comprehensive but may be a sufficient sampling of various blockchain implementations:
Bitcoin (BTC)
Bitcoin is the very first and the best known cryptocurrency that started it all. While Bitcoin is generally considered extremely secure, it suffers from mining centralization to a degree. Bitcoin is not anonymous, lacks smart contracts, and most worrisomely, can only do about 7 transactions per seconds (TPS). Bitcoin is not the unicorn notwithstanding all the Bitcoin maximalists.
Ethereum (ETH)
Ethereum is widely considered the gold standard of smart contracts aside from its scalability problem. Sharding as part of Casper’s release is generally considered to be the solution to Ethereum’s scalability problem.
The goal of sharding is to split up validating responsibilities among various groups or shards. Ethereum’s sharding comes down to duplicating the existing blockchain architecture and sharing a token. This does not solve the core issue and simply kicks the can further down the road. After all, full nodes still need to exist one way or another.
Ethereum’s blockchain size problem is also an issue as will be explained more later in this article.
As a result, Ethereum is not the unicorn due to its incomplete approach to scalability and, to a degree, security.
Dash
Dash’s masternodes are widely considered to be centralized due to their high funding requirements, and there are accounts of a pre-mine in the beginning. Dash is not the unicorn due to its questionable decentralization.
Nano
Nano boasts rightfully for its instant, free transactions. But it lacks smart contracts and privacy, and it may be exposed to well orchestrated DDOS attacks. Therefore, it goes without saying that Nano is not the unicorn.
EOS
While EOS claims to execute millions of transactions per seconds, a quick glance reveals centralized parameters with 21 nodes and a questionable governance system. Therefore, EOS fails to achieve the unicorn status.
Monero (XMR)
One of the best known and respected privacy coins, Monero lacks smart contracts and may fall short of infinite scalability due to CryptoNote’s design. The unicorn rank is out of Monero’s reach.
IOTA
IOTA’s scalability is based on the number of transactions the network processes, and so its supposedly infinite scalability would fluctuate and is subject to the whims of the underlying transactions. While IOTA’s scalability approach is innovative and may work in the long term, it should be reminded that the unicorn cryptocurrency has no middle ground. The unicorn cryptocurrency would be expected to scale infinitely on a consistent basis from the beginning.
In addition, IOTA’s Masked Authenticated Messaging (MAM) feature does not bring privacy to the masses in a highly convenient manner. Consequently, the unicorn is not found with IOTA.

PascalCoin as a Candidate for the Unicorn Cryptocurrency
Please allow me to present a candidate for the cryptocurrency unicorn: PascalCoin.
According to the website, PascalCoin claims the following:
“PascalCoin is an instant, zero-fee, infinitely scalable, and decentralized cryptocurrency with advanced privacy and smart contract capabilities. Enabled by the SafeBox technology to become the world’s first blockchain independent of historical operations, PascalCoin possesses unlimited potential.”
The above summary is a mouthful to be sure, but let’s take a deep dive on how PascalCoin innovates with the SafeBox and more. Before we do this, I encourage you to first become acquainted with PascalCoin by watching the following video introduction:
https://www.youtube.com/watch?time_continue=4&v=F25UU-0W9Dk
The rest of this section will be split into 10 parts in order to illustrate most of the notable features of PascalCoin. Naturally, let’s start off with the SafeBox.
Part #1: The SafeBox
Unlike traditional UTXO-based cryptocurrencies in which the blockchain records the specifics of each transaction (address, sender address, amount of funds transferred, etc.), the blockchain in PascalCoin is only used to mutate the SafeBox. The SafeBox is a separate but equivalent cryptographic data structure that snapshots account balances. PascalCoin’s blockchain is comparable to a machine that feeds the most important data – namely, the state of an account – into the SafeBox. Any node can still independently compute and verify the cumulative Proof-of-Work required to construct the SafeBox.
The PascalCoin whitepaper elegantly highlights the unique historical independence that the SafeBox possesses:
“While there are approaches that cryptocurrencies could use such as pruning, warp-sync, "finality checkpoints", UTXO-snapshotting, etc, there is a fundamental difference with PascalCoin. Their new nodes can only prove they are on most-work-chain using the infinite history whereas in PascalCoin, new nodes can prove they are on the most-work chain without the infinite history.”
Some cryptocurrency old-timers might instinctively balk at the idea of full nodes eschewing the entire history for security, but such a reaction would showcase a lack of understanding on what the SafeBox really does.
A concrete example would go a long way to best illustrate what the SafeBox does. Let’s say I input the following operations in my calculator:
5 * 5 – 10 / 2 + 5
It does not take a genius to calculate the answer, 25. Now, the expression “5 \ 5 – 10 / 2 + 5”* would be forever imbued on a traditional blockchain’s history. But the SafeBox begs to differ. It says that the expression “5 \ 5 – 10 / 2 + 5”* should instead be simply “25” so as preserve simplicity, time, and space. In other words, the SafeBox simply preserves the account balance.
But some might still be unsatisfied and claim that if one cannot trace the series of operations (transactions) that lead to the final number (balance) of 25, the blockchain is inherently insecure.
Here are four important security aspects of the SafeBox that some people fail to realize:
(1) SafeBox Follows the Longest Chain of Proof-of-Work
The SafeBox mutates itself per 100 blocks. Each new SafeBox mutation must reference both to the previous SafeBox mutation and the preceding 100 blocks in order to be valid, and the resultant hash of the new mutated SafeBox must then be referenced by each of the new subsequent blocks, and the process repeats itself forever.
The fact that each new SafeBox mutation must reference to the previous SafeBox mutation is comparable to relying on the entire history. This is because the previous SafeBox mutation encapsulates the result of cumulative entire history except for the 100 blocks which is why each new SafeBox mutation requires both the previous SafeBox mutation and the preceding 100 blocks.
So in a sense, there is a single interconnected chain of inflows and outflows, supported by Byzantine Proof-of-Work consensus, instead of the entire history of transactions.
More concretely, the SafeBox follows the path of the longest chain of Proof-of-Work simply by design, and is thus cryptographically equivalent to the entire history even without tracing specific operations in the past. If the chain is rolled back with a 51% attack, only the attacker’s own account(s) in the SafeBox can be manipulated as is explained in the next part.
(2) A 51% Attack on PascalCoin Functions the Same as Others
A 51% attack on PascalCoin would work in a similar way as with other Proof-of-Work cryptocurrencies. An attacker cannot modify a transaction in the past without affecting the current SafeBox hash which is accepted by all honest nodes.
Someone might claim that if you roll back all the current blocks plus the 100 blocks prior to the SafeBox’s mutation, one could create a forged SafeBox with different balances for all accounts. This would be incorrect as one would be able to manipulate only his or her own account(s) in the SafeBox with a 51% attack – just as is the case with other UTXO cryptocurrencies. The SafeBox stores the balances of all accounts which are in turn irreversibly linked only to their respective owners’ private keys.
(3) One Could Preserve the Entire History of the PascalCoin Blockchain
No blockchain data in PascalCoin is ever deleted even in the presence of the SafeBox. Since the SafeBox is cryptographically equivalent to a full node with the entire history as explained above, PascalCoin full nodes are not expected to contain infinite history. But for whatever reason(s) one may have, one could still keep all the PascalCoin blockchain history as well along with the SafeBox as an option even though it would be redundant.
Without storing the entire history of the PascalCoin blockchain, you can still trace the specific operations of the 100 blocks prior to when the SafeBox absorbs and reflects the net result (a single balance for each account) from those 100 blocks. But if you’re interested in tracing operations over a longer period in the past – as redundant as that may be – you’d have the option to do so by storing the entire history of the PascalCoin blockchain.
(4) The SafeBox is Equivalent to the Entire Blockchain History
Some skeptics may ask this question: “What if the SafeBox is forever lost? How would you be able to verify your accounts?” Asking this question is tantamount to asking to what would happen to Bitcoin if all of its entire history was erased. The result would be chaos, of course, but the SafeBox is still in line with the general security model of a traditional blockchain with respect to black swans.
Now that we know the security of the SafeBox is not compromised, what are the implications of this new blockchain paradigm? A colorful illustration as follows still wouldn’t do justice to the subtle revolution that the SafeBox ushers. The automobiles we see on the street are the cookie-and-butter representation of traditional blockchain systems. The SafeBox, on the other hand, supercharges those traditional cars to become the Transformers from Michael Bay’s films.
The SafeBox is an entirely different blockchain architecture that is impressive in its simplicity and ingenuity. The SafeBox’s design is only the opening act for PascalCoin’s vast nuclear arsenal. If the above was all that PascalCoin offers, it still wouldn’t come close to achieving the unicorn status but luckily, we have just scratched the surface. Please keep on reading on if you want to learn how PascalCoin is going to shatter the cryptocurrency industry into pieces. Buckle down as this is going to be a long read as we explore further about the SafeBox’s implications.
Part #2: 0-Confirmation Transactions
To begin, 0-confirmation transactions are secure in PascalCoin thanks to the SafeBox.
The following paraphrases an explanation of PascalCoin’s 0-confirmations from the whitepaper:
“Since PascalCoin is not a UTXO-based currency but rather a State-based currency thanks to the SafeBox, the security guarantee of 0-confirmation transactions are much stronger than in UTXO-based currencies. For example, in Bitcoin if a merchant accepts a 0-confirmation transaction for a coffee, the buyer can simply roll that transaction back after receiving the coffee but before the transaction is confirmed in a block. The way the buyer does this is by re-spending those UTXOs to himself in a new transaction (with a higher fee) thus invalidating them for the merchant. In PascalCoin, this is virtually impossible since the buyer's transaction to the merchant is simply a delta-operation to debit/credit a quantity from/to accounts respectively. The buyer is unable to erase or pre-empt this two-sided, debit/credit-based transaction from the network’s pending pool until it either enters a block for confirmation or is discarded with respect to both sender and receiver ends. If the buyer tries to double-spend the coffee funds after receiving the coffee but before they clear, the double-spend transaction will not propagate the network since nodes cannot propagate a double-spending transaction thanks to the debit/credit nature of the transaction. A UTXO-based transaction is initially one-sided before confirmation and therefore is more exposed to one-sided malicious schemes of double spending.”
Phew, that explanation was technical but it had to be done. In summary, PascalCoin possesses the only secure 0-confirmation transactions in the cryptocurrency industry, and it goes without saying that this means PascalCoin is extremely fast. In fact, PascalCoin is capable of 72,000 TPS even prior to any additional extensive optimizations down the road. In other words, PascalCoin is as instant as it gets and gives Nano a run for its money.
Part #3: Zero Fee
Let’s circle back to our discussion of PascalCoin’s 0-confirmation capability. Here’s a little fun magical twist to PascalCoin’s 0-confirmation magic: 0-confirmation transactions are zero-fee. As in you don’t pay a single cent in fee for each 0-confirmation! There is just a tiny downside: if you create a second transaction in a 5-minute block window then you’d need to pay a minimal fee. Imagine using Nano but with a significantly stronger anti-DDOS protection for spam! But there shouldn’t be any complaint as this fee would amount to 0.0001 Pascal or $0.00002 based on the current price of a Pascal at the time of this writing.
So, how come the fee for blazingly fast transactions is nonexistent? This is where the magic of the SafeBox arises in three ways:
(1) PascalCoin possesses the secure 0-confirmation feature as discussed above that enables this speed.
(2) There is no fee bidding competition of transaction priority typical in UTXO cryptocurrencies since, once again, PascalCoin operates on secure 0-confirmations.
(3) There is no fee incentive needed to run full nodes on behalf of the network’s security beyond the consensus rewards.
Part #4: Blockchain Size
Let’s expand more on the third point above, using Ethereum as an example. Since Ethereum’s launch in 2015, its full blockchain size is currently around 2 TB, give or take, but let’s just say its blockchain size is 100 GB for now to avoid offending the Ethereum elitists who insist there are different types of full nodes that are lighter. Whoever runs Ethereum’s full nodes would expect storage fees on top of the typical consensus fees as it takes significant resources to shoulder Ethereum’s full blockchain size and in turn secure the network. What if I told you that PascalCoin’s full blockchain size will never exceed few GBs after thousands of years? That is just what the SafeBox enables PascalCoin to do so. It is estimated that by 2072, PascalCoin’s full nodes will only be 6 GB which is low enough not to warrant any fee incentives for hosting full nodes. Remember, the SafeBox is an ultra-light cryptographic data structure that is cryptographically equivalent to a blockchain with the entire transaction history. In other words, the SafeBox is a compact spreadsheet of all account balances that functions as PascalCoin’s full node!
Not only does the SafeBox’s infinitesimal memory size helps to reduce transaction fees by phasing out any storage fees, but it also paves the way for true decentralization. It would be trivial for every PascalCoin user to opt a full node in the form of a wallet. This is extreme decentralization at its finest since the majority of users of other cryptocurrencies ditch full nodes due to their burdensome sizes. It is naïve to believe that storage costs would reduce enough to the point where hosting full nodes are trivial. Take a look at the following chart outlining the trend of storage cost.

* https://www.backblaze.com/blog/hard-drive-cost-per-gigabyte/
As we can see, storage costs continue to decrease but the descent is slowing down as is the norm with technological improvements. In the meantime, blockchain sizes of other cryptocurrencies are increasing linearly or, in the case of smart contract engines like Ethereum, parabolically. Imagine a cryptocurrency smart contract engine like Ethereum garnering worldwide adoption; how do you think Ethereum’s size would look like in the far future based on the following chart?


https://i.redd.it/k57nimdjmo621.png

Ethereum’s future blockchain size is not looking pretty in terms of sustainable security. Sharding is not a fix for this issue since there still needs to be full nodes but that is a different topic for another time.
It is astonishing that the cryptocurrency community as a whole has passively accepted this forever-expanding-blockchain-size problem as an inescapable fate.
PascalCoin is the only cryptocurrency that has fully escaped the death vortex of forever expanding blockchain size. Its blockchain size wouldn’t exceed 10 GB even after many hundreds of years of worldwide adoption. Ethereum’s blockchain size after hundreds of years of worldwide adoption would make fine comedy.
Part #5: Simple, Short, and Ordinal Addresses
Remember how the SafeBox works by snapshotting all account balances? As it turns out, the account address system is almost as cool as the SafeBox itself.
Imagine yourself in this situation: on a very hot and sunny day, you’re wandering down the street across from your house and ran into a lemonade stand – the old-fashioned kind without any QR code or credit card terminal. The kid across you is selling a lemonade cup for 1 Pascal with a poster outlining the payment address as 5471-55. You flip out your phone and click “Send” with 1 Pascal to the address 5471-55; viola, exactly one second later you’re drinking your lemonade without paying a cent for the transaction fee!
The last thing one wants to do is to figure out how to copy/paste to, say, the following address 1BoatSLRHtKNngkdXEeobR76b53LETtpyT on the spot wouldn’t it? Gone are the obnoxiously long addresses that plague all cryptocurrencies. The days of those unreadable addresses will be long gone – it has to be if blockchain is to innovate itself for the general public. EOS has a similar feature for readable addresses but in a very limited manner in comparison, and nicknames attached to addresses in GUIs don’t count since blockchain-wide compatibility wouldn’t hold.
Not only does PascalCoin has the neat feature of having addresses (called PASAs) that amount to up to 6 or 7 digits, but PascalCoin can also incorporate in-protocol address naming as opposed to GUI address nicknames. Suppose I want to order something from Amazon using Pascal; I simply search the word “Amazon” then the corresponding account number shows up. Pretty neat, right?
The astute reader may gather that PascalCoin’s address system makes it necessary to commoditize addresses, and he/she would be correct. Some view this as a weakness; part #10 later in this segment addresses this incorrect perception.
Part #6: Privacy
As if the above wasn’t enough, here’s another secret that PascalCoin has: it is a full-blown privacy coin. It uses two separate foundations to achieve comprehensive anonymity: in-protocol mixer for transfer amounts and zn-SNARKs for private balances. The former has been implemented and the latter is on the roadmap. Both the 0-confirmation transaction and the negligible transaction fee would make PascalCoin the most scalable privacy coin of any other cryptocurrencies pending the zk-SNARKs implementation.
Part #7: Smart Contracts
Next, PascalCoin will take smart contracts to the next level with a layer-2 overlay consensus system that pioneers sidechains and other smart contract implementations.
In formal terms, this layer-2 architecture will facilitate the transfer of data between PASAs which in turn allows clean enveloping of layer-2 protocols inside layer-1 much in the same way that HTTP lives inside TCP.
To summarize:
· The layer-2 consensus method is separate from the layer-1 Proof-of-Work. This layer-2 consensus method is independent and flexible. A sidechain – based on a single encompassing PASA – could apply Proof-of-Stake (POS), Delegated Proof-of-Stake (DPOS), or Directed Acyclic Graph (DAG) as the consensus system of its choice.
· Such a layer-2 smart contract platform can be written in any languages.
· Layer-2 sidechains will also provide very strong anonymity since funds are all pooled and keys are not used to unlock them.
· This layer-2 architecture is ingenious in which the computation is separate from layer-2 consensus, in effect removing any bottleneck.
· Horizontal scaling exists in this paradigm as there is no interdependence between smart contracts and states are not managed by slow sidechains.
· Speed and scalability are fully independent of PascalCoin.
One would be able to run the entire global financial system on PascalCoin’s infinitely scalable smart contract platform and it would still scale infinitely. In fact, this layer-2 architecture would be exponentially faster than Ethereum even after its sharding is implemented.
All this is the main focus of PascalCoin’s upcoming version 5 in 2019. A whitepaper add-on for this major upgrade will be released in early 2019.
Part #8: RandomHash Algorithm
Surely there must be some tradeoffs to PascalCoin’s impressive capabilities, you might be asking yourself. One might bring up the fact that PascalCoin’s layer-1 is based on Proof-of-Work and is thus susceptible to mining centralization. This would be a fallacy as PascalCoin has pioneered the very first true ASIC, GPU, and dual-mining resistant algorithm known as RandomHash that obliterates anything that is not CPU based and gives all the power back to solo miners.
Here is the official description of RandomHash:
“RandomHash is a high-level cryptographic hash algorithm that combines other well-known hash primitives in a highly serial manner. The distinguishing feature is that calculations for a nonce are dependent on partial calculations of other nonces, selected at random. This allows a serial hasher (CPU) to re-use these partial calculations in subsequent mining saving 50% or more of the work-load. Parallel hashers (GPU) cannot benefit from this optimization since the optimal nonce-set cannot be pre-calculated as it is determined on-the-fly. As a result, parallel hashers (GPU) are required to perform the full workload for every nonce. Also, the algorithm results in 10x memory bloat for a parallel implementation. In addition to its serial nature, it is branch-heavy and recursive making in optimal for CPU-only mining.”
One might be understandably skeptical of any Proof-of-Work algorithm that solves ASIC and GPU centralization once for all because there have been countless proposals being thrown around for various algorithms since the dawn of Bitcoin. Is RandomHash truly the ASIC & GPU killer that it claims to be?
Herman Schoenfeld, the inventor behind RandomHash, described his algorithm in the following:
“RandomHash offers endless ASIC-design breaking surface due to its use of recursion, hash algo selection, memory hardness and random number generation.
For example, changing how round hash selection is made and/or random number generator algo and/or checksum algo and/or their sequencing will totally break an ASIC design. Conceptually if you can significantly change the structure of the output assembly whilst keeping the high-level algorithm as invariant as possible, the ASIC design will necessarily require proportional restructuring. This results from the fact that ASIC designs mirror the ASM of the algorithm rather than the algorithm itself.”
Polyminer1 (pseudonym), one of the members of the PascalCoin core team who developed RHMiner (official software for mining RandomHash), claimed as follows:
“The design of RandomHash is, to my experience, a genuine innovation. I’ve been 30 years in the field. I’ve rarely been surprised by anything. RandomHash was one of my rare surprises. It’s elegant, simple, and achieves resistance in all fronts.”
PascalCoin may have been the first party to achieve the race of what could possibly be described as the “God algorithm” for Proof-of-Work cryptocurrencies. Look no further than one of Monero’s core developers since 2015, Howard Chu. In September 2018, Howard declared that he has found a solution, called RandomJS, to permanently keep ASICs off the network without repetitive algorithm changes. This solution actually closely mirrors RandomHash’s algorithm. Discussing about his algorithm, Howard asserted that “RandomJS is coming at the problem from a direction that nobody else is.”
Link to Howard Chu’s article on RandomJS:
https://www.coindesk.com/one-musicians-creative-solution-to-drive-asics-off-monero
Yet when Herman was asked about Howard’s approach, he responded:
“Yes, looks like it may work although using Javascript was a bit much. They should’ve just used an assembly subset and generated random ASM programs. In a way, RandomHash does this with its repeated use of random mem-transforms during expansion phase.”
In the end, PascalCoin may have successfully implemented the most revolutionary Proof-of-Work algorithm, one that eclipses Howard’s burgeoning vision, to date that almost nobody knows about. To learn more about RandomHash, refer to the following resources:
RandomHash whitepaper:
https://www.pascalcoin.org/storage/whitepapers/RandomHash_Whitepaper.pdf
Technical proposal for RandomHash:
https://github.com/PascalCoin/PascalCoin/blob/mastePIP/PIP-0009.md
Someone might claim that PascalCoin still suffers from mining centralization after RandomHash, and this is somewhat misleading as will be explained in part #10.
Part #9: Fair Distribution and Governance
Not only does PascalCoin rest on superior technology, but it also has its roots in the correct philosophy of decentralized distribution and governance. There was no ICO or pre-mine, and the developer fund exists as a percentage of mining rewards as voted by the community. This developer fund is 100% governed by a decentralized autonomous organization – currently facilitated by the PascalCoin Foundation – that will eventually be transformed into an autonomous smart contract platform. Not only is the developer fund voted upon by the community, but PascalCoin’s development roadmap is also voted upon the community via the Protocol Improvement Proposals (PIPs).
This decentralized governance also serves an important benefit as a powerful deterrent to unseemly fork wars that befall many cryptocurrencies.
Part #10: Common Misconceptions of PascalCoin
“The branding is terrible”
PascalCoin is currently working very hard on its image and is preparing for several branding and marketing initiatives in the short term. For example, two of the core developers of the PascalCoin recently interviewed with the Fox Business Network. A YouTube replay of this interview will be heavily promoted.
Some people object to the name PascalCoin. First, it’s worth noting that PascalCoin is the name of the project while Pascal is the name of the underlying currency. Secondly, Google and YouTube received excessive criticisms back then in the beginning with their name choices. Look at where those companies are nowadays – surely a somewhat similar situation faces PascalCoin until the name’s familiarity percolates into the public.
“The wallet GUI is terrible”
As the team is run by a small yet extremely dedicated developers, multiple priorities can be challenging to juggle. The lack of funding through an ICO or a pre-mine also makes it challenging to accelerate development. The top priority of the core developers is to continue developing full-time on the groundbreaking technology that PascalCoin offers. In the meantime, an updated and user-friendly wallet GUI has been worked upon for some time and will be released in due time. Rome wasn’t built in one day.
“One would need to purchase a PASA in the first place”
This is a complicated topic since PASAs need to be commoditized by the SafeBox’s design, meaning that PASAs cannot be obtained at no charge to prevent systematic abuse. This raises two seemingly valid concerns:
· As a chicken and egg problem, how would one purchase a PASA using Pascal in the first place if one cannot obtain Pascal without a PASA?
· How would the price of PASAs stay low and affordable in the face of significant demand?
With regards to the chicken and egg problem, there are many ways – some finished and some unfinished – to obtain your first PASA as explained on the “Get Started” page on the PascalCoin website:
https://www.pascalcoin.org/get_started
More importantly, however, is the fact that there are few methods that can get your first PASA for free. The team will also release another method soon in which you could obtain your first PASA for free via a single SMS message. This would probably become by far the simplest and the easiest way to obtain your first PASA for free. There will be more new ways to easily obtain your first PASA for free down the road.
What about ensuring the PASA market at large remains inexpensive and affordable following your first (and probably free) PASA acquisition? This would be achieved in two ways:
· Decentralized governance of the PASA economics per the explanation in the FAQ section on the bottom of the PascalCoin website (https://www.pascalcoin.org/)
· Unlimited and free pseudo-PASAs based on layer-2 in the next version release.
“PascalCoin is still centralized after the release of RandomHash”
Did the implementation of RandomHash from version 4 live up to its promise?
The official goals of RandomHash were as follow:
(1) Implement a GPU & ASIC resistant hash algorithm
(2) Eliminate dual mining
The two goals above were achieved by every possible measure.
Yet a mining pool, Nanopool, was able to regain its hash majority after a significant but a temporary dip.
The official conclusion is that, from a probabilistic viewpoint, solo miners are more profitable than pool miners. However, pool mining is enticing for solo miners who 1) have limited hardware as it ensures a steady income instead of highly profitable but probabilistic income via solo mining, and 2) who prefer convenient software and/or GUI.
What is the next step, then? While the barrier of entry for solo miners has successfully been put down, additional work needs to be done. The PascalCoin team and the community are earnestly investigating additional steps to improve mining decentralization with respect to pool mining specifically to add on top of RandomHash’s successful elimination of GPU, ASIC, and dual-mining dominance.
It is likely that the PascalCoin community will promote the following two initiatives in the near future:
(1) Establish a community-driven, nonprofit mining pool with attractive incentives.
(2) Optimize RHMiner, PascalCoin’s official solo mining software, for performance upgrades.
A single pool dominance is likely short lived once more options emerge for individual CPU miners who want to avoid solo mining for whatever reason(s).
Let us use Bitcoin as an example. Bitcoin mining is dominated by ASICs and mining pools but no single pool is – at the time of this writing – even close on obtaining the hash majority. With CPU solo mining being a feasible option in conjunction with ASIC and GPU mining eradication with RandomHash, the future hash rate distribution of PascalCoin would be far more promising than Bitcoin’s hash rate distribution.
PascalCoin is the Unicorn Cryptocurrency
If you’ve read this far, let’s cut straight to the point: PascalCoin IS the unicorn cryptocurrency.
It is worth noting that PascalCoin is still a young cryptocurrency as it was launched at the end of 2016. This means that many features are still work in progress such as zn-SNARKs, smart contracts, and pool decentralization to name few. However, it appears that all of the unicorn criteria are within PascalCoin’s reach once PascalCoin’s technical roadmap is mostly completed.
Based on this expository on PascalCoin’s technology, there is every reason to believe that PascalCoin is the unicorn cryptocurrency. PascalCoin also solves two fundamental blockchain problems beyond the unicorn criteria that were previously considered unsolvable: blockchain size and simple address system. The SafeBox pushes PascalCoin to the forefront of cryptocurrency zeitgeist since it is a superior solution compared to UTXO, Directed Acyclic Graph (DAG), Block Lattice, Tangle, and any other blockchain innovations.


THE UNICORN

Author: Tyler Swob
submitted by Kosass to CryptoCurrency [link] [comments]

Can someone explain me in simple terms what exactly is "solving a hard mathematical problem" in relation to bitcoin miners?

I have read several blogs and several small books but none of the book could explain easily how does exactly a bitcoin generated. I know the following things:
  1. After every 10 minutes, a block is generated which contains all the transactions that happened since the last block got verified.
  2. All the miners try to verify the newly generated block. It's a hard mathematical problem which requires extensive computation. The miner which solves that problem gets 12.5 Btc in reward.
I am confused about that mathematical problem. What is that? Is it finding a key by brute force method for the newly generated hash of the newly generated block? Why is it so hard? Is it because the hash generated becomes longer and longer as the number of transactions have increased? Or is the hash generated contains all knowledge of the transaction since the first bitcoin generated?
Can some one explain me in simple terms? I want to make other people understand the value of bitcoin but get confused myself while explaining them.
P.S. I am a technical person and have no difficulty in understanding the mathematics.
submitted by kumartarun to Bitcoin [link] [comments]

Surae's (me) end-of-November (2017!) update.

You can check it out on the forums here. Here's a copypasta:
Surae's End of November (2017!) Update
Hello, everyone! Sarang posted his update a few days ago to give the community time to review his work before the end of the month. I was hoping to finish multisig off before the end of this month... so I held off on writing this update until then... but it looks like I'm somewhere between 2 days and a week behind on that estimate.
MRL Announcements
Meetings. We are holding weekly meetings on Mondays at 17:00 UTC. Logs are to be posted on my github soon(tm). Usually we alternate between "office hours" and "research meetings." At office hours, we want members of the community to come in and be able to ask questions, so we are considering opening up a relay to the freenode channel during office hours times, unless things get out of hand.
POW-Difficulty Replacement Contest. Some time in December, I am going to formalize an FFS "idea" to open up a multiple-round contest for possible replacements for our proof of work game. The first round would have a 3- or 6-month deadline. Personally, I would love it if this FFS could have an unbounded reward amount. If the community is extremely generous, we could easily whip up a large enough reward to spur lots and lots of interest across the world.
The Bitcoin POW game uses SHA256 to find nonces that produce hashes with sufficiently small digests according to the Bitcoin difficulty metric. Our current POW game uses CryptoNight to find nonces that produce hashes with sufficiently small digests according to the CryptoNote difficulty metric. The winner need not be proof of work. My current thoughts are roughly this:
All submissions will be public. Submissions that minimize incentives for centralized mining (or maximize disincentives) will be preferred over submissions that do not. Submissions that are elegant will be preferred over submissions that are not. Submissions that have provable claims about desirable properties will be preferred over submissions that do not (e.g. for either the Bitcoin or the Monero POW games, the necessary and sufficient network conditions for these games to produce blocks in a Poisson process have not been identified, to my understanding). Submissions that have a smaller environmental impact will be preferred over submissions that have a larger impact. And so on. I would like as many ideas as possible about a judging rubric for the first round. Especially if a large amount of money will be put up as a prize.
The details of the next round would be announced along with the winners of the first round. The reward funds should be released when a set of judges agree on a winner. MRL and Monero Core should each have representation on the panel of judges, and there ought to be at least one independent judge not directly associated with the Monero Project, like Peter Todd, Tim Ruffing, or someone along those lines. But, again, this is just an idea. If the community doesn't like it, we can drop it.
Here is a rundown for November
Multisig. Almost done. I know, I know, it's been forever. We, as a community, have recently come to see how important it is to carefully and formally ensure the correctness of our schemes before proceeding. Multisig is a delicate thing because a naively implemented multisig can reveal information about the participants.
I'm finishing vetting key creation today, finishing signatures tomorrow and the next day. Then I'm passing the result off to moneromooo and luigi to ensure that my description of their code is accurate up to their understanding. Then onto Sarang for final reviews before submission, hopefully by the end of the month. I have my life until Sunday evening blocked off to finish this. A copy of the document will be made available to the community ASAP (an older version is on my github), after more checking and writing is completed.
This whitepaper on multisig will be broken into two papers: one will be intended for peer review describing multi-ring signatures, and one will be a Monero Standard. More about that later...
RTRS RingCT column-linkability and amortization. You may say "what? I thought we were putting RTRS RingCT on the back burner?" Well, I'm still think ing about amortization of signatures. I'm thinking it will be possible (although perhaps not feasible) for miners to include amortized signatures upon finding new blocks. This would allow users to cite an amortized signature for fast verification, but has some possible drawbacks. But more exciting, I'm also chatting with Tim Ruffing, one of the authors on the RTRS RingCT papers: he thinks he has a solution to our "linkability by columns" problem with MLSAG and RingCT. Currently we try to avoid using more than one ring signature per recipient. This avoids linking distinct outputs based on bundling of these ring signatures. Ruffing believes RTRS RingCT can be tweaked to prove several commitments in a vector of commitments; this would allow a single RTRS RingCT to be computed and checked for each output being spent.
Once all the details are checked, I'll write up a document and make a copy of it available to the community. If it works, of course.
Consequences of bulletproofs. In my last end-of-month update I hinted at issues with an exponential space-time trade-off in RTRS RingCT. Due to the speed and space savings with bulletproofs, it may now be feasible to implement RTRS RingCT. With improved verification time savings with bulletproofs we can relax our requirements for verification times for signatures. This will allow the slightly longer verification times of RTRS RingCT to be counter-acted. Solving the problem "what ring sizes can we really get away with?" involves some modeling and solving some linear programming problems (linear programming, or linear optimization, is an anachronistically named area of applied mathematics involved with optimizing logistic problems... see here for more information).
Hence, we will be inserting bulletproofs into Monero with low friction, and then we will look into the logistics of moving to RTRS RingCT.
Monero Standards. Right now, we don't have a comprehensive list of how Monero works, all the various primitives and how they all fit together. Sarang and I have begun working on some Monero Standards that are similar to the original Cryptonote Standards (see here for more information). For each standard, from our hash function on upward, we will describe the standard, provide a justification for Monero's choices in those standards (complete with references), as well as a list of possible replacement standards. For example, our Monero RingCT Standard should describe the RingCT scheme described by shen, which is essentially a ring signature with linear combinations of signing keys + amount commitments. Under the "possible replacements" section, we would describe both the RTRS RingCT scheme and the doubly efficient zk-snark technology as two separate options.
These standards may take awhile to complete, and will be living documents as we change the protocol over the years. In the meantime, it will make it dramatically easier for future researchers to step into MRL and pick up where previous researchers have left off.
Hierarchical view keys. Exploiting the algebra we currently use for computing one-time keys, the sub-address scheme plays with view keys in a certain way, allowing a user to have one single view key for many wallets. Similarly, we may split a view key into several shares, where each subset of shares can be used to grant partial view access to the wallet. A receiver can request that a sender use a particular basepoint in their transaction key where different subsets of shares of the view key grant access to transactions with different basepoints in their transaction keys. None of these are protocol-level observations, they are wallet-level observations. Moreover, these require only that a receiver optionally specify a basepoint.
In other words: hierarchical view keys are a latent feature of our one-time address scheme that has not seen specific development yet. It's a rather low priority compared to the other projects under development; it grants users fine-grained control over their legal compliance, but Monero Standards will have great long-term impact on development and research at Monero.
Criticisms. Monero has suffered some recent criticisms about our hash function. I want to briefly address them.
First, I believe part of the criticism came from a confusion between Keccak3, SHA-3, and Keccak: we have never claimed to use SHA-3 as our hash function, we have only used the Keccak3 hash function, which is a legacy choice inherited from the original CryptoNote reference code. Many developers confuse the two, but Keccak3 was the hash function on which SHA-3 is based. In particular, the Keccak sponge construction can be used to fashion lots and lots of primitives, all of which could fairly be called "Keccak:" both Keccak3 and SHA-3 are Keccak constructions. This may be a subtle nomenclature issue, but it's important because a good portion of our criticisms say "Hey, they aren't using SHA-3!"
Second, I believe part of the criticism also comes from our choice of library, which in my opinion isn't a big deal as long as the library does what it says on the tin. In this case, our hash function is a valid implementation of Keccak3 according to the Keccak3 documentation. The most important criticism, from my point of view, is our choice of pre-SHA-3 Keccak3 as our hash function. Keccak3 underwent lots of analysis during the SHA contest, and Keccak3 is a well-vetted hash funtion. However, it has not been chosen as an international standard. There is a sentiment in the cryptocurrency community to distrust standards, which is probably a healthy sentiment. In this case, however, it means that our choice of hash function is not likely to be supported in common, well-vetted libraries in the future. Moreover, since SHA-3 is an international standard, it shall be undergoing heavy stress testing over the coming decades, a benefit Keccak3 shall not enjoy.
Last month, after some discussions, we made changes to our choice of PRNG in Monero to match the PRNG for Bitcoin. There has since been some discussions instantiated by anonimal about this choice of PRNG. We at MRL are doing our best to assist the core team in weighing the relative costs and benefits of switching to a library like crypto++, and so we believe these criticisms fall into the same category. We intend to address these issues and make formal recommendations in the aforementioned Monero Standards. Sorry for using the word aforementioned.
Things that didn't move much include a) educational outreach, b) SPECTRE, c) anti-ASIC roadmap, d) refund transactions. Most of which was on hold to complete multisig.
As far as educational outreach, I contacted a few members of a few math/cs depts at universities around me, but I haven't gotten anything hopeful yet. I wanted to go local (with respect to me) to make it easier to organize, but that's looking less likely. No matter how enthusiastic of a department we find, garnering participation from faculty members, beginning an application process for new students, squirelling up funding, working out logistics of getting teachers or lecturers/speakers from point A to point B, where to stash students, etc would be a challenge to finish before, say, July. And some schools start their fall semesters in mid-August. So I'm thinking that Summer 2019 is reasonable as the first Monero Summer School... and would be a real fun way to finish off a two-year post-doc!
December plan. I am going to finish multisig, and then finish the zk-lit review with Jeffrey Quesnelle, since these are both slam dunks. Any other time in December I have will be devoted to a) looking into the logistics of using the bulletproofs + RTRS RingCT set-up, b) reading the new zk-stark paper and assessing its importance for Monero, c) beginning work on Monero Standards, which includes addressing our hash function criticisms, our PRNG, etc.
Thank you again! This is an incredible opportunity, and this community is filled with some smart cookies. Every day is a challenge, and I couldn't ask for a more fun thing to be doing with my life right now. I'm hoping that my work ends up making Monero better for you.
submitted by snoether to Monero [link] [comments]

Post Monero Meetup Report Kiev, Ukraine 22.7.18

Post Monero Meetup Report Kiev, Ukraine 22.7.18
"Then fluffy blessed the seventh commit and sanctified it, because in it He rested from all His work which the Developers had created and made." Genesis 2:3
Monero Meetup Report

Kiev, Ukraine 22.7.18

St. Andrew's Church
As a Church of Monero Missionary, I was very excited to visit Kiev, Ukraine to see their beautiful Orthodox Christian churches. They did not disappoint.
St. Michael's Cathedral
View from UBK Beach
The architecture in general was very beautiful.
Random Corner
Vozdvyzhenka
The culture here is very artistic:
Large wall mural
With plenty of wit:
https://preview.redd.it/eh9xze2234c11.jpg?width=4128&format=pjpg&auto=webp&s=4a8e48f173db561098f6bd65310797a93496f567
https://preview.redd.it/si53jhj334c11.jpg?width=4128&format=pjpg&auto=webp&s=94b986ac5df4c700d97af7a0607a48be2c8115c0
A very interesting people here in Kiev. In the city center, I would say 50% speak English and 30% speak English well - the large majority speak Russian. My Uber driver from the airport spoke no English. 5 of my 12 days in Kiev I spent handing out fliers for the Monero Event I hosted. I passed out 300 fliers, interacting with at least 1000+ people in this process. Of the people I interacted with, 20% were familiar with Bitcoin and a significant percent of that group were enthusiastic about cryptocurrencies.
Independence Square
The main areas in Kiev are all accessible by foot. It was not unusual for me to walk 4 miles in one day passing out fliers, walking from people cluster to people cluster. There are several main areas of where people congregate:
  • From Arena City to Independance Square along Khreshchatyk Street
  • Near the National University Of Kyiv-Mohyla Academy
  • From Vozdvyzhenka to St. Andrew's Church
  • The Gulliver Mall
  • UBK Beach
People's Friendship Arch View
This is the flier I passed out to 300 people
Additionally the Blockchain Hub hosted an event on 17.7.18 that I went to where I made some new friends and advertised the meetup I was organizing. One of those friends spent 8 hours helping me translate my English Monero Presentation into Russian. Here is the link to the Google Slides English/Russian Presentation. I would say I spent a solid 20 hours working on the presentation. On the days I passed out fliers, I would alternate between 3 hours of passing out fliers and 3 hours inside working on the presentation.
I passed out fliers from 17.7.18 until 21.7.18. For every flier that I successfully passed out, I had on average 2 people reject the flier on the basis of disinterest, no interest, or language barrier. Most of the 300 fliers were passed out to groups of size 2-3. Many of the people who accepted the flier were also excited about cryptocurrency, said they would attend, and asked for another flier to give to their friend.
Seven people showed up to the event. Most of these 7 came either directly from the Blockchain Hub event or were a friend that those same people brought. No one that I gave a flier to came to the event. I have a recording of the event but the quality is actually quite poor. The recording does include the post-presentation discussion where I answered deeper questions about how Bitcoin works and how maybe at some point in the future the price of Bitcoin might closely correlate with the price of energy. I was explaining all this and technical functions like Bitcoin nonce hashing to a Russian only speaking attendee through my friend who would translate English/Russian. It was very helpful that my friend already has a solid foundation in how cryptocurrencies work.
Next stop on my trip is Brussels, Belgium where I hope to build from this Monero Mission trip and further spread the good word of Monero.
twitter.com/churchofmonero
submitted by Xeagu to Monero [link] [comments]

My conception of the ideal functional programming database

There is nothing more annoying than databases. Every DB nowadays - relational or not - is based on some kind of pre-determined data structure (tables, documents, key/val stores, whatever) plus some methods to mutate their data. They're the functional programmer's worst nightmare and one of the few "imperative" things that still impregnate Haskell programs. I wonder if there isn't, on this human world, a single functional-oriented DB.
I'm thinking of an app-centric, append-only-log database. That is, rather than having tables or documents with operations that mutate the database state - like all DBs nowadays do, and which is completely non-functional - it would merely store an immutable history of transactions. You would then derive the app state from a reducer. Let me explain with an example. Suppose we're programming a collective TODO-list application. In order to create a DB, all you need is the specification of your app and a data path:

Local database

import MyDreamDB data Action = NewTask { user :: String, task :: String, deadline :: Date } deriving Serialize data State = State [String] deriving Serialize todoApp :: App todoApp = App { init = State [], next = \ (NewTask user task deadline) tasks -> (user ++ " must do " ++ task ++ " before " ++ show deadline ++ ".") : tasks} app <- localDB "./todos" todoApp :: App Action State 
If the DB isn't created, it creates it. Otherwise, it uses the existing info. And... that is it! app now contains an object that works exactly like a Haskell value. Of course, the whole DB isn't loaded in memory; whether it is on memory or disk, that is up to the DB engine.

Insert / remove

You insert/remove data by merely appending transactions.
append db $ NewTask "SrPeixinho" "Post my dream DB on /haskell" append db $ NewTask "SrPeixinho" "Shave my beard" append db $ NewTask "SrPeixinho" "Buy that gift" 
Those will append new items to the list of tasks because it is defined like so, but they could remove, patch, or do anything you want with the DB state.

Queries

Just use plain Haskell. For example, suppose that you want to get all tasks containing the word post:
postTasks = filter (elem "post" . words) app 
And that is it.

Migrations

If only State changes, you need to do nothing. For example, suppose you store tasks as a tuple (user, task, deadline) instead of a description, as I did previously. Then, go ahead and change State and next:
data State = State [(String, String, Date)] next = \ (NewTask user task deadline) -> (user, task, deadline) 
The next time you load the DB, the engine notices the change and automagically re-computes the final state based on the log of transactions.
If Action changes - for example, you decide to store deadline as integers - you just map the old transaction type to the new one.
main = do migrate "./todos" $ \ (NewTask user task deadline) -> (NewTask user task (toInteger deadline)) 

Indexing

Suppose you're too often querying the amount of tasks of a given user, and that became a bottleneck. To index it, you just update State and next to include the index structure explicitly.
data State = State { tasks :: [String], userTaskCount :: Map String Int} next (NewTask user task deadline) (State tasks count) = State tasks' count' where tasks' = (user, task, deadline) : tasks count' = updateWithDefault 0 (+ 1) user count 
Like with migrations, DB realizes the change and updates the final state. Then you can get the count of any user in O(1):
lookup "SrPeixinho" . userTaskCount $ todos 
Any arbitrary indexing could be performed that way. No DBs, no queries. So easy!

Replication, communication, online Apps

There is one thing more annoying than databases. Communication. Sockets, APIs, HTTP. All of those are required by nowadays real-time applications and are all a pain in the ass. Suppose I gave you the task of making a real-time online site for our Todo app. How would you do it? Probably, create a RESTful API with tons methods, then a front-end application in JavaScript/React, then make Ajax requests to pool the tasks, then a new websocket api because the poolinng was too slow and... STOP! You clearly live in the past. With MyDreamDB, this is what you would do:
main = do app <- globalDB "./todos" todoApp :: App Action State renderApp $ "
" ++ show app ++ "
" $ ghcjs myApp.hs -o myApp.html $ swarm up myApp.html $ chrome "bzz:/hash_of_my_app"
See it? By changing one word - from localDB to globalDB - app is online, connected to a network of processes distributed through the whole internet, running the same app, all synchronized with the App's state. Moreover, by adding another line - a State -> HTML call - I gave a view to our app. Then I compiled that file to HTML, hosted it in a decentralized storage (swarm), and opened it on Chrome. What you see on the screen is a real-time TODO-list of countless people in the world. Yes!
No, no, wait - you didn't even provide an IP or anything. How would the DB know how to find processes running the same App?
It hashes the specification of your APP, contacts a select number of IPs to find other processes running it and then joins a network of nodes running that app.
But if the DB is public, anyone can join my DB, so they will be able to destroy my data.
No, this is an append-only database. Forgot? No information is ever destroed.
What about spam? If anyone can join, what is stopping someone from sending tons of transactions and bloating the app's DB?
Before broadcasting a transaction, the DB creates a small proof-of-work of it - basically, a sufficiently small hash of the App code. Other nodes only accept transactions with enough PoW. This takes time to compute, so you essentially create a "portable" anti-spam measure for a distributed network that replaces the need for fees and an integrated currency.
OK, but if anyone is able to submit any transaction, he is still able to do anything with the app's state.
No; people are only able to do what is encoded on next.
But what about logins, accounts, passwords? If all my app's info is public, anyone can see everyone else's password.
Use digital signatures.
OK, but every info is still public. Some applications simply require private info.
Use encryption.
Someone with tons of CPU power is still able to DDOS my app.
Yes.
Is it efficient enough?
Each application would work as a specific-purpose blockchain, which are often perfectly usable for their specific applications.
So you're telling me that, with MyDreamDB, you could recreate Bitcoin in a bunch of lines of code?
Yes:
import MyDreamDB type Address = String data State = State { lastHash :: String, balance :: Map Address Balance} data Action = Mine { to :: Address, nonce :: String } | Send { sig :: Signature, to :: Address, amount :: Integer } bittycoinApp :: App bittycoinApp = App { init = State empty, next = next} where -- "Mining" here is merely a mean of limiting emission, -- it is not necessary for the operation of the network. -- Different strategies could be used. next (Mine to hash) (State lastHash balance) | sha256 (lastHash++hash) < X = -- Send money to someone next [email protected](Send sig to amount) [email protected](State lastHash balance) | not $ ecVerify sig (show tx) = st -- Signature doesn't match | lookup address balance < amount = st -- Not enough funds | otherwise = State lastHash balance' -- Tx successful where from = ecRecover sig -- the transaction sender balance' = update from (- amount) . update to (+ amuont) $ balance main = do onlineDB "./data" bittycoinApp :: App State Action 
Compile and run something like that and you have a perfectly functioning full-node of a digital currency with properties very similar to Bitcoin. Anyone running the same code would connect to the same network. Of course, it might be improved with adjustable difficulty and many other things. But the hardest "blockchain" aspects - decentralization, transactions, consensus, gossip protocols - that all could and should be part of the decentralized implementation of MyDreamDB.
Your todo-app front-end is just a string, it isn't interactive.
Just call append myTx myApp on HTML events - that will broadcast the transaction globally.
What about local state? Tabs, etc.
Use a localDB where you would use Redux, use append myAction localApp where you would use dispatch. Use React as usual.

Conclusion

That is, honestly, the project I think I lack the most. Is there anything like it?
submitted by SrPeixinho to haskell [link] [comments]

Why the NSA revelations make me worried about the safety of Bitcoin

This has probably been discussed before, but I don't see how Bitcoin can be a safe method of storing wealth, given our current situation where the NSA observes EVERYTHING. Not just that, the NSA has installed backdoors in nearly all of our hardware. Both Intel and AMD processors likely have hardware backdoors for the NSA.
Back in 2010, the NSA broke a variety of cryptographic standards. In addition, we know that the NSA has lobbied organizations to implement weak cryptographic standards. Furthermore, we know that the NSA has pushed for flawed random number generators. Weak random number generators have previously led to the theft of large numbers of Bitcoin on mobile devices.
Bitcoin completely relies on the integrity of the SHA-256 algorithm, which was developed by the SAME NSA that intentionally pushes flawed cryptographic standards. Bruce Schneier no longer trusts the NSA's elliptic curve cryptography standard, as he believes they may have intentionally chosen a weak elliptic curve that the NSA can use. The numbers used are supposed to be random to make it unlikely that anyone could exploit a weak curve, but the NSA provided different numbers, that are non-random.
Vitalik Buterin argues that we can expect Bitcoin not to use a weak curve, as the numbers used in Bitcoin are fairly simple to calculate, whereas arbitrary numbers would create the possibility of Satoshi using an intentionally weak curve.
However, it seems to me that we can argue the exact opposite as well. For p, Bitcoin uses 115792089237316195423570985008687907853269984665640564039457584007908834671663, which is arrived at by calculating 2256 – 232 – 977 and seems fairly arbitrary to me as well.
Perhaps the main cause of my worries is the fact that the NSA in 1996 created a document outlining how to make a digital currency based on cryptography. Thus we know that the NSA has been studying the possibility of cryptocurrencies for a long period. Considering how the NSA manages to keep control over cryptography by releasing weak standards itself, is it possible that the NSA attempts to do the same with cryptocurrency?
Finally, I'm very worried about who this anonymous hacker who calls himself Satoshi Nakamoto might be. The Bitcoin source code contained different incomplete ideas that were never implemented, such as a decentralized marketplace (this is from memory, can't find the link). It all seems very ambitious to be the product of a single individual.
What is most worrying about Satoshi Nakamoto however is what is found in the blockchain. There's a non-random distribution of nonces in the early blockchain. What this means is that Satoshi Nakamoto was mining Bitcoin with a mining rig that was completely different from what everyone else was using back then.
It seems that he used 58 different computers, all with a different ID and all programmed to use different nonces to avoid checking the same possible solution multiple times, and at some point some of the computers broke down and were not put back up. This is not a genius amateur, but rather, someone with access to a lot of equipment. What makes all of this worse, is the fact that most of these blocks appear never to have moved. In other words, whatever entity mined these blocks probably still has control over them and doesn't seem to be motivated by personal gain. Rather, their control over about 1 million Bitcoin seems to have created a kind of "deathswitch", that allows them to crash the market at will.
Finally, Nakamoto's behavior is strange. As noted by others, his timezone seems to indicate he lived on the West Coast, yet his language uses British spelling. Furthermore, he took up to two weeks to respond to comments, indicating that anything he said seemed to require approval from higher ups, or agreement among multiple persons.
In conclusion, there is nothing here that indicates to me that we are dealing with a project designed by a regular Joe. Instead, we seem to be sitting on a ticking time bomb, a ten billion dollar experiment that could be deflated at will and cause economic chaos in the process.
submitted by accountt1234 to Bitcoin [link] [comments]

When I mine a bitcoin, how can I prove that it was mined by me?

0 down vote favorite
let's say, I'm not using a pool to mine bitcoins,let's think that I mine directly with the blockchain (correct word?) .. say, I use following code (for an example purpose) to mine and find the hash which is below the target, So, to prove that I (my public wallet address) mined the coin, shouldn't I include my public wallet address or anything as data along with those block hashes, nonce etc ? or is it mixed with the final hash and send to the blockchain? if I mix it (concatenate etc) with the "final hash" and re-hashing again with SHA256? then it won't be a valid hash then. How do block chain recognizes my public wallet address and reward "me" when I only use the data of version, previous block hash, merkle root, time, bits, nonce?
Sample code
$version = littleEndian(1); $prevBlockHash = SwapOrder('00000000000008a3a41b85b8b29ad444def299fee21793cd8b9e567eab02cd81'); $rootHash = SwapOrder('2b12fcf1b09288fcaff797d71e950e71ae42b91e8bdb2304758dfcffc2b620e3'); $time = littleEndian(1305998791); $bits = littleEndian(440711666); $nonce = littleEndian(2504433986); //concat it all $header_hex = $version . $prevBlockHash . $rootHash . $time . $bits . $nonce; //convert from hex to binary $header_bin = hex2bin($header_hex); //hash it then convert from hex to binary $pass1 = hex2bin( hash('sha256', $header_bin ) ); //Hash it for the seconded time $pass2 = hash('sha256', $pass1); //fix the order $FinalHash = SwapOrder($pass2); echo $FinalHash; 
submitted by Sherm1000 to Bitcoin [link] [comments]

Non-Contentious Alternative to A Fork: Symbiosis Instead Of Quarrel: One-Way-Peg Sidechain: Good For "Small-Blockers" As Well As "Pragmatics"! The Best From Both Philosophies: Conservatism For Bitcoin-Core, Unleashing Full On-Chain Utility Of Bitcoin Unlimited. All Groups Mutually Benefit.

Sorry for the long post - but I think it should really be read and understood by everybody concerned with the idea of launching a "Higher-Capacity Bitcoin", by everybody concerned with Bitcoin security and decentralization, and by everybody concerned with Bitcoin price!
Description Of The Concept:
Consequences Of This Solution - Characteristics:
  1. Every user who owns BTC-c can directly "convert" it 1:1 to BTC-u by a simple transfer to unspendable address "1transferAddressToBitcoinUsab1eGh5W".
  2. Optionally, the user could of course "convert it" via a classical exchange market, if the exchange market allows trade in BTC-c and BTC-u.
  3. Every User who owns BTC-u can only convert it (back) to BTC-c via a normal crypto-currency exchange market (because we have a ONE way peg without any modifications of the Bitcoin-core protocol, we cannot do it on protocol level!). While this is not a big difference microscopically from individual user perspective (if exchanges are well-integrated in apps and exchange fees are low), it does make a difference macro-economically, because BTCs can only drain in one direction, long-term, and never back.
Some Thoughts On Market Dynamics To Be Expected:
(I assume that the following "phases" will span over MANY years)
Thoughts On Exchange Rate Evolutions To Be Expected:
  • Phase 1:
    • A BTC-u unit is expected to be valued less than BTC-c, because you cannot really do anything meaningful with BTC-u yet, and after all, each owner of BTC-c can exchange it for a unit of BTC-u 1:1, so there is no reason why the free markets should give BTC-u a higher valuation than a BTC-c! If this were the case traders would immediately exchange BTC-c for BTC-u on protocol level and take the arbitrage gains. So market forces alone will keep the price of BTC-u below the price of BTC-c, except for very short periods of time (which will probably not occur at all in this "phase 1").
    • Only some tech geeks and early adopters will hence exchange some BTC-c for BTC-u, more for idealistic reasons or for "trying things out" than for trading and financial reasons.
  • Phase 2:
    • BTC-u's advantage in terms of practical utility vs. BTC-c becomes more and more apparent, such that BTC-u price gets closer and closer to BTC-c price on the markets.
    • As BTC-c hodlers keep on standing by their BTC-c, the number of BTC-u in circulation remains low! Users who want to make use of BTC-u's new utility (high TX capacity) have to aquire BTC-u either via protocol-level exchange (destroy BTC-c to get BTC-u), or via the exchanges - whatever is more convenient and attractive. Since BTC-u is still valued lower than BTC-c, they would make the better deal by going via the exchanges (as long as the [small] exchange market fee is less than the difference between BTC-c and BTC-u exchange rate, which can be expected to be the case for quite a while)! This would keep BTC-u supply low and hence it would keep BTC-u price high. And of course, since price(BTC-c) >= price(BTC-u) due to the one-way peg, BTC-c price benefits equally from this!
  • Phase 3:
    • If BTC-u fails for technical or other reasons, its price collapses and the whole experiment becomes history. The number of BTC-c spendable has been reduced due to this experiment, so each BTC-c unit becomes more rare and hence more valuable in price.
    • Otherwise, the demand for BTC-u from practical usage gets even higher, while the total number of BTC-u units in existence are pretty limited. This puts enormous upwards price pressure to BTC-u, and thereby also to BTC-c, to lift up BTC valuation, such that all BTC-u real-world usages can be fulfilled. BTC-c and BTC-u prices are very close, and at certain times of very high demand for BTC-u it even happens that BTC-u is valued higher than BTC-c on some exchanges. When this happens, arbitrage traders will kick in and buy the currently cheaper BTC-c, convert them to higher valued BTC-u by protocol means, and cell the more expensive BTC-u on the market. So such situations won't endure very long and will only serve market pressures in case of severe shortages of BTC-u coins.
DIFFerences and ADVantages Of This Strategy Vs. A "Normal Fork":
  • Both in common: No Dillution or Inflation:
    • In case of a normal fork, the total number of Bitcoins will double from 21 Million to 42 Million, because both forked chains will eventually have 21 Million, respectively. This inflation of Bitcoins is compensated by the fact that each pre-fork Bitcoin owner will also double his owned Bitcoin, so there should be no net penalty by principle.
    • In contrast, with "Bitcoin-Usable", the total(!) number of spendable Bitcoins will never be higher than 21 Million, counting BTC-c and BTC-u together.
    • Hence, even if it looks different in nominal coin units, the net effect is the same: No coins are inflated or diluted and every owner of bitcoins keeps his/her stake, nobody is at a disadvantage.
  • Symbiosis instead of Competition:
    • With "Bitcoin-Usable", bitcoin-core price will fully benefit from the success of the "Bitcoin-Unlimited" or "bigger blocksize" approach of "Bitcoin-Usable". This means that Bitcoin-core hodlers have full self-interest that "Bitcoin-Usable" becomes a success!
    • This is in stark contrast to the "fork" scenario, where the two forks will be competitors and may continue propagating their different philosophies on the different media channels. This not always friendly atmosphere and way of discussion may harm both sides! In the "Bitcoin-Usable" solution instead, both sides can still propagate their own views positively, without any need to talk negatively about the other side, because there is no competition but on the contrary mutual benefit!
    • Hence there would be no incentive from Bitcoin-Core supporters to DoS the "competing" bigger-block-chain - on the contrary they have an interest for that chain to succeed.
  • All fully validating "Bitcoin-Usable" nodes are also fully validating "Bitcoin-core" nodes (but not vice versa). Hence the number of bitcoin-core nodes can only increase compared to today in case "Bitcoin-Usable" becomes a big success, thereby also making the Bitcoin-core network more stable and powerful. So Bitcoin-Core benefits from "Bitcoin-Usable" not only w.r.t. price, but also w.r.t. security! (apart from that, price rise alone has a positive effect on security [via hash power] on its own already)
  • Since Bitcoin-Usable's block sizes and blockchain size are expected to become significantly greater than that of bitcoin-core on the long term, the additional burden that "Bitcoin-Usable" has by also having to observe the Bitcoin-Core blockchain is rather negligible, so in this respect there is no relevant difference between the two solutions.
  • As explained above, the mechanism of the one-way-peg in combination with the market mechanisms on price (low supply of BTC-u vs. high demand as a utility, and the constraint price(BTC-c) >= price(BTC-u)) creates a strong up-force of the Bitcoin price (for both bitcoins), originated by the additional applications of "Bitcoin-Usable". Again, BTC-c fully benefits from this.
  • No replay attack is possible even for identical TX formats in the protocol, because "Bitcoin-Usable" does not share Bitcoin-Core's blockchain history. Hence even better code re-use is possible - the only differences being block size limit and address format (first digit 2/4 vs. 1/3) and the lack of a block reward. And of course the observation of the "other" blockchain and the coin generation after coin destruction (one way peg implementation).
submitted by 1MichaS1 to btcfork [link] [comments]

How To Say Nonce How Does Bitcoin Work? - YouTube THE BIGGEST NONCE ON THE PLANET - YouTube Bitcoin Mining Mastery Review – Does It REALLY Work? Blockchain 101 Ep 47 - What is a Timestamp? - YouTube

In the context of blockchain technology, a nonce refers to a pseudo-random number that is utilized as a counter during the process of mining. For instance, Bitcoin miners need to try and guess a valid nonce as they perform multiple attempts to calculate a block hash that meets certain requirements (i.e., that starts with a certain number of zeros). Some sources incorrectly use the words “coin” and “bitcoin” interchangeably. A coin is a digital token, but bitcoin is the unit of face value in which the token is denominated. ... A hash function can be transformed into a proof-of-work function through the use of a nonce. A nonce, or number used once, is a value embedded into a message ... Nonce is a numerical parameter that is sought during mining (PoW algorithm) and recorded in the block header. Actually, the goal of mining as a competitive process for the right to add a block of transactions to the blockchain is to select such Nonce so that the sought-for block hash is less than some given Target number, which is equivalent to ... The term golden nonce with Bitcoin mining perspective is a hash value which is lesser than the target. The world evolved from the term golden tickets which are referred to as nonce meeting the mining requirement that existed as early as 8th April 2011. ... To explain it in simple words, a nonce is a combination of two words, “n” which means ... A nonce is short for "number only used once," and the nonce is the key to generating these 64-bit hexadecimal numbers I keep talking about. In Bitcoin mining, a nonce is 32 bits in size—much ...

[index] [25215] [34845] [8659] [31744] [34291] [7403] [34803] [19073] [33632] [28101]

How To Say Nonce

If You Need Others Help You Can Email or Text Via Online Support [email protected] https://t.me/WeTheBtc HOW CAN I DO THIS PROGRAM STEP BY STEP : 1. SCRIPT WITH RUNNING BY .JS PROGRAM . Script ... Blockchain explained. Shai Rubin, CTO of Citi Innovation Lab, explains in an easy and simple way the basics of blockchain. Thanks to Away for sponsoring this video! Go to https://www.awaytravel.com/techquickie and use promo code techquickie to get $20 off your next order! Bitcoin... Don't talk to strangers online or big Justin will get you.... Twitter: https://twitter.com/memeulous Snapchat: Memeulous Follow me on Twitch: http://www.twit... Today we give you updates on Segwit 2x, Bitcoin Gold and NAC3. NAC3 stands for the North American Crypto Currency Convention. We've been officially invited to speak at the conference.

http://ltcmining.gentome.tk