Bitcoin average block size chart — Blockchair

A single global economy of FAIL

I had a lot of fun with Jo_Bones insane vomit yesterday, that retarded chimp is a special one for sure. He inspired me to write some satire of his delusional CSWesque rant. I list some hilarious quotes from him at the end as well from the comment chain.
The original delusional rant

If all governments could agree on any single thing at any point in time, it would be an unprecedented moment in history. A "unicorn moonshot" so to speak. If the unicorn moonshot were to manifest as every government suddenly desiring to throw their already digital currencies into complete disarray and chose a technically inferior and non-compliant product in the process, then you can bet your ass they would use BSV for their fiscal policies. At the moment, here is what came up when I googled Central Banks for the first time today. Here's what came up when I googled fractional reserves. I then googled what reconciled means, and after my eyes rolled back in to my head out of sheer inability to digest the information I was reading, I decided BSV was the blockchain to solve all of this because I personally think this thing is an awesome high-school comp sci project.

If every central bank suddenly decided to relinquish state control of their monetary policy, and instead decided that the security model of 7 amateur software developers paid by an ex-felon hiding in Antigua who controls the #11 cryptocurrency on coinmarketcap was the answer, we could have the opportunity to use a strictly worse version of our current banking software and IT infrastructure. Instant transactions between bank accounts you own? Screw that, welcome to 10 minute block times! Did you fat finger that bill payment to the wrong sender? Too bad, it's gone forever! Welcome to immutability! It's a feature not a bug!

If you extrapolate how bad this is, suddenly taxes would be lower because digital monetary transactions would come to a screeching halt. Can't pay taxes on money you don't have, right? Suck that statists! The world would benefit from one giant economy of scale even though that phrase makes no sense in this context, and in reality is another buzzword I just simply don't have the time to try to understand. I forgot to Google that one I guess. This means prices around the globe would be out of control because we'd have to revert to a primal barter system! My chicken for your box of peaches! The possibilities to fuck over literally the entire world are endless!

Additionally, there would now be a high degree of transparency to how poorly BSV scales, since blocks take hours to propagate at 1GB sizes and that would only represent the hourly transactions of a town of 10,000 people, which would inevitably lead everyone to understand what 99.99% (AKA the non-mentally retarded "subset" of the population) already know.


In the comments I decided to change potential use cases from the utter nonsense I listed above to a couple different things.
https://www.reddit.com/bsv/comments/j9u2jt/a_single_global_economy_of_scale/g8ppeq7/?utm_source=share&utm_medium=web2x&context=3
Here I am demonstrating that I know currency lives in a database today:
The point is that they centrally issue and control their own tokens on the bitcoin network. I don’t see what’s so hard to understand about this. They already issue tokens on their own network. It’s just a different database.
Here I am 7 comments later saying those databases don't allow for digital cash when I just stated they did.
Your SQL databases don’t really allow for digital cash.
Shit maybe token issuance on BSV won't work time to pivot to:
But bank transfers still take days between Europe and Asia and have high fees precisely because all the banks maintain their own networks.
Think of the possibilities guys. You totally can't do this today, right?
so they can (for example) sell a YouTube video directly to the whole world, for their native national token... on the bitcoin network.
Crap, maybe there are some good points there. At least Bitcoin can push transactions out in seconds despite having a 10 minute block time! And wait until you see the block times if anyone ever does try to send a billion tx in a second!
These hashes cost bitcoin, but you can sell billions of them per second.
What do you mean risks of minority hash rate on BSV? Nobody has ever done a 51% attack and not been arrested! THEY'LL LOSE THEIR MINING EQUIPMENT!
Except that it’s illegal to attack another chain, and it’s public, and traceable and the punishment would be your company loses all its mining equipment.
I'm running out of use cases since they're getting shot down so fast. Here's a good one. Why pay $80 a month for internet in 1 transaction, when you can pay for internet 1.7trillion times every month for every data packet you get?
And the advantage of sending 0.0011p to someone might be that they’re providing a service to you, like a data packet.
But think of all the UnIqUe AnD gReAt FeAtUrEs on BSV. Really cutting edge stuff that SQL Server doesn't have due to being obsolete in the 90s, like the ability to append only instead of modify data elements! Also, watch the blockchain desync if you ever tried 1billion tx/sec!
The network scales to handle billions of TX/sec and the ledger is append only so it matches the criteria for keeping accurate records and/or updating them as needs be.
Time to pivot again since I'm being dismantled at every turn. What haven't I mentioned yet?
you haven’t solved the issue of the US dollar being the worlds default currency on which global trade relies.
Here is me doing my best Craig Wright technobabble nonsense impression. I know this is technically English but the words being strung together make no sense!
Once again you’ve really missed the point of all this. A data commodity that comes about through consensus of the network on ‘what value is’ contains a fraction of every part of the global economy.
Time to revert to some Craig Wright technobabble bullshit again:
Those in charge of producing dollars ultimately have an unfair advantage over those who don’t and they can game the system.
That’s a peer to peer internet model where producers get paid directly by consumers for the data they consume and miners get paid according to how fast and how efficiently and how accurately they can deliver the data.

Have I mentioned the fact I don't understand that blockchains are literally distributed databases?
Finally, you can send any kind of data in a bitcoin transaction. Not just fiat currencies issued by a government but audio, video, text, a webpage, etc.
And finally:
It’s very smart. Unlike you.
My transformation is complete.
submitted by pointedpointything to bsv [link] [comments]

Ultimate glossary of crypto currency terms, acronyms and abbreviations

I thought it would be really cool to have an ultimate guide for those new to crypto currencies and the terms used. I made this mostly for beginner’s and veterans alike. I’m not sure how much use you will get out of this. Stuff gets lost on Reddit quite easily so I hope this finds its way to you. Included in this list, I have included most of the terms used in crypto-communities. I have compiled this list from a multitude of sources. The list is in alphabetical order and may include some words/terms not exclusive to the crypto world but may be helpful regardless.
2FA
Two factor authentication. I highly advise that you use it.
51% Attack:
A situation where a single malicious individual or group gains control of more than half of a cryptocurrency network’s computing power. Theoretically, it could allow perpetrators to manipulate the system and spend the same coin multiple times, stop other users from completing blocks and make conflicting transactions to a chain that could harm the network.
Address (or Addy):
A unique string of numbers and letters (both upper and lower case) used to send, receive or store cryptocurrency on the network. It is also the public key in a pair of keys needed to sign a digital transaction. Addresses can be shared publicly as a text or in the form of a scannable QR code. They differ between cryptocurrencies. You can’t send Bitcoin to an Ethereum address, for example.
Altcoin (alternative coin): Any digital currency other than Bitcoin. These other currencies are alternatives to Bitcoin regarding features and functionalities (e.g. faster confirmation time, lower price, improved mining algorithm, higher total coin supply). There are hundreds of altcoins, including Ether, Ripple, Litecoin and many many others.
AIRDROP:
An event where the investors/participants are able to receive free tokens or coins into their digital wallet.
AML: Defines Anti-Money Laundering laws**.**
ARBITRAGE:
Getting risk-free profits by trading (simultaneous buying and selling of the cryptocurrency) on two different exchanges which have different prices for the same asset.
Ashdraked:
Being Ashdraked is essentially a more detailed version of being Zhoutonged. It is when you lose all of your invested capital, but you do so specifically by shorting Bitcoin. The expression “Ashdraked” comes from a story of a Romanian cryptocurrency investor who insisted upon shorting BTC, as he had done so successfully in the past. When the price of BTC rose from USD 300 to USD 500, the Romanian investor lost all of his money.
ATH (All Time High):
The highest price ever achieved by a cryptocurrency in its entire history. Alternatively, ATL is all time low
Bearish:
A tendency of prices to fall; a pessimistic expectation that the value of a coin is going to drop.
Bear trap:
A manipulation of a stock or commodity by investors.
Bitcoin:
The very first, and the highest ever valued, mass-market open source and decentralized cryptocurrency and digital payment system that runs on a worldwide peer to peer network. It operates independently of any centralized authorities
Bitconnect:
One of the biggest scams in the crypto world. it was made popular in the meme world by screaming idiot Carlos Matos, who infamously proclaimed," hey hey heeeey” and “what's a what's a what's up wasssssssssuuuuuuuuuuuuup, BitConneeeeeeeeeeeeeeeeeeeeeeeect!”. He is now in the mentally ill meme hall of fame.
Block:
A package of permanently recorded data about transactions occurring every time period (typically about 10 minutes) on the blockchain network. Once a record has been completed and verified, it goes into a blockchain and gives way to the next block. Each block also contains a complex mathematical puzzle with a unique answer, without which new blocks can’t be added to the chain.
Blockchain:
An unchangeable digital record of all transactions ever made in a particular cryptocurrency and shared across thousands of computers worldwide. It has no central authority governing it. Records, or blocks, are chained to each other using a cryptographic signature. They are stored publicly and chronologically, from the genesis block to the latest block, hence the term blockchain. Anyone can have access to the database and yet it remains incredibly difficult to hack.
Bullish:
A tendency of prices to rise; an optimistic expectation that a specific cryptocurrency will do well and its value is going to increase.
BTFD:
Buy the fucking dip. This advise was bestowed upon us by the gods themselves. It is the iron code to crypto enthusiasts.
Bull market:
A market that Cryptos are going up.
Consensus:
An agreement among blockchain participants on the validity of data. Consensus is reached when the majority of nodes on the network verify that the transaction is 100% valid.
Crypto bubble:
The instability of cryptocurrencies in terms of price value
Cryptocurrency:
A type of digital currency, secured by strong computer code (cryptography), that operates independently of any middlemen or central authoritie
Cryptography:
The art of converting sensitive data into a format unreadable for unauthorized users, which when decoded would result in a meaningful statement.
Cryptojacking:
The use of someone else’s device and profiting from its computational power to mine cryptocurrency without their knowledge and consent.
Crypto-Valhalla:
When HODLers(holders) eventually cash out they go to a place called crypto-Valhalla. The strong will be separated from the weak and the strong will then be given lambos.
DAO:
Decentralized Autonomous Organizations. It defines A blockchain technology inspired organization or corporation that exists and operates without human intervention.
Dapp (decentralized application):
An open-source application that runs and stores its data on a blockchain network (instead of a central server) to prevent a single failure point. This software is not controlled by the single body – information comes from people providing other people with data or computing power.
Decentralized:
A system with no fundamental control authority that governs the network. Instead, it is jointly managed by all users to the system.
Desktop wallet:
A wallet that stores the private keys on your computer, which allow the spending and management of your bitcoins.
DILDO:
Long red or green candles. This is a crypto signal that tells you that it is not favorable to trade at the moment. Found on candlestick charts.
Digital Signature:
An encrypted digital code attached to an electronic document to prove that the sender is who they say they are and confirm that a transaction is valid and should be accepted by the network.
Double Spending:
An attack on the blockchain where a malicious user manipulates the network by sending digital money to two different recipients at exactly the same time.
DYOR:
Means do your own research.
Encryption:
Converting data into code to protect it from unauthorized access, so that only the intended recipient(s) can decode it.
Eskrow:
the practice of having a third party act as an intermediary in a transaction. This third party holds the funds on and sends them off when the transaction is completed.
Ethereum:
Ethereum is an open source, public, blockchain-based platform that runs smart contracts and allows you to build dapps on it. Ethereum is fueled by the cryptocurrency Ether.
Exchange:
A platform (centralized or decentralized) for exchanging (trading) different forms of cryptocurrencies. These exchanges allow you to exchange cryptos for local currency. Some popular exchanges are Coinbase, Bittrex, Kraken and more.
Faucet:
A website which gives away free cryptocurrencies.
Fiat money:
Fiat currency is legal tender whose value is backed by the government that issued it, such as the US dollar or UK pound.
Fork:
A split in the blockchain, resulting in two separate branches, an original and a new alternate version of the cryptocurrency. As a single blockchain forks into two, they will both run simultaneously on different parts of the network. For example, Bitcoin Cash is a Bitcoin fork.
FOMO:
Fear of missing out.
Frictionless:
A system is frictionless when there are zero transaction costs or trading retraints.
FUD:
Fear, Uncertainty and Doubt regarding the crypto market.
Gas:
A fee paid to run transactions, dapps and smart contracts on Ethereum.
Halving:
A 50% decrease in block reward after the mining of a pre-specified number of blocks. Every 4 years, the “reward” for successfully mining a block of bitcoin is reduced by half. This is referred to as “Halving”.
Hardware wallet:
Physical wallet devices that can securely store cryptocurrency maximally. Some examples are Ledger Nano S**,** Digital Bitbox and more**.**
Hash:
The process that takes input data of varying sizes, performs an operation on it and converts it into a fixed size output. It cannot be reversed.
Hashing:
The process by which you mine bitcoin or similar cryptocurrency, by trying to solve the mathematical problem within it, using cryptographic hash functions.
HODL:
A Bitcoin enthusiast once accidentally misspelled the word HOLD and it is now part of the bitcoin legend. It can also mean hold on for dear life.
ICO (Initial Coin Offering):
A blockchain-based fundraising mechanism, or a public crowd sale of a new digital coin, used to raise capital from supporters for an early stage crypto venture. Beware of these as there have been quite a few scams in the past.
John mcAfee:
A man who will one day eat his balls on live television for falsely predicting bitcoin going to 100k. He has also become a small meme within the crypto community for his outlandish claims.
JOMO:
Joy of missing out. For those who are so depressed about missing out their sadness becomes joy.
KYC:
Know your customer(alternatively consumer).
Lambo:
This stands for Lamborghini. A small meme within the investing community where the moment someone gets rich they spend their earnings on a lambo. One day we will all have lambos in crypto-valhalla.
Ledger:
Away from Blockchain, it is a book of financial transactions and balances. In the world of crypto, the blockchain functions as a ledger. A digital currency’s ledger records all transactions which took place on a certain block chain network.
Leverage:
Trading with borrowed capital (margin) in order to increase the potential return of an investment.
Liquidity:
The availability of an asset to be bought and sold easily, without affecting its market price.
of the coins.
Margin trading:
The trading of assets or securities bought with borrowed money.
Market cap/MCAP:
A short-term for Market Capitalization. Market Capitalization refers to the market value of a particular cryptocurrency. It is computed by multiplying the Price of an individual unit of coins by the total circulating supply.
Miner:
A computer participating in any cryptocurrency network performing proof of work. This is usually done to receive block rewards.
Mining:
The act of solving a complex math equation to validate a blockchain transaction using computer processing power and specialized hardware.
Mining contract:
A method of investing in bitcoin mining hardware, allowing anyone to rent out a pre-specified amount of hashing power, for an agreed amount of time. The mining service takes care of hardware maintenance, hosting and electricity costs, making it simpler for investors.
Mining rig:
A computer specially designed for mining cryptocurrencies.
Mooning:
A situation the price of a coin rapidly increases in value. Can also be used as: “I hope bitcoin goes to the moon”
Node:
Any computing device that connects to the blockchain network.
Open source:
The practice of sharing the source code for a piece of computer software, allowing it to be distributed and altered by anyone.
OTC:
Over the counter. Trading is done directly between parties.
P2P (Peer to Peer):
A type of network connection where participants interact directly with each other rather than through a centralized third party. The system allows the exchange of resources from A to B, without having to go through a separate server.
Paper wallet:
A form of “cold storage” where the private keys are printed onto a piece of paper and stored offline. Considered as one of the safest crypto wallets, the truth is that it majors in sweeping coins from your wallets.
Pre mining:
The mining of a cryptocurrency by its developers before it is released to the public.
Proof of stake (POS):
A consensus distribution algorithm which essentially rewards you based upon the amount of the coin that you own. In other words, more investment in the coin will leads to more gain when you mine with this protocol In Proof of Stake, the resource held by the “miner” is their stake in the currency.
PROOF OF WORK (POW) :
The competition of computers competing to solve a tough crypto math problem. The first computer that does this is allowed to create new blocks and record information.” The miner is then usually rewarded via transaction fees.
Protocol:
A standardized set of rules for formatting and processing data.
Public key / private key:
A cryptographic code that allows a user to receive cryptocurrencies into an account. The public key is made available to everyone via a publicly accessible directory, and the private key remains confidential to its respective owner. Because the key pair is mathematically related, whatever is encrypted with a public key may only be decrypted by its corresponding private key.
Pump and dump:
Massive buying and selling activity of cryptocurrencies (sometimes organized and to one’s benefit) which essentially result in a phenomenon where the significant surge in the value of coin followed by a huge crash take place in a short time frame.
Recovery phrase:
A set of phrases you are given whereby you can regain or access your wallet should you lose the private key to your wallets — paper, mobile, desktop, and hardware wallet. These phrases are some random 12–24 words. A recovery Phrase can also be called as Recovery seed, Seed Key, Recovery Key, or Seed Phrase.
REKT:
Referring to the word “wrecked”. It defines a situation whereby an investor or trader who has been ruined utterly following the massive losses suffered in crypto industry.
Ripple:
An alternative payment network to Bitcoin based on similar cryptography. The ripple network uses XRP as currency and is capable of sending any asset type.
ROI:
Return on investment.
Safu:
A crypto term for safe popularized by the Bizonnaci YouTube channel after the CEO of Binance tweeted
“Funds are safe."
“the exchage I use got hacked!”“Oh no, are your funds safu?”
“My coins better be safu!”


Sats/Satoshi:
The smallest fraction of a bitcoin is called a “satoshi” or “sat”. It represents one hundred-millionth of a bitcoin and is named after Satoshi Nakamoto.
Satoshi Nakamoto:
This was the pseudonym for the mysterious creator of Bitcoin.
Scalability:
The ability of a cryptocurrency to contain the massive use of its Blockchain.
Sharding:
A scaling solution for the Blockchain. It is generally a method that allows nodes to have partial copies of the complete blockchain in order to increase overall network performance and consensus speeds.
Shitcoin:
Coin with little potential or future prospects.
Shill:
Spreading buzz by heavily promoting a particular coin in the community to create awareness.
Short position:
Selling of a specific cryptocurrency with an expectation that it will drop in value.
Silk road:
The online marketplace where drugs and other illicit items were traded for Bitcoin. This marketplace is using accessed through “TOR”, and VPNs. In October 2013, a Silk Road was shut down in by the FBI.
Smart Contract:
Certain computational benchmarks or barriers that have to be met in turn for money or data to be deposited or even be used to verify things such as land rights.
Software Wallet:
A crypto wallet that exists purely as software files on a computer. Usually, software wallets can be generated for free from a variety of sources.
Solidity:
A contract-oriented coding language for implementing smart contracts on Ethereum. Its syntax is similar to that of JavaScript.
Stable coin:
A cryptocoin with an extremely low volatility that can be used to trade against the overall market.
Staking:
Staking is the process of actively participating in transaction validation (similar to mining) on a proof-of-stake (PoS) blockchain. On these blockchains, anyone with a minimum-required balance of a specific cryptocurrency can validate transactions and earn Staking rewards.
Surge:
When a crypto currency appreciates or goes up in price.
Tank:
The opposite of mooning. When a coin tanks it can also be described as crashing.
Tendies
For traders , the chief prize is “tendies” (chicken tenders, the treat an overgrown man-child receives for being a “Good Boy”) .
Token:
A unit of value that represents a digital asset built on a blockchain system. A token is usually considered as a “coin” of a cryptocurrency, but it really has a wider functionality.
TOR: “The Onion Router” is a free web browser designed to protect users’ anonymity and resist censorship. Tor is usually used surfing the web anonymously and access sites on the “Darkweb”.
Transaction fee:
An amount of money users are charged from their transaction when sending cryptocurrencies.
Volatility:
A measure of fluctuations in the price of a financial instrument over time. High volatility in bitcoin is seen as risky since its shifting value discourages people from spending or accepting it.
Wallet:
A file that stores all your private keys and communicates with the blockchain to perform transactions. It allows you to send and receive bitcoins securely as well as view your balance and transaction history.
Whale:
An investor that holds a tremendous amount of cryptocurrency. Their extraordinary large holdings allow them to control prices and manipulate the market.
Whitepaper:

A comprehensive report or guide made to understand an issue or help decision making. It is also seen as a technical write up that most cryptocurrencies provide to take a deep look into the structure and plan of the cryptocurrency/Blockchain project. Satoshi Nakamoto was the first to release a whitepaper on Bitcoin, titled “Bitcoin: A Peer-to-Peer Electronic Cash System” in late 2008.
And with that I finally complete my odyssey. I sincerely hope that this helped you and if you are new, I welcome you to crypto. If you read all of that I hope it increased, you in knowledge.
my final definition:
Crypto-Family:
A collection of all the HODLers and crypto fanatics. A place where all people alike unite over a love for crypto.
We are all in this together as we pioneer the new world that is crypto currency. I wish you a great day and Happy HODLing.
-u/flacciduck
feel free to comment words or terms that you feel should be included or about any errors I made.
Edit1:some fixes were made and added words.
submitted by flacciduck to CryptoCurrency [link] [comments]

The Truth, The Lies.. oh the lies

So there was a big fight in Bitcoin early on, between the idiot asshole anarchists who wanted a drug-currency and the banker types who thought Blockchain would be incredibly useful. And the Anarchists 'won' temporarily because they got to limit the size of the blockchain and make it useless for all the things those banker types wanted to use it for. It's not even a debate that this happened. There's no debate really that the block size was always intended to scale. They just made this stupid argument that the people who invested in the network were 'winning' and that it wouldn't be 'Peer to Peer' anymore if the miners 'took over'. It was total and utter crap then, and it's total and utter crap now.
If you remember, back in the early days of conferences, there'd be a ton of people around from the tech industry who showed up to enthuse over how cool Bitcoin technology was, and that sort of exploded into the crypto industry. But the truth is pretty plain: the Bitcoin blockchain could have grown and grown into something big and useful full of people's data and used in multiple different ways. It would be secured by big big companies with lots to lose who had their own interests invested in the blockchain they were securing.
It didn't happen like that precisely because the cypherpunks tried to hide transactions on chain. It didn't happen because the cypherpunks didn't like the idea of a big public blockchain. Fundamentally, they don't like the internet as it is, because they say they're privacy advocates. The reality is that they like the fact that they can hack and explore the digital world, so the 'privacy advocacy' is really just an excuse.
So what are these people afraid of exactly?
They're basically afraid of an authoritarian future based on the blockchain. But are their fears reasonable or warranted? They don't want to be tracked and traced (especially, they're campaigning for the right to privacy and the right to be forgotten). But truthfully speaking, the blockchain works because it's a public database where transactions are broadcast in public. And the reality of the system may well be that the economics work PRECISELY because of the publishing of the transactions. Public transactions, in economic terms, may well be 'cheaper' than private ones, and probably for a very good reason.
Honest transactions carry less need for privacy, less need for secrecy, so they don't need to be protected so much, as a result so they don't cost as much.
So if you look at it through this lens it becomes MORE THAN CLEAR why they hate Satoshi's Original Vision (now BSV). They hate the public nature of the chain. They want an alternative system to the banking system, and they want it to be hidden, uncensorable, uncontrollable and 'free' in all the worst ways.
submitted by Jo_Bones to bsv [link] [comments]

Bitcoin Fullnode Install Guide for Dummies ;-)

Bitcoin Fullnode Install Guide for Dummies ;-)
Feel free to stop at Level 0 or Level 1, which is fine. More advanced configs are offered to those with more tech savvy. This guide, obviously assumes a Windows 10 install, but other OSes work fine, just find a different guide. BTW, the "For Dummies" is a callback to a set of "tech" books in the 90's intended to be as easy as possible. It is in jest and not intended to insult the reader. Finally, if you dislike the formatting, a well formatted copy can be found here
There is a fairly small subset of Bitcoin users that run a full node. I think the idea of running a full node has gotten a bad rap over the years since there is so much talk about running on a Raspberry Pi, or getting zippy SSDs. Although all of this can be fun, it is often not really required at all. Here are some ways to run a full node starting with the very simple. I'll get into more complex configs, but these are all optional.

Tech Skill Level: 0 (the basics)

  1. Download Bitcoin Core
  2. Launch the downloaded installer and install the app
  3. Launch the installed "Bitcoin Core" app and let it run overnight
In many cases, thats it. If your running a new machine with a fairly good internet connection, 8 or 9 hours will be enough to complete the "Initial Block Download" (IBD). This may fill up your drive a bit, but again, on most new machines, 300 GB of space isn't that hard to come by.

Tech Skill Level: 1 (encrypted wallet)

One thing we left out in the level-0 exercise is encrypting your wallet. It's easy enough to do well, but a bit more difficult to do right. The main challenge is that humans generate really poor passwords. If you want a good password, the best way is to use something called "diceware". Basically, you just grab 4 or 5 dice and each throw of the dice represents a certain word on a special list. The throw {1,4,5,3,1} for example would be the word camping on the EFF-diceware-wordlist. So you repeat this a few times until you have a list of 8 or so words which becomes the passphrase you use to encrypt your wallet. Write it down, it is always hard to remember at first. So at level-1 your list becomes:
  1. Download Bitcoin Core
  2. Launch the downloaded installer and install the app
  3. Launch the installed "Bitcoin Core" app and let it run overnight
  4. Choose Encrypt Wallet from the Settings menu
  5. Enter your 8 word (or so) passphrase generated using the Diceware method

Wallet Encryption Dialog

Tech Skill Level: 2 (enable pruning if needed)

Though I said "300 GB of space isn't hard to come by", some times it actually is. If space is an issue, a simple way to fix it is to tell bitcoin to simple take less space. This is called "pruning" and can take that number from 300 GB down to below 5 GB. If you can't find 5 GB, then you'll have to read ahead to level-4 to add USB storage. But the good news is, enabling pruning is pretty easy, we just add another step to our working list:
  1. Download Bitcoin Core
  2. Launch the downloaded installer and install the app
  3. Launch the installed "Bitcoin Core" app and let it run overnight
  4. Do the wallet encryption steps here if you wish
  5. Choose Options from the Settings menu
  6. Choose Prune block storage to: and select the max size for the blocks to use
  7. Exit and restart the bitcoin application for the changes to take effect

Pruning Dialog
Note, even setting this to 1 GB will still leave you with about a 4.5 GB install. The blocks take up a lot of space, but the chainstate and other folders eat up at least 3.5 GB and they can't be pruned. Also, be aware, to disable pruning requires you to perform the entire IBD again. While pruned some other functions my be disabled as well, so just know that pruning does limit some functionality.

Tech Skill Level: 3 (verify the installer)

Although this is arguably something that should be done at level-0, some find the intricacies of comparing hash (thumbprint) values to be tedious and beyond the scope of a beginner. You will find these types of hash compares suggested quite often as a way to prevent running tainted programs. Programs are often tainted by bad disk or network performance, but most often, taint is malicious code inserted by viruses or malware. This is a way to guard yourself against those types of attacks.
What I cover here is a very basic comparison on the certificate, but a more thorough verification advised by mosts uses a program called Gpg4Win, and is beyond the scope of this beginners guide. But regardless, most users should strive to do this minimum level of validation.
  1. Download Bitcoin Core
  2. Launch the downloaded installer
  3. When prompted "Do you want to allow..." click Show more details
  4. In the details section select Show information about the publisher's certificate
  5. In the certificate window select the Details tab
  6. In the Details tab Subject should start with "CN = Bitcoin Core Code Signing Association"
  7. Ensure Thumbprint in Details reads ea27d3cefb3eb715ed214176a5d027e01ba1ee86
  8. If the checks pass, click OK to exit the certificate window and Yes to allow the installer to run.
  9. Launch the installed "Bitcoin Core" app and let it run overnight
  10. Do the wallet encryption steps here if you wish
  11. Do the optional pruning steps here if you wish

Certification Validation Windows
Note: The certificate used to sign the current Bitcoin installer is only valid from March 2020 to March 2021. After that point the thumbprint on the certificate will change. This is by design and intentional. If your reading this post after March 2021, then it is understood that the thumbprint has changed.

Tech Skill Level: 4 (use secondary storage)

We glossed over the "new machine with fairly good internet" part. Truth be known many people do not have fairly new machines, and find the IBD to take longer than the "over night" best wishes. For most people the slowdown is the disk access when calculating what is called chainstate. This requires fast random reads and writes to the disk. If you have an SSD disk, this will be no problem, but if you have a non-SSD "spinning" disk, random writes are always slow. Though an SSD will speed things up, they are pricey, so a nice middle ground may be a simple high-end USB key drive. You can get some with 10 to 15 MB/s random writes for $20 on Amazon. This is usually a order of magnitude faster than a "spinning" disk. And with pruning (see level-2), a small USB drive should be fine.
Once you decide on a drive, the tricky part will be to enable external storage. It requires editing a configuration file and adding a line. First, we want to create a directory on the key drive. You will need to determine the drive letter of your USB key drive. For the sake of this example, we will assume it is D:, but you must determine this yourself and correct the example. Once you know the drive letter, create a blank folder on the drive called Bitcoin. So for this example, creating Bitcoin on drive D: will create the path D:\Bitcoin. Once done, assuming that D: is your drive, here are the new steps including the edit of the configuration file:
  1. Download Bitcoin Core
  2. Launch the installer, verify it, then run it
  3. Launch the installed "Bitcoin Core" app and let it run overnight
  4. Do the wallet encryption steps here if you wish
  5. Do the optional pruning steps here if you wish
  6. Launch "Notepad" by typing "Notepad.exe" in the windows search bar then click Open
  7. Type the line datadir=D:\Bitcoin (depending on your drive letter) in the blank file
  8. Choose Save from the File menu in notepad
  9. Type %APPDATA%\Bitcoin\bitcoin.conf (note the percent signs) in the File name box
  10. Select All Files from the Save as type dropdown
  11. Click the Save button and overwrite the file if prompted
  12. Exit and restart the bitcoin application for the changes to take effect

Save As Dialog
Now that you've reached this level of technical expertise, there are many new configuration options that you can begin to modify if you wish. Most configuration data is contained in the bitcoin.conf file and learning how to maintain it is a key step for a node operator.

Tech Skill Level: 5 (all other customizations)

Here's a short list of various things you can ADD to your bitcoin.conf file. You generally just add a new line for each configuration settings.
  • addresstype=bech32
  • changetype=bech32
The addresstype / changetype allows your wallet to use the native-segwit (bech32) format. This is the most efficient and inexpensive way to spend bitcoin, and is a recommended configuration. The default uses something called p2sh-segwit which is more compatible with older wallets, but more expensive to spend.
  • minrelaytxfee=0.00000011
Changing the minrelaytxfee setting allows you to help propagate lower fee transactions. It will require more memory but TXN memory is capped at 300 MB by default anyways, so if you have enough memory, it is a good setting to choose.
  • dbcache=2048
The dbcache setting controls how many MB of memory the program will use for the chainstate database. Since this is a key bottleneck in the IBD, setting this value high (2048 MB) will greatly speed up the IBD, assuming you have the memory to spare
  • blocksdir=C:\Bitcoin
  • datadir=D:\Bitcoin
In level-4 we discussed moving the datadir to a fast external storage, but the majority of the space used for bitcoin is the blocks directory (blocksdir). Although you should always use for fastest storage for datadir, you are free to use slow storage for blocksdir. So if you only want to consume a small amount of your SSD (assumed D:) then you can keep your blocks on your slow "spinning" drive.
  • upnp=1
One of the harder challenges you may face running a node, is to get incoming connections. If you are lucky, you may find that your firewall and network HW support the uPnP protocol. If they do, this setting will allow bitcoin to configure uPnP to allow incoming connections to your node. Other methods exist to make your node reachable, but they are well beyond the scope of this guide.
submitted by brianddk to Bitcoin [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]

Year 2050 and beyond; the world

Under conditions like this, this will be YOUR fate in 2050 and beyond.
And warning: This will piss people off, and it will not be Shangri-La.
End of the Liberal Democratic System
You still have the democratic system we call "Liberal Democracy" these days. AKA the delusion of being able to choose better candidates for your ruler.
Unfortunately this is not the case any longer past 2050.
Leaders are EXPLICITLY stated to be lifetime rule in all nations, and are literal emperors that will rule until they die. If they take off for whatever reason, they will inherit that seat with a trusted confidant aka their closest associate.
Another trait of a liberal democracy is free speech, or your ability to question the government or the truth.
This will again no longer exist.
If you ever so deny the "[Democratic American Republic of Bananas] Holocaust of Chinese expats", "Trump is a tyrant who destroyed the United States" or "Covid is a deadly illness" fake facts, They will put you to a mental health check. If they screened you and/or it turns out that you are a "God Worshiper", "Conspiracy Theorist" or anyone who doesn't agree with Marxist Humanist ideology, you will be sent to a camp to be gassed and never come out again.
Covid Measures
You really don't think the Covid measures end after a year don't you?
It's a non-existent and neverending crisis.
Yes, Covid Policies will persist as soon as earth exists.
And these policies are bound to DRIVE PEOPLE INSANE.
Forced Masks, Social Distancing, Forced quarantines.......you named it. It's there.
Bars, pubs, theme parks, public schools, small businesses etc will go to the way of the dodo.
Save for big companies with extraorbitant prices selling foods, electronics or other necessities, nothing will exist around the streets.
If you walk out of the streets without a mask, an enforcer will ambush and kill you.
You can't even dine outside, you have to dine at home.
Curfews are forced unless under certain conditions, save for right before announcing Covid pandemics or any other emergencies, such as terror attacks, UFO fear mongering, anarchists...
Failure to comply will result in government hired fixers catching you to the camp and slitting your head with a mechanical blade.
Oh and the only business bar big companies that are still around are...
Which brings to the next point:
Legalized Killing
Gone were the days where killing is illegal.
If they can make LGBT and Pedophilia legal and a lifestyle, why not make killing one as well?
The new society is going to stress LOTS of people out, to the point that they will kill at the slightest of a whim.
If bars, pubs, theme parks, small businesses etc got driven to extinction, what do you think their employees will do?
They go out and KILL!
Piss people off by the slightest bit such as telling to them "Covid is fake," then at the next day, civilian conduct patrols will come in and kill you.
Killing, Harvesting organs, cannibalism etc...will become the DE FACTO lifestyle. And because of Covid policies, most businesses will not be able to survive the cataclysm.
And those who cannot find a job or get their job destroyed cannot conduct an uprising against big elite. If you want to conduct a popular uprising, you NEED other elites to back you.
So what do they do? They kill.
You will see more killers, bodyguards, and cannibals than there are store clerks because it's the only thing that can make you money in the true new normal.
Even civilians want nothing to do with it will go out and feast on the flesh of their close ones, not out of betrayal, but to survive.
And you better off not go out during certain times of the day because there will be so many cannibals or mafia gangs patrolling the streets waiting to catch any unsuspecting bystander.
Save for feral cannibals or angry civilians, there's also the risk of mafia and other conducted kill squads, such as the aforementioned civilian patrols, hired mercenary and hitman groups, as well as chefs (with many of them being former angry civilians).
These things had long lost their humanity, and if you get reported to them, be it tax evasion, NEET, homeless, or even muttering "Hail Trump" or the Bible and got heard, you will be caught by these paid killers and die. The chefs are the worst because they are cannibals who will basically catch anyone and everyone to get them killed, for no reason.
In certain places, infant mortality rate is expected to be 99% and the number of people who can grow to adulthood is an estimated 0.5% of the population (around the population of NYC, for example)
End of free media
Save for the aforementioned no tolerance anti thought crime laws, expect the same to happen on the internet and the TV.
Everyday, after you come back home after a hard day killing the undesireables, you turn on the TV and watch the same 3 programs on an infinity loop.
If you wanna use the computer, remember that all websites had been put under Google, Amazon or Facebook rule (assuming if these companies ever existed or similar ones replaced them), and around only 20 sites exist and all of them are big on pro-state propaganda as North Korea. Modern CCP doesn't even describe it. It will resemble North Korean internet, where not a single trace of anti-truth can exist, in general.
Video Games will all be first person shooters or political propaganda, such as WWIII or the BLM Revolution.
(Anime or Weeb culture will also cease to exist because it will be considered derogatory pedophilia or disgraces against women. Yet pedophillia is actually getting legitimized in the new world, and children can be killed as easily as adults.)
Healthcare of Death
You have to go screen yourself for health issues daily to monthly depending on the type.
Covid Screenings are daily, Mental Health Screenings are monthly, Cancer, Diabetes, cholestrol yearly scans...
Failure to pass the Covid and Mental health screenings will put you to a quarantine cell to be gassed, no exceptions.
Failure to pass the yearly ones will result in medication until death.
These scannings are all robotic and turn out false positives in a 20-30% rate.
Also, you have to be vaccinated every 6 months, these are poisonous chemicals but it doesn't matter. Also there's no such thing as a Covid vaccine because Covid doesn't exist.
Who cares if you die anyway in a society like this?
Surveillance State
Expect LOTS and LOTS of Cameras.
You might not need to know where these cameras lead to, but expect installment of surveillance cameras as a part of the law.
They will be all over the streets, your television, the ceiling of your house, the fridge, your business, whatever.
In truth, the images transmit into neighbor committees, mafia offices, hired enforcer offices, other assorted kill squads...just to facilitate these groups to arrest and kill you inside your house.
The reasons can be you homeschooling children, you lacking a job, you lacking education, you being depressed, you worshiping god, you muttering anti-truth, you not wearing masks when you go out, you gather with with more than 4 people...
But if you know less, the better.
Paying the price
Everything is taxed or expensive as hell in the new world.
The currency used is Bitcoin, and a normal killing job will only give you 6 bitcoins per month. (There are better jobs out there giving around hundreds, but it will not be for you at least)
Most necessities cost more than 18 bitcoins and food or water will cost around 0.40 bitcoins.
They will tax you 1 Bitcoin a month, possibly more.
Failure to comply to the tax will result in 2 warnings. Each warning, 2 days. At the end of 2 days, government enforcers will arrive to the spot and catch you to be gassed.
Cashless Society
Related to the point above, you no longer need cash.
Cash is obsolete, and bitcoin will take its place.
1 Bitcoin is over 10000 USD.
Also it will be done by Microchip.
But do not expect you YOURSELF to be microchipped.
You might be required to have an extra gadget in your phone or a special wristband.
Anyone without the wristband or the gadget, even at home, will be murdered fast.
The wristband or phone gadget is another one of those ways they watch over you; but they will be your only way of pay.
You will not be able to pay or get money without this phone gadget or wristband, and again enforcers will give you 1 hour of time to get 1 before you get gassed.
One of these gadgets or wristbands will cost 4 bitcoins, and phones might as well as cost 18 bitcoins for an average quality smartphone, and a high quality smartphone 30.
Report Happy Neighbours
Neighbors, associates or even your children and educated and programmed to report you for the slightest of issues.
Failure to fulfill a certain dress code of your organization.
Muttering God, Freedom, Anti-Marxism, Conspiracies, Anti Truth, or speaking it on social media or Discord.
Being an emotionally unstable mess.
No school or work. (School is always internet school while work is always necessary services, killings/bodyguards/snitchers or any combination of these.)
Not wearing a mask when you go outside.
All but one of the many reasons why you can be reported by neighbors and even your children.
If they decided to report and remove you for the following reasons, some type of authority will go in and murder you in a few hours.
Political Correctness
Like I ALWAYS said before, in the new world, beware of what you say in the public.
This includes in places like Discord or Twitter.
If you ever slip out any semblances of anti truth, holocaust denial, covid denial, religious babble etc...
Yeah, authorities knock your door and send you to be gassed, no exceptions.
Thoughtcrime doesn't result in just a chatroom ban, authorities knock on your door and send you to be gassed.
Forced Education
If you think that Covid equals no education, you are wrong.
Public schools do not exist as face to face tutoring and resemble database facilities.
However, your children have to be homeschooled by authorities every time of the day.
The subjects will be very dull, incoherent, boring and sometimes radical like some sort of anarchist or military training.
However, your child is explicitly stated not to be able of leaving their PC desk during classes, for more than 20 minutes.
Because the computers are cameras themselves, the images of your students will be transmitted to the teacher inside the "school."
Failure to comply and the authorities will take your children and you.
Same occurs if your children is homeschooled or is off from school for no reason within 6 days. This includes not having a PC to begin with; a PC costs 30 Bitcoins.
Forced Labor
You HAVE to go to work, no matter what.
Work is a part of life, and as soon as you are in the age of 15, you must find a work. Most people will have to find one and plan one from the age of 10.
This can arrange from killings, mafia, organ harvesting, bodyguards, take-out restaurants, store clerks...
You HAVE to find one.
Usually, if you are not one of the more privileged class, you have to go out and kill.
Mercy isn't an option in these cases.
No matter what the excuse is, saint or devil, you gotta kill them.
The higher the body count, the greater the talent, the higher the ranks you are.
This also means that you must stay fit at all costs. People who are not physically fit will not qualify, so are merciful people.
The more angry, brave, obedient, and warfare-efficient you are the better.
Your life is at risk, every day, but nobody cares.
Some of the people will be able to not spill blood with their own hands and find a slightly better job such as being a doctor, government official, concentration camp warden or even a teacher. But don't expect this to be you.
Altered lifespans
Because of all the GMOs, air pollution, fixer killings, mentally ill bozos, cannibals, mafia gangs....the lifespans of people will be drastically altered.
Most people will be chronically ill at the age of 50, and past the age of 45 you cannot be allotted any jobs.
The fixer and killer groups will only hire people starting from as young as 10 and as old as 30.
Infant mortality rate can arrange from 50% on lowest and 99% on highest, and chances to survive till adulthood is approximately 40% on average. In some places, this is below 0.5%.
If you happen to survive past the age of 60, you will be exterminated instantly. This is a benefit for the government because 1. You can't find anymore jobs or unable of production 2. to reduce spreading of Covid, a non-existent illness.
War on Terror
No matter what, the world 2050 and beyond will not be peaceful.
"Wars on Terror" will still occur.
Anarchist false flags groups (similar to Black Block and ISIS) built by the government, Covid pandemic waves, reptilian UFO false flags/fear mongering, Religious terrorists...ALL of these will continue to occur and in overly insane degrees to keep you scared.
Most notably, expect the Covid pandemic EVERY 4 months where the whole country will fall on lockdown for a month.
All of these aren't going anywhere but to keep you terrified and depressed.
Paid Fixers/Killers will be prohibited to deal with any of these terror groups for unknown reasons just because the Government has to solve them.
The government catches these terrorists and releases them, if there are any terrorists.
White and Black Ethnics
The world will be split into two parts. A part with polyglot populations who has every possible mixed race, and others who can maintain racial purity and are more than willing to commit genocide against anyone opposed to their race.
Most notably, Europe and the US will resemble Babylon. There will be countless ghettos, filled with all sorts of ethnicities crammed in pint size ghettos, with fights all over the place. As they call it "legs made of steel and clay." The fun thing is, Kill Groups or gangs will only hire the same race, and it makes you harder to find a job.
The other side will be consisted of fully racially brainwashed idiots who were taught pure eugenics and inferiorities. They will be indoctrinated in a way like the Nazis, Russians, Japanese and CCP educates their offspring. It usually happens in Asian or non pro-western states such as: Japan, Both Koreas, China, Russia, Malaysia... Expect these people to be ethno-supremacist and willing to kill anyone of the opposing race. (Such as Taiwanese and Japanese will happily kill Chinese, Chinese will happily kill Indians or Japanese, Russians might want to kill Americans...the inverse is true of all things.)
You can't form to rebel against the NWO or anything with these Babylonian or white law neighbors or countries.
So beware.
You HAVE to wake up right now.
This will be a rude awakening, and if this ever happens, your life will not even matter 5 cents.
The brick wall behind the curtain doesn't only have cuffs, it has spikes as well.
This is your fate in society, 2050 and beyond.
All these confrontations, cancelling, and isolation will be worth it if this is YOUR fate and you realize it.
submitted by Mrexreturns to conspiracy [link] [comments]

Update and Few Thoughts, a (Well-Typed) transcript: Liza&Charles the marketeers, Voltaire kick-off, PrisM and Ebb-and-Flow to fuck ETH2.0 Gasper, the (back)log of a man and a falcon, lots of companies, September Goguen time, Basho, 2021 Titans, Basho, Hydra and much more thoughts and prayers

Hi everybody this is Charles Hoskinson broadcasting live from warm sunny Colorado. I'm trying a new streaming service and it allows me to annotate a few things and simulcast to both periscope and youtube. Let's see how this works. I also get to put a little caption. I think for the future, I'm just for a while going to put: "I will never give away ada". So, when people repost my videos for giveaway scams they at least have that. First off, a thank you, a community member named Daryl had decided to carve a log and give his artistic impression of my twitter profile picture of me and the falcon so that always means a lot when I get these gifts from fans and also I just wanted to, on the back of the Catalyst presentation, express my profound gratitude and excitement to the community.
You know it's really really cool to see how much progress has been made in such a short period of time. It was only yesterday when we were saying "when Shelley"? Now Shelley's out and it's evolving rapidly. Voltaire is now starting to evolve rapidly and we're real close to Goguen. At the end of this month we'll be able to talk around some of the realities of Goguen and some of the ideas we have and give some dates for certain things and give you a sense of where that project is at. The good news is that we have gained an enormous amount of progress and knowledge about what we need to do and how to get that done and basically people are just executing and it's a much smaller task than getting us to Shelley. With Byron to Shelley we literally had to build a completely new cryptocurrency from the ground up. We had to have new ledger rules, new update system, we had to invent a way of transitioning from one system to another system and there's hundreds of other little innovations along the way: new network stack and so forth. Byron cosmetically looks like Shelley but under the hood it's completely different and the Shelley design was built with a lot of the things that we needed for Goguen in mind. For example, we built Shelley with the idea of extended UTXO and we built Shelley understanding what the realities were for the smart contract model and that's one of the advantages you get when you do this type of bespoke engineering. There's two consequences to that, one, the integration is significantly easier, and two, the integration is significantly faster. We won't look at that same complexity there.
The product update at the end of the month... We'll really start discussing around some of these things as well as talk about partners and talk about how the development ecosystem is going to evolve. There are a lot of threads throughout all three organizations that are happening simultaneously. Emurgo, they're really thinking deeply about DeFi and they've invited us to collaborate with them on things like stablecoins for example but we're also looking at oracles (oracle pools), DEX and these other things and because there are already people in market who have made mistakes, learned lessons, it gives us the benefit of hindsight. It means we can be much faster to market and we can build much more competitive things in market and the Cardano community gets first access to these next generation DeFi applications without a lot of the problems of the prior generations and that's super beneficial to us.
You know, the other side of it, is that Voltaire is going to have a systemic influence not just on community funding but also the overall evolution and direction of the platform. The longer it exists the more pervasive it will become. Probably first applied towards the Cardano foundation roadmap but later on it will definitely have a lot of influence and say over every element aspect of the system including the launch dApps and these other things. Basically, long term, the types of problems that Cardano solves so that's incredibly appealing to me and very exciting to me because it's like I have this giant community brain with the best and brightest of all of you working with us to get us where we need to go.
You know, another thing that was super encouraging, it's a small thing, but it shows us that we're definitely in the right direction was that we recently got a demo from Pramod (Viswanath) and his team out of university of Illinois on a protocol they create called PrisM which is a super fast proof-of-work protocol and they wrote this beautiful paper and they wrote code along with it that showed that PrisM is a ten thousand times faster than Nakamoto consensus. If you take the bitcoin proof-of-work protocol, you strip it out, you put PrisM in, you can run the entire bitcoin system 10000 times faster. They have these beautiful benchmarks to show that. Even in bad network conditions. (I'm) promoting this team, they're, they're real researchers, and they're real engineers, they use a lot of cool HPC concepts like springboarding and other things like that to accommodate that. Then I asked him in the presentation, I said well, how much faster if you replay the Ethereum chain? He says, well, that it takes a big performance hit, could be only maybe a hundred times because that model is not as easy to optimize and shard with standard computer science concepts. In fact in some cases there are limitations there that really can't be overcome. It turns out that we're more on that UTXO side than we are on the account side. As a coincidence or intent of the design of extended UTXO we're gonna have a lot easier time getting much higher performance where and when it's necessary.
I also approved this week a scaling up of the Basho project. In particular, to build a hydra prototype team. The science has gotten to a point where we can make a really competitive push in that particular direction. What does that mean? It means that in just a few short months we can de-risk technological approaches that long-term will give us a lot of fruit where and when the community decides that they need infrastructure like hydra. Now, here's the beautiful thing about hydra. If you watch my whiteboard back in September of 2017 when Cardano first hit market with Byron I talked about this concept of looking at scalability with a very simple test which is as you get more people in the system it stays at the same performance or it gets faster. We all experience systems that do this, for example, bittorrent, more people downloading something you tend to be able to get it faster and we all experience the converse which is, the system gets slower when you get more people. What does this mean? It means that hydra is an actual approach towards true scalability in the system and it's a lot easier to do than sharding even though we have a beautiful approach to get the sharding on the ledger side if we truly desire to go down that way. There's beautiful ideas that we are definitely in deep discussions about. That's a very complex thing. There was recently a paper ("Ebb-and-Flow Protocols: A Resolution of the Availability-Finality Dilemma") out of Stanford that showed that the Gasper protocol as proposed for ETH2.0 does have some security concerns and it's going to be the burden on the shoulders of the Ethereum 2.0 developers and Vitalik to address those concerns from those Stanford professors. Whenever you have these very complex protocols they have so many different ways they can break and things can go wrong so it's much more appealing when you don't have to embrace complexity to achieve the same. The elegance of hydra is that stake pool operators are very natural parties to put hydra channels on and every time we add one we get much more performance out of that and the system as it gets more valuable. The k factor increases which means you get more stake pull operators, which means you get more hydra channels, so with growth we get appreciation, with appreciation we get more decentralization, with more decentralization we get more performance. In essence, this spiritually speaking, is really what we meant when we said scalability. That the system will always grow to meet its particular needs and we have a very elegant way of moving in that direction that doesn't require us to embrace very sophisticated techniques. It's not to say that these techniques don't have a place and purpose but it says that the urgency of implementing these is gone and we then have the luxury to pick the best science when it's ready instead of rushing it to market to resolve a crisis of high fees. We'll never have that crisis so there's a beauty to Cardano that is missing, I in my view, from many cryptocurrencies and blockchains in the marketplace and we're now seeing that beauty shine through. Not only through our community who are so passionate and amazing but in the science and the engineering itself and how easy it is for us to navigate the concepts. How easy it is for us to add more things, to take some things away, to clean some things up here and there and our ability to move through.
I never imagined when in 2015 I signed up to go in on this crazy ride and try to build a world financial operating system we would have made as much progress as we made today. We've written more than 75 research papers as an organization many of which are directly applicable to Cardano. We've got great partners who work with Nasa and Boeing and Pfizer, massive companies, that have 10 years of history and millions of users to come in and help us grow better. We've worked with incredible organizations, major universities like university of Wyoming, university of Edinburgh, Tokyo, tech professors all across the world. We've worked with incredible engineering firms like VacuumLabs and AtixLabs and Twig and Well-Typed, runtime verification, QuviQ and dozens of others along the years and despite the fact that at times there's been delays and friction throughout this entire journey we've mostly been aligned and we keep learning and growing. It gives me so much hope that our best days are ahead of us and an almost fanatical belief that success is inevitable in a certain respect. You see because we always find a way to be here tomorrow and we always find a way to make tomorrow a better day than today and as long as that's the trend you're monotonically increasing towards a better tomorrow, you're always going to have that outcome, you're always going to be in a position where Cardano shines bright. Towards the end of the month we'll have a lot more to say about the development side and that'll be a beginning just like Voltaire is the beginning and then suddenly you now notice the beautiful parallelism of the roadmap. Shelley continues to evolve, partial delegation is coming, in fact, I signed the contract with vacuumlabs to bring that to Ledger (and Trezor). The Daedalus team is hard at work to make that feature apparent for everyone as is the Yoroi team.
You see that, with now Voltaire, and soon was Goguen, and these are not endpoints, rather they're just beginnings and they're never over. We can always make staking better, more diverse, more merit-based and entertain different control models, have better delegation mechanics, have better user experience. The same for smart contracts, that's an endless river and along the way what we've discovered is it's easy for us to work with great minds and great people. For example with testing of smart contracts I would love to diversify that conversation above and beyond what we can come up with and bring in some firms who have done this for a long time to basically take that part with us shoulder to shoulder and build beautiful frameworks to assist us. For example, runtime verification is doing this with, the EVM with a beautiful project called Firefly to replace Truffle. I believe that we can achieve similar ends with Plutus smart contracts.
When you ask yourself what makes a system competitive in the cryptocurrency space? In my view there are four dimensions and you have to have a good story for all four of those dimensions. You need security and correctness. A lot of people don't prioritize that but when they get that wrong it hurts retail people, it hurts everyday people, billions of dollars have been lost due to the incompetence and ineptitude of junior developers making very bad mistakes and oftentimes those developers faced no consequences. The people who lost money were innocent people who believed in cryptocurrencies and wanted to be part of the movement but didn't protect themselves adequately. That's a really sad thing and it's unethical to continue pushing a model that that is the standard or the likely outcome rather than a rare edge case. You have to as a platform, a third generation platformn invest heavily in giving the developers proper tools to ensure security and correctness. We've seen a whole industry there's been great innovations out of Quantstamp and ConsenSys and dozens of other firms in the space including runtime verification who have really made major leaps in the last few years of trying to improve that story. What's unique to Cardano is that we based our foundations on languages that were designed right the first time and there's over 35 years of history for the approach that we're following in the Haskell side that allows us to build high assurance systems and our developers in the ecosystem to build high assurance systems. We didn't reinvent the wheel, we found the best wheel and we're giving it to you.
I think we're going to be dominant in that respect as we enter 2021. Second, you look at things like ease of maintenance, ease of deployment, the life cycle of the software upgrades to the software and as we've demonstrated with things like the hard fork combinator and the fact that Voltaire is not just a governance layer for ada and Cardano but will eventually be reusable for any dApp deployed on our system. You have very natural tooling that's going to allow people to upgrade their smart contracts, their dApps and enable governance for their users at an incredibly low cost and not have to reinvent the governance wheel each and every application. This is another unique property to our system and it can be reused for the dApps that you deploy on your system as I've mentioned before. Performance is a significant concern and this was often corrupted by marketers especially ICO marketers who really wanted to differentiate (and) say: "our protocol tested on a single server in someone's basement is 500000 transactions per second" and somehow that translates to real life performance and that's antithetical to anyone who's ever to study distributed systems and understands the reality of these systems and where they go and what they do and in terms of performance. I think we have the most logical approach. You know, we have 10 years of history with bitcoin, it's a massive system, we've learned a huge amount and there's a lot of papers written about, a lot of practical projects and bitcoin is about to step into the world of smart contracts. We congratulate them on getting Schnorr sigs in and the success of Taproot. That means entering 2021, 2022, we are going to start seeing legitimate dApps DeFi projects, real applications, instead of choosing Ethereum or Algorand, EOS, Cardano, choosing bitcoin and they're adding a lot to that conversation. I think that ultimately that model has a lot of promise which is why we built a better one. There are still significant limitations with what bitcoin can accomplish from settlement time to the verbosity of contracts that can be written.
The extended UTXO model was designed to be the fastest accounting and most charitable accounting model ever, on and off chain, and hydra was designed to allow you to flex between those two systems seamlessly. When you look at the foundations of where we're at and how we can extend this from domain specific languages, for domain experts, such as Marlowe to financial experts, and the DSLs that will come later, for others, like lawyers and supply chain experts in medical databases and so forth and how easy it is to write and deploy these. Plutus being beautiful glue code for both on and off chain communications. I think we have an incredibly competitive offering for performance and when hydra comes, simply put, there'll be no one faster. If we need to shard, we're going to do that and definitely better than anybody else because we know where our security model sits and there won't be surprise Stanford papers to blindside us that require immediate addressing.
In terms of operating costs, this is the last component, in my view, and that's basically how much does it cost you the developer to run your application? There are really two dimensions, one is predictability and the other is amount. It's not just good enough to say: it's a penny per transaction today. You need to know that after you spend millions of dollars and months or years of effort building something and deploying something that you're not going to wake up tomorrow and now it's five dollars to do what used to cost a penny. You need that cost to be as low as possible and as predictable as possible and again the way that we architectured our system and as we turn things on towards the end of this year and as we enter into the next year we believe we have a great approach to achieve low operating cost. One person asks why Cardano? Well because we have great security and correctness in the development experience and tools with 35 years of legacy that were built right the first time and don't put the burdens of mistakes on your customers. They ask why Cardano and we say: well the chain itself is going to give you great solutions with identity value transformation and governance itself and as a consequence when you talk about upgrading your applications having a relationship with your customers of your applications and you talk about the ease of maintenance of those applications. There's going to be a good story there and we have beautiful frameworks like Voltaire that allow that story to evolve and we keep adding partners and who have decades of experience to get us along. We won't stop until it's much better. They asked why Cardano? We said because at the moment we're 10 times faster today than Ethereum today and that's all we really need for this year and next year to be honest and in the future we can be as fast as we need to be because we're truly scalable. As the system gets more decentralized the system improves performance and where and when we need to shard we can do that. We'll have the luxury of time to do it right, the Cardano way, and when people ask why Cardano? Because the reality is, it's very cheap to do things on our platform and the way we're building things. That's going to continue being the case and we have the governance mechanisms to allow the community to readjust fees and parameters so that it can continue being affordable for users. Everything in the system will eventually be customizable and parameterizable: from block size, to transaction fees and the community will be in a good position to dynamically allocate these things where and when needed so that we can enjoy as an ecosystem predictability in our cost.
In the coming weeks and months, especially in my company, we're going to invest a lot of time and effort into comparison marketing and product marketing. When I see people say, oh well, you've launched proof of stake, a lot of other people have done. I don't think those people fully appreciate the magnitude of what we actually accomplished as an ecosystem and the quality of the protocols that are in distribution. That's not their fault, it's our fault, because we didn't take the time in simplistic terms, not scientific papers and deep code and formal specifications, but rather everyday language, to really show why we're different. I admit that that's a product failing and that needs to be corrected so we hired a great marketing director, named Liza (Horowitz?) and she is going to work full time with me and others in the ecosystem, a great team of people, every single day to get out there and explain what we have done is novel, unique, competitive and special to our industry. Everything from Ouroboros and contrast to major other protocols from the EOSes and Algorands and the Tezos of the world. Why we're different, trade-offs we chose over them, to our network stack, to the extended UTXO model, to Plutus, to Marlowe and we're going to keep hammering away at that until we get it right and everybody acknowledges and sees what has been accomplished.
I've spent five years of my life, good years of my life, and missed a lot to get this project where it needs to go. All of our employees have invested huge sums of their personal lives, their time, their brand, their careers, in trying to make this the really most magical and special cryptocurrency and blockchain infrastructure around. No one ever signed up in this company or the other companies working on Cardano to work on a mediocre protocol. That's just another blockchain, they signed up to change the world, they signed up to build a system that legitimately can look at you in the face and say: one day we have the potential to have a billion users! That's what they signed up for and they showed up to play. They built technology that evolves in that direction with some certainty and great foundations and we have an obligation to market in a way that can show the world why, succinctly, with clarity. Understandably, this has been a failing in the past but you know what? You can always be better tomorrow that monotonically increasing make it better and that's what we're going to do. We recognized it and we're going to invest in it and with Voltaire if we can't do it. You the community can do it and we'll work with you. If you can do a better job and the funding will be there to get that done. In addition to this, we think about 2021 and we ask where does the future take us? I've thought a lot about this you know I've thought a lot about how do we get the next five years as we close out 2020 and here's the reality: we're not going to leave as a company until we have smart contracts and multi-asset and Voltaire has evolved to a point where the community can comfortably make decisions about the future of the protocol and that the staking experience has solidified and it's stable.
I don't care if this costs me millions or tens of millions of dollars out of my own pocket to make happen. I'm going to do that because that's my commitment to you, the community and every product update will keep pushing our way there. We'll continue to get more transparent, we'll continue to get more aggressive and hire more and parallelize more. Aware when we can, to deliver that experience so that Cardano gets where it needs to go. Then when we ask about where do we go next? The reality is that the science as an industry, the engineering as an industry has given a menu of incredibly unique attractive and sexy things that we can pursue. What we're going to do is work with the community and the very same tools that are turning on today, the Voltaire tools, the cardano.ideascale.com tools and we're going to propose a consortium and we're going to bring the best and brightest together and give a vision of where we can take the system in another five years. With the benefit of hindsight, massively improved processes, better estimation capabilities and the fact that we're not starting with two people at IOG. We're starting with 250 people and the best scientific division in our industry and the legacy of almost, nearly by the end of this year, 100 scientific papers. That's us, you know what, there's dozens of companies throughout the history who have worked on Cardano. It's about time to scale them up too and get client diversity. So come next year when the protocol has evolved to the point where it's ready for it, we'll have that conversation with you the community and that's going to be a beautiful conversation. At the conclusion of it, there's going to be certainty of how we're going to evolve over the next five years to get ourselves beyond the cryptocurrency space. I'm very tired of these conversations we have about: are you going to go to (coindesk's) consensus or not? Or who's going to be the big winner? What about Libra or what about this particular regulation and this crypto unicorn and this thing?
You know I've been in the space a long time and I've noticed that people keep saying the same things year after year in the same venues. Yes, the crowd sizes get larger and the amount of value at risk gets larger but I haven't seen a lot of progress in the places where I feel it is absolutely necessary for this technology to be permanent in the developing world. We need to see economic identity. People often ask what is the mission for Cardano? For us IOG, you look at economic identity and you take a look at a roadmap. For it, you scale up and down, and each and every step along the way, from open data, to self-sovereign identity, to financial inclusion. You can keep going down: to decentralized lending, decentralized insurance, decentralized banking. Each and every step along the way to economic identity. When you admit a blockchain tells you that, there's a collection of applications and infrastructure that you need to build.
My life's work is to get to a point where we have the technology to do that. The infrastructure to do that, with principles, and so we'll keep evolving Cardano and we'll keep evolving the space as a whole and the science as a whole until I can wake up and say: each box and that road to economic identity, for all people not just one group, we have a solution for that. I'm going to put those applications on Cardano and success for me is not about us being king of the crypto hill and having a higher market cap than bitcoin or being entrepreneur of the year coindesk's most influential person. It's meaningless noise, success for me is reflecting back at the things that we have accomplished together and recognizing that millions if not billions now live in a system where they all matter, they all have a voice, they all have an equal footing. The Jeff Bezos of the world have the very same experience as the person born in Rwanda and we're not done until that's the case. It's a long road, it's a hard road, but you know what? We're making progress, we have great people in Africa, we have great people in eastern Europe, we have great people in southeast Asia and great partners all along the way. Great people, Latin America, great people in south America, great people here in the United States.
When we talk about economic identity there are millions, if not tens of millions of Americans who don't have it. Same for Canadians, hundreds of thousands, who don't have it. Developed western cultures, it's the greatest blind spot of policy and as we enter into a depression as a result of coronavirus, add millions if not tens of millions more onto that list. Generations are being disenfranchised by this legacy system and we as an ecosystem, we as an entire community are offering a different way forward. Not hyper centralizationn not social credit but a way forward where you own your own money, your own identity, your own data. You're not a victim of surveillance capitalism, you're not a victim of civil asset forfeiture. When you say the wrong things, you get shut out of society. Each and every human being matters and I'm optimistic to believe that when you remind people that they matter they're gonna rise to the occasion. That is the point of my company. In the things that we do each and every day, that's our mission to give the platforms to the world so that those who don't have economic identity can get it and they can keep it and no one can take it from them and they can enjoy an ever increasing growth of standard of living wealth and prosperity.
However you want to measure that this is my goal post, I couldn't care less about the cryptocurrency space. It was a great place to start but the space needs to be reminded why it exists. Bitcoin was given a mandate on the back of the 2008 financial crisis to do something different. It was not given a mandate to go be a new settlement layer for central banks or a new way for the old guard to make more money and banks get bigger and for those who are in control to preserve their power. The whole point of doing something so crazy as to buy a coin that doesn't even exist in real life, that's just a bunch of numbers in the cloud, the whole point of that was so that we as a society could do something different than the way that we'd been doing things before. So, each and every member of the cryptocurrency space needs to remind everyone else from time to time why we're here and where did we come from and where are we going to go.
The beauty of Cardano is we have already achieved for the most part a decentralized brain and that momentum is pushing harder than ever. More and more scientists are waking up, more and more institutions are waking up, getting us there. The code we have, the right approach and I think we have a great competitive offering for 2021 as we go and battle the titans and that's going to be a lot of fun but we know who we are and where we're going and we're in the right places. It's so incredibly encouraging to see the stake pool operators not just be from California or Texas or New York or Canada. To see a lot of stake pool operators from the place that need the most, help everybody does matter and it means a lot to me for the people who are there but it means a lot to everybody to say that we have created an equal platform. It makes the participation of all of us so much more meaningful. We're not just talking to each other, we're talking to the world and by working together on this platform we're lifting the world up and giving people hope. That's the point, there's a lot more to do, we didn't get everything done. You never do you aspire, you work hard, you set a moon, shot and sometimes you can just get to orbit with the first go but you know what? When you build the next rocket you can go to Mars.
Thank you all for being with me, thank you all for being part of this. Today was a damn good day with the announcement of Voltaire. Go to cardano.ideascale.com. You can participate in that, so end of September is going to be a good day too. There's a lot of good days to come, in between a lot of hard days, doing tasks sometimes entirely forgettable but always necessary to keep the revolution going and the movement going. I cannot wait for 2021, our best days are ahead of us, because of you. You all take care now .
Source: https://www.youtube.com/watch?v=BFa9zL_Dl_w
Other things mentioned:
https://cardano.ideascale.com/
https://www.atixlabs.com/blockchain
https://www.well-typed.com/
https://www.vacuumlabs.com/
https://medium.com/interdax/what-is-taproot-and-how-will-it-benefit-bitcoin-5c8944eed8da
https://medium.com/interdax/how-will-schnorr-signatures-benefit-bitcoin-b4482cf85d40
https://quantstamp.com/
https://bloxian.com/bloxian-platforms/ (TWIG)
https://runtimeverification.com/firefly/
https://www.trufflesuite.com/
https://experts.illinois.edu/en/publications/prism-deconstructing-the-blockchain-to-approach-physical-limits (PrisM and not our Prism https://atalaprism.io/)
Ebb-and-Flow Protocols: A Resolution of the Availability-Finality Dilemma (aka Gasper and ETH2.0 fucker) https://arxiv.org/abs/2009.04987
http://www.quviq.com/products/
https://en.wikipedia.org/wiki/Schnorr_signature
submitted by stake_pool to cardano [link] [comments]

Test

Test
There is a fairly small subset of Bitcoin users that run a full node. I think the idea of running a full node has gotten a bad rap over the years since there is so much talk about running on a Raspberry Pi, or getting zippy SSDs. Although all of this can be fun, it is often not really required at all. Here are some ways to run a full node starting with the very simple. I'll get into more complex configs, but these are all optional.

Tech Skill Level: 0 (the basics)

  1. Download Bitcoin Core
  2. Launch the downloaded installer and install the app
  3. Launch the installed "Bitcoin Core" app and let it run overnight
In many cases, thats it. If your running a new machine with a fairly good internet connection, 8 or 9 hours will be enough to complete the "Initial Block Download" (IBD). This may fill up your drive a bit, but again, on most new machines, 300 GB of space isn't that hard to come by.

Tech Skill Level: 1 (encrypted wallet)

One thing we left out in the level-0 exercise is encrypting your wallet. It's easy enough to do well, but a bit more difficult to do right. The main challenge is that humans generate really poor passwords. If you want a good password, the best way is to use something called "diceware". Basically, you just grab 4 or 5 dice and each throw of the dice represents a certain word on a special list. The throw {1,4,5,3,1} for example would be the word camping on the EFF-diceware-wordlist. So you repeat this a few times until you have a list of 8 or so words which becomes the passphrase you use to encrypt your wallet. Write it down, it is always hard to remember at first. So at level-1 your list becomes:
  1. Download Bitcoin Core
  2. Launch the downloaded installer and install the app
  3. Launch the installed "Bitcoin Core" app and let it run overnight
  4. Choose Encrypt Wallet from the Settings Menu
  5. Enter your 8 word (or so) passphrase generated using the Diceware method

Wallet Encryption Dialog

Tech Skill Level: 2 (enable pruning if needed)

Though I said "300 GB of space isn't hard to come by", some times it actually is. If space is an issue, a simple way to fix it is to tell bitcoin to simple take less space. This is called "pruning" and can take that number from 300 GB down to below 5 GB. If you can't find 5 GB, then you'll have to read ahead to level-3 to add USB storage. But the good news is, enabling pruning is pretty easy, we just add another step to our working list:
  1. Download Bitcoin Core
  2. Launch the downloaded installer and install the app
  3. Launch the installed "Bitcoin Core" app and let it run overnight
  4. Do the wallet encryption steps here if you wish
  5. Choose Options from the Settings Menu
  6. Choose Prune block storage to: and select the max size for the blocks to use
  7. Exit and restart the bitcoin application for the changes to take effect

Pruning Dialog
Note, even setting this to 1 GB will still leave you with about a 4.5 GB install. The blocks take up a lot of space, but the chainstate and other folders eat up at least 3.5 GB and they can't be pruned. Also, be aware, to disable pruning requires you to perform the entire IBD again. While pruned some other functions my be disabled as well, so just know that pruning does limit some functionality.

Tech Skill Level: 3 (verify the installer)

Although this is arguably something that should be done at level-0, some find the intricacies of comparing hash (thumbprint) values to be tedious and beyond the scope of a beginner. You will find these types of hash compares suggested quite often as a way to prevent running tainted programs. Programs are often tainted by bad disk or network performance, but most often, taint is malicious code inserted by viruses or malware. This is a way to guard yourself against those types of attacks. What I cover here is a very basic comparison on the certificate, but a more thorough comparison advised by mosts uses a program called Gpg4Win, and is beyond the scope of this beginners guide. But regardless, most users should strive to do this minimum level of validation.
  1. Download Bitcoin Core
  2. Launch the downloaded installer
  3. When prompted "Do you want to allow..." click Show more details
  4. In the details section select Show information about the publisher's certificate
  5. In the certificate window select the Details tab
  6. In the Details tab Subject should start with "CN = Bitcoin Core Code Signing Association"
  7. Also ensure Thumbprint reads ea27d3cefb3eb715ed214176a5d027e01ba1ee86
  8. If the checks pass, click OK to exit the certificate window and Yes to allow the installer to run.
  9. Launch the installed "Bitcoin Core" app and let it run overnight
  10. Do the wallet encryption steps here if you wish
  11. Do the optional pruning steps here if you wish

Certification Validation Windows
Note: The certificate used to sign the current Bitcoin installer is only valid from March 2020 to March 2021. After that point the thumbprint on the certificate will change. This is by design and intentional. If your reading this post after March 2021, then it is understood that the thumbprint has changed.

Tech Skill Level: 4 (use secondary storage)

We glossed over the "new machine with fairly good internet" part. Truth me known many people do not have fairly new machines, and find the IBD to take longer than the "over night" best wishes. For most people the slowdown is the disk access when calculating what is called chainstate. This requires fast random reads and writes to the disk. If you have an SSD disk, this will be no problem, but if you have a non-SSD "spinning" disk, random writes are always slow. Though an SSD will speed things up, they are pricey, so a nice middle ground may be a simple high-end USB key drive. You can get some with 10 to 15 MB/s random writes which is usually a order of magnitude faster than a "spinning" disk. And with pruning (see level-2), a small USB drive should be fine.
Once you decide on a drive, the tricky part will be to enable external storage. It requires editing a configuration file and adding a few lines. The configuration file needs to be in both the default directory, and USB key drive, but before we do that, we want to create a directory on the key drive. You will need to determine the drive letter of your USB key drive. For the sake of this example, we will assume it is D:, but you must determine this yourself and correct the example. Once you know the drive letter, create a blank folder on the drive called Bitcoin. So for this example, creating Bitcoin on drive D: will create the path D:\Bitcoin. Once done, assuming that D: is your drive, here are the steps to edit the two configuration files:
  1. Download Bitcoin Core
  2. Launch the installer, verify it, then run it
  3. Launch the installed "Bitcoin Core" app and let it run overnight
  4. Do the wallet encryption steps here if you wish
  5. Do the optional pruning steps here if you wish
  6. Launch "Notepad" by typing "Notepad.exe" in the windows search bar then click Open
  7. Type the line datadir=D:\Bitcoin (depending on your drive letter) in the blank file
  8. Choose Save from the File menu in notepad
  9. Type %APPDATA%\Bitcoin\bitcoin.conf (note the percent signs) in the File name box
  10. Select All Files from the Save as type dropdown
  11. Click the Save button and overwrite the file if prompted
  12. Exit and restart the bitcoin application for the changes to take effect

Save As Dialog
Now that you've reached this level of technical expertise, there are many new configuration options that you can begin to modify if you wish. Most configuration data is contained in the bitcoin.conf file and learning how to maintain it is a key step for a node operator.

Tech Skill Level: 5 (all other customizations)

Here's a short list of various things you can ADD to your bitcoin.conf file. You generally just add a new line for each configuration settings.
  • addresstype=bech32
  • changetype=bech32
The addresstype / changetype allows your wallet to use the native-segwit (bech32) format. This is the most efficient and inexpensive way to spend bitcoin, and is a recommended configuration. The default uses something called p2sh-segwit which is more compatible with older wallets, but more expensive to spend.
  • minrelaytxfee=0.00000011
Changing the minrelaytxfee setting allows you to help propagate lower fee transactions. It will require more memory but TXN memory is capped at 300 MB by default anyways, so if you have enough memory, it is a good setting to choose.
  • dbcache=2048
The dbcache setting controls how many MB of memory the program will use for the chainstate database. Since this is a key bottleneck in the IBD, setting this value high (2048 MB) will greatly speed up the IBD, assuming you have the memory to spare
  • blocksdir=C:\Bitcoin
  • datadir=D:\Bitcoin
In level-4 we discussed moving the datadir to a fast external storage, but the majority of the space used for bitcoin is the blocks directory (blocksdir). Although you should always use for fastest storage for datadir, you are free to use slow storage for blocksdir. So if you only want to consume a small amount of your SSD (assumed D:) then you can keep your blocks on your slow "spinning" drive.
  • upnp=1
One of the harder challenges you may face running a node, is to get incoming connections. If you are lucky, you may find that your firewall and network HW support the uPnP protocol. If they do, this setting will allow bitcoin to configure uPnP to allow incoming connections to your node.
submitted by brianddk to brianddk [link] [comments]

Error starting up new Bitcoin Unlimited BCH node.

EDIT: Fixed, I just needed to run "./bch-unlimited-1.8.0.0/bin/bitcoind --daemon -reindex" It's fully synced now.
It was syncing for awhile at first but now it keeps crashing whenever I run the following command."./bch-unlimited-1.8.0.0/bin/bitcoind --daemon"
It throws the error "Error: Failed to connect best block"Below is the log. Any help is appreciated.
2020-07-29 18:53:36 CDBEnv::Open: LogDir=/root/.bitcoin/database ErrorFile=/root/.bitcoin/db.log 2020-07-29 18:53:36 Cache configuration: 2020-07-29 18:53:36 * Using 0.0MiB for block database 2020-07-29 18:53:36 * Using 0.0MiB for block undo database 2020-07-29 18:53:36 * Using 2.0MiB for block index database 2020-07-29 18:53:36 * Using 0.0MiB for txindex database 2020-07-29 18:53:36 * Using 317.1MiB for chain state database 2020-07-29 18:53:36 * Using 2155.9MiB for in-memory UTXO set 2020-07-29 18:53:36 init message: Opening Block database... 2020-07-29 18:53:36 LevelDB using max_open_files=1000 (default=1000) 2020-07-29 18:53:36 Opening LevelDB in /root/.bitcoin/blocks/index 2020-07-29 18:53:37 Opened LevelDB successfully 2020-07-29 18:53:37 Using obfuscation key for /root/.bitcoin/blocks/index: 0000000000000000 2020-07-29 18:53:37 init message: Opening UTXO database... 2020-07-29 18:53:37 LevelDB using max_open_files=1000 (default=1000) 2020-07-29 18:53:37 Opening LevelDB in /root/.bitcoin/chainstate 2020-07-29 18:53:38 Opened LevelDB successfully 2020-07-29 18:53:38 Using obfuscation key for /root/.bitcoin/chainstate: 8e46379444ba7f52 2020-07-29 18:53:38 init message: Opening Coins Cache database... 2020-07-29 18:53:38 init message: Loading block index... 2020-07-29 18:53:44 Checking all blk files are present... 2020-07-29 18:53:44 LoadBlockIndexDB: last block file = 695 2020-07-29 18:53:44 LoadBlockIndexDB: last block file info: CBlockFileInfo(blocks=119, size=103373591, heights=441306...441426, time=2016-11-30...2016-12-01) 2020-07-29 18:53:44 LoadBlockIndexDB: hashBestChain=000000000000000000c687014d1c6b88d26a2af658fea4598bbf9d36ae5a987c height=439622 date=2016-11-19 07:15:45 progress=0.268064 2020-07-29 18:53:44 init message: Verifying blocks... 2020-07-29 18:53:44 Verifying last 6 blocks at level 3 2020-07-29 18:53:45 No coin database inconsistencies in last 7 blocks (16216 transactions) 2020-07-29 18:53:45 block index 8915ms 2020-07-29 18:53:45 init message: Loading wallet... 2020-07-29 18:53:45 nFileVersion = 1080000 2020-07-29 18:53:45 Keys: 103 plaintext, 0 encrypted, 103 w/ metadata, 103 total 2020-07-29 18:53:45 wallet 5ms 2020-07-29 18:53:45 init message: Activating best chain... 2020-07-29 18:53:45 ERROR: ConnectBlockDependencyOrdering: block 0000000000000000012ecb0a0b8f28ee434841410d0c04ae14faa20cb5102635 inputs missing/spent in tx 335 0a01201f6cff4d38207d118c9f6100182d40033ffbcfe6daefbf9669e0f98ace 2020-07-29 18:53:45 InvalidChainFound: invalid block=0000000000000000012ecb0a0b8f28ee434841410d0c04ae14faa20cb5102635 height=439623 log2_work=85.562686 date=2016-11-19 07:25:44 2020-07-29 18:53:45 InvalidChainFound: current best=000000000000000000c687014d1c6b88d26a2af658fea4598bbf9d36ae5a987c height=439622 log2_work=85.562655 date=2016-11-19 07:15:45 2020-07-29 18:53:46 ERROR: ConnectTip(): ConnectBlock 0000000000000000012ecb0a0b8f28ee434841410d0c04ae14faa20cb5102635 failed 2020-07-29 18:53:46 Invalid block due to bad-txns-inputs-missingorspent 2020-07-29 18:53:46 InvalidChainFound: invalid block=0000000000000000012ecb0a0b8f28ee434841410d0c04ae14faa20cb5102635 height=439623 log2_work=85.562686 date=2016-11-19 07:25:44 2020-07-29 18:53:46 InvalidChainFound: current best=000000000000000000c687014d1c6b88d26a2af658fea4598bbf9d36ae5a987c height=439622 log2_work=85.562655 date=2016-11-19 07:15:45 2020-07-29 18:53:46 Chain activation failed, returning to next best choice 2020-07-29 18:53:48 Waiting for genesis block to be imported... 2020-07-29 18:53:48 Imported mempool transactions from disk: 0 successes, 0 expired 2020-07-29 18:53:48 Bound to [::]:8333 2020-07-29 18:53:48 Bound to 0.0.0.0:8333 2020-07-29 18:53:48 Error: Failed to connect best block 2020-07-29 18:53:48 Shutdown: In progress... 2020-07-29 18:53:48 StopNode() 2020-07-29 18:53:49 Dumped mempool: 2e-06s to copy, 0.001151s to dump 
submitted by BowlofFrostedFlakes to btc [link] [comments]

Landing page 1/2

US - PUBLIC SYSTEM (USPS)

other.arkitech 2017-2020

Running version: alpha-22 481bd8fd3d85e61f1ec5be37572dc2f47b23e40b81cdb7ae1797e35c7f782c51 2020-05-08 Main-net: Nodes Accounts Software: Release notes Setup instructions Linux / Windows OS Image Raspberry Pi

TL; DR;

A multi-coin platform with enhanced trading capabilities. For the shake of privacy and self-managed societies.

Overview

An anonymous distributed P2P system based on a flat organization of nodes contributing to secure a database in a way that:
The Public System
The Private System

Values


submitted by other_arkitech to US_Public_System [link] [comments]

FlowCards: A Declarative Framework for Development of Ergo dApps

FlowCards: A Declarative Framework for Development of Ergo dApps
Introduction
ErgoScript is the smart contract language used by the Ergo blockchain. While it has concise syntax adopted from Scala/Kotlin, it still may seem confusing at first because conceptually ErgoScript is quite different compared to conventional languages which we all know and love. This is because Ergo is a UTXO based blockchain, whereas smart contracts are traditionally associated with account based systems like Ethereum. However, Ergo's transaction model has many advantages over the account based model and with the right approach it can even be significantly easier to develop Ergo contracts than to write and debug Solidity code.
Below we will cover the key aspects of the Ergo contract model which makes it different:
Paradigm
The account model of Ethereum is imperative. This means that the typical task of sending coins from Alice to Bob requires changing the balances in storage as a series of operations. Ergo's UTXO based programming model on the other hand is declarative. ErgoScript contracts specify conditions for a transaction to be accepted by the blockchain (not changes to be made in the storage state as result of the contract execution).
Scalability
In the account model of Ethereum both storage changes and validity checks are performed on-chain during code execution. In contrast, Ergo transactions are created off-chain and only validation checks are performed on-chain thus reducing the amount of operations performed by every node on the network. In addition, due to immutability of the transaction graph, various optimization strategies are possible to improve throughput of transactions per second in the network. Light verifying nodes are also possible thus further facilitating scalability and accessibility of the network.
Shared state
The account-based model is reliant on shared mutable state which is known to lead to complex semantics (and subtle million dollar bugs) in the context of concurrent/ distributed computation. Ergo's model is based on an immutable graph of transactions. This approach, inherited from Bitcoin, plays well with the concurrent and distributed nature of blockchains and facilitates light trustless clients.
Expressive Power
Ethereum advocated execution of a turing-complete language on the blockchain. It theoretically promised unlimited potential, however in practice severe limitations came to light from excessive blockchain bloat, subtle multi-million dollar bugs, gas costs which limit contract complexity, and other such problems. Ergo on the flip side extends UTXO to enable turing-completeness while limiting the complexity of the ErgoScript language itself. The same expressive power is achieved in a different and more semantically sound way.
With the all of the above points, it should be clear that there are a lot of benefits to the model Ergo is using. In the rest of this article I will introduce you to the concept of FlowCards - a dApp developer component which allows for designing complex Ergo contracts in a declarative and visual way.
From Imperative to Declarative
In the imperative programming model of Ethereum a transaction is a sequence of operations executed by the Ethereum VM. The following Solidity function implements a transfer of tokens from sender to receiver . The transaction starts when sender calls this function on an instance of a contract and ends when the function returns.
// Sends an amount of existing coins from any caller to an address function send(address receiver, uint amount) public { require(amount <= balances[msg.sender], "Insufficient balance."); balances[msg.sender] -= amount; balances[receiver] += amount; emit Sent(msg.sender, receiver, amount); } 
The function first checks the pre-conditions, then updates the storage (i.e. balances) and finally publishes the post-condition as the Sent event. The gas which is consumed by the transaction is sent to the miner as a reward for executing this transaction.
Unlike Ethereum, a transaction in Ergo is a data structure holding a list of input coins which it spends and a list of output coins which it creates preserving the total balances of ERGs and tokens (in which Ergo is similar to Bitcoin).
Turning back to the example above, since Ergo natively supports tokens, therefore for this specific example of sending tokens we don't need to write any code in ErgoScript. Instead we need to create the ‘send’ transaction shown in the following figure, which describes the same token transfer but declaratively.
https://preview.redd.it/id5kjdgn9tv41.png?width=1348&format=png&auto=webp&s=31b937d7ad0af4afe94f4d023e8c90c97c8aed2e
The picture visually describes the following steps, which the network user needs to perform:
  1. Select unspent sender's boxes, containing in total tB >= amount of tokens and B >= txFee + minErg ERGs.
  2. Create an output target box which is protected by the receiver public key with minErg ERGs and amount of T tokens.
  3. Create one fee output protected by the minerFee contract with txFee ERGs.
  4. Create one change output protected by the sender public key, containing B - minErg - txFee ERGs and tB - amount of T tokens.
  5. Create a new transaction, sign it using the sender's secret key and send to the Ergo network.
What is important to understand here is that all of these steps are preformed off-chain (for example using Appkit Transaction API) by the user's application. Ergo network nodes don't need to repeat this transaction creation process, they only need to validate the already formed transaction. ErgoScript contracts are stored in the inputs of the transaction and check spending conditions. The node executes the contracts on-chain when the transaction is validated. The transaction is valid if all of the conditions are satisfied.
Thus, in Ethereum when we “send amount from sender to recipient” we are literally editing balances and updating the storage with a concrete set of commands. This happens on-chain and thus a new transaction is also created on-chain as the result of this process.
In Ergo (as in Bitcoin) transactions are created off-chain and the network nodes only verify them. The effects of the transaction on the blockchain state is that input coins (or Boxes in Ergo's parlance) are removed and output boxes are added to the UTXO set.
In the example above we don't use an ErgoScript contract but instead assume a signature check is used as the spending pre-condition. However in more complex application scenarios we of course need to use ErgoScript which is what we are going to discuss next.
From Changing State to Checking Context
In the send function example we first checked the pre-condition (require(amount <= balances[msg.sender],...) ) and then changed the state (i.e. update balances balances[msg.sender] -= amount ). This is typical in Ethereum transactions. Before we change anything we need to check if it is valid to do so.
In Ergo, as we discussed previously, the state (i.e. UTXO set of boxes) is changed implicitly when a valid transaction is included in a block. Thus we only need to check the pre-conditions before the transaction can be added to the block. This is what ErgoScript contracts do.
It is not possible to “change the state” in ErgoScript because it is a language to check pre-conditions for spending coins. ErgoScript is a purely functional language without side effects that operates on immutable data values. This means all the inputs, outputs and other transaction parameters available in a script are immutable. This, among other things, makes ErgoScript a very simple language that is easy to learn and safe to use. Similar to Bitcoin, each input box contains a script, which should return the true value in order to 1) allow spending of the box (i.e. removing from the UTXO set) and 2) adding the transaction to the block.
If we are being pedantic, it is therefore incorrect (strictly speaking) to think of ErgoScript as the language of Ergo contracts, because it is the language of propositions (logical predicates, formulas, etc.) which protect boxes from “illegal” spending. Unlike Bitcoin, in Ergo the whole transaction and a part of the current blockchain context is available to every script. Therefore each script may check which outputs are created by the transaction, their ERG and token amounts (we will use this capability in our example DEX contracts), current block number etc.
In ErgoScript you define the conditions of whether changes (i.e. coin spending) are allowed to happen in a given context. This is in contrast to programming the changes imperatively in the code of a contract.
While Ergo's transaction model unlocks a whole range of applications like (DEX, DeFi Apps, LETS, etc), designing contracts as pre-conditions for coin spending (or guarding scripts) directly is not intuitive. In the next sections we will consider a useful graphical notation to design contracts declaratively using FlowCard Diagrams, which is a visual representation of executable components (FlowCards).
FlowCards aim to radically simplify dApp development on the Ergo platform by providing a high-level declarative language, execution runtime, storage format and a graphical notation.
We will start with a high level of diagrams and go down to FlowCard specification.
FlowCard Diagrams
The idea behind FlowCard diagrams is based on the following observations: 1) An Ergo box is immutable and can only be spent in the transaction which uses it as an input. 2) We therefore can draw a flow of boxes through transactions, so that boxes flowing in to the transaction are spent and those flowing out are created and added to the UTXO. 3) A transaction from this perspective is simply a transformer of old boxes to the new ones preserving the balances of ERGs and tokens involved.
The following figure shows the main elements of the Ergo transaction we've already seen previously (now under the name of FlowCard Diagram).
https://preview.redd.it/9kcxl11o9tv41.png?width=1304&format=png&auto=webp&s=378a7f50769292ca94de35ff597dc1a44af56d14
There is a strictly defined meaning (semantics) behind every element of the diagram, so that the diagram is a visual representation (or a view) of the underlying executable component (called FlowCard).
The FlowCard can be used as a reusable component of an Ergo dApp to create and initiate the transaction on the Ergo blockchain. We will discuss this in the coming sections.
Now let's look at the individual pieces of the FlowCard diagram one by one.
  1. Name and Parameters
Each flow card is given a name and a list of typed parameters. This is similar to a template with parameters. In the above figure we can see the Send flow card which has five parameters. The parameters are used in the specification.
  1. Contract Wallet
This is a key element of the flow card. Every box has a guarding script. Often it is the script that checks a signature against a public key. This script is trivial in ErgoScript and is defined like the def pk(pubkey: Address) = { pubkey } template where pubkey is a parameter of the type Address . In the figure, the script template is applied to the parameter pk(sender) and thus a concrete wallet contract is obtained. Therefore pk(sender) and pk(receiver) yield different scripts and represent different wallets on the diagram, even though they use the same template.
Contract Wallet contains a set of all UTXO boxes which have a given script derived from the given script template using flow card parameters. For example, in the figure, the template is pk and parameter pubkey is substituted with the `sender’ flow card parameter.
  1. Contract
Even though a contract is a property of a box, on the diagram we group the boxes by their contracts, therefore it looks like the boxes belong to the contracts, rather than the contracts belong to the boxes. In the example, we have three instantiated contracts pk(sender) , pk(receiver) and minerFee . Note, that pk(sender) is the instantiation of the pk template with the concrete parameter sender and minerFee is the instantiation of the pre-defined contract which protects the miner reward boxes.
  1. Box name
In the diagram we can give each box a name. Besides readability of the diagram, we also use the name as a synonym of a more complex indexed access to the box in the contract. For example, change is the name of the box, which can also be used in the ErgoScript conditions instead of OUTPUTS(2) . We also use box names to associate spending conditions with the boxes.
  1. Boxes in the wallet
In the diagram, we show boxes (darker rectangles) as belonging to the contract wallets (lighter rectangles). Each such box rectangle is connected with a grey transaction rectangle by either orange or green arrows or both. An output box (with an incoming green arrow) may include many lines of text where each line specifies a condition which should be checked as part of the transaction. The first line specifies the condition on the amount of ERG which should be placed in the box. Other lines may take one of the following forms:
  1. amount: TOKEN - the box should contain the given amount of the given TOKEN
  2. R == value - the box should contain the given value of the given register R
  3. boxName ? condition - the box named boxName should check condition in its script.
We discuss these conditions in the sections below.
  1. Amount of ERGs in the box
Each box should store a minimum amount of ERGs. This is checked when the creating transaction is validated. In the diagram the amount of ERGs is always shown as the first line (e.g. B: ERG or B - minErg - txFee ). The value type ascription B: ERG is optional and may be used for readability. When the value is given as a formula, then this formula should be respected by the transaction which creates the box.
It is important to understand that variables like amount and txFee are not named properties of the boxes. They are parameters of the whole diagram and representing some amounts. Or put it another way, they are shared parameters between transactions (e.g. Sell Order and Swap transactions from DEX example below share the tAmt parameter). So the same name is tied to the same value throughout the diagram (this is where the tooling would help a lot). However, when it comes to on-chain validation of those values, only explicit conditions which are marked with ? are transformed to ErgoScript. At the same time, all other conditions are ensured off-chain during transaction building (for example in an application using Appkit API) and transaction validation when it is added to the blockchain.
  1. Amount of T token
A box can store values of many tokens. The tokens on the diagram are named and a value variable may be associated with the token T using value: T expression. The value may be given by formula. If the formula is prefixed with a box name like boxName ? formula , then it is should also be checked in the guarding script of the boxName box. This additional specification is very convenient because 1) it allows to validate the visual design automatically, and 2) the conditions specified in the boxes of a diagram are enough to synthesize the necessary guarding scripts. (more about this below at “From Diagrams To ErgoScript Contracts”)
  1. Tx Inputs
Inputs are connected to the corresponding transaction by orange arrows. An input arrow may have a label of the following forms:
  1. [email protected] - optional name with an index i.e. [email protected] or u/2 . This is a property of the target endpoint of the arrow. The name is used in conditions of related boxes and the index is the position of the corresponding box in the INPUTS collection of the transaction.
  2. !action - is a property of the source of the arrow and gives a name for an alternative spending path of the box (we will see this in DEX example)
Because of alternative spending paths, a box may have many outgoing orange arrows, in which case they should be labeled with different actions.
  1. Transaction
A transaction spends input boxes and creates output boxes. The input boxes are given by the orange arrows and the labels are expected to put inputs at the right indexes in INPUTS collection. The output boxes are given by the green arrows. Each transaction should preserve a strict balance of ERG values (sum of inputs == sum of outputs) and for each token the sum of inputs >= the sum of outputs. The design diagram requires an explicit specification of the ERG and token values for all of the output boxes to avoid implicit errors and ensure better readability.
  1. Tx Outputs
Outputs are connected to the corresponding transaction by green arrows. An output arrow may have a label of the following [email protected] , where an optional name is accompanied with an index i.e. [email protected] or u/2 . This is a property of the source endpoint of the arrow. The name is used in conditions of the related boxes and the index is the position of the corresponding box in the OUTPUTS collection of the transaction.
Example: Decentralized Exchange (DEX)
Now let's use the above described notation to design a FlowCard for a DEX dApp. It is simple enough yet also illustrates all of the key features of FlowCard diagrams which we've introduced in the previous section.
The dApp scenario is shown in the figure below: There are three participants (buyer, seller and DEX) of the DEX dApp and five different transaction types, which are created by participants. The buyer wants to swap ergAmt of ERGs for tAmt of TID tokens (or vice versa, the seller wants to sell TID tokens for ERGs, who sends the order first doesn't matter). Both the buyer and the seller can cancel their orders any time. The DEX off-chain matching service can find matching orders and create the Swap transaction to complete the exchange.
The following diagram fully (and formally) specifies all of the five transactions that must be created off-chain by the DEX dApp. It also specifies all of the spending conditions that should be verified on-chain.

https://preview.redd.it/fnt5f4qp9tv41.png?width=1614&format=png&auto=webp&s=34f145f9a6d622454906857e645def2faba057bd
Let's discuss the FlowCard diagram and the logic of each transaction in details:
Buy Order Transaction
A buyer creates a Buy Order transaction. The transaction spends E amount of ERGs (which we will write E: ERG ) from one or more boxes in the pk(buyer) wallet. The transaction creates a bid box with ergAmt: ERG protected by the buyOrder script. The buyOrder script is synthesized from the specification (see below at “From Diagrams To ErgoScript Contracts”) either manually or automatically by a tool. Even though we don't need to define the buyOrder script explicitly during designing, at run time the bid box should contain the buyOrder script as the guarding proposition (which checks the box spending conditions), otherwise the conditions specified in the diagram will not be checked.
The change box is created to make the input and output sums of the transaction balanced. The transaction fee box is omitted because it can be added automatically by the tools. In practice, however, the designer can add the fee box explicitly to the a diagram. It covers the cases of more complex transactions (like Swap) where there are many ways to pay the transaction fee.
Cancel Buy, Cancel Sell Transactions
At any time, the buyer can cancel the order by sending CancelBuy transaction. The transaction should satisfy the guarding buyOrder contract which protects the bid box. As you can see on the diagram, both the Cancel and the Swap transactions can spend the bid box. When a box has spending alternatives (or spending paths) then each alternative is identified by a unique name prefixed with ! (!cancel and !swap for the bid box). Each alternative path has specific spending conditions. In our example, when the Cancel Buy transaction spends the bid box the ?buyer condition should be satisfied, which we read as “the signature for the buyer address should be presented in the transaction”. Therefore, only buyer can cancel the buy order. This “signature” condition is only required for the !cancel alternative spending path and not required for !swap .
Sell Order Transaction
The Sell Order transaction is similar to the BuyOrder in that it deals with tokens in addition to ERGs. The transaction spends E: ERG and T: TID tokens from seller's wallet (specified as pk(seller) contract). The two outputs are ask and change . The change is a standard box to balance transaction. The ask box keeps tAmt: TID tokens for the exchange and minErg: ERG - the minimum amount of ERGs required in every box.
Swap Transaction
This is a key transaction in the DEX dApp scenario. The transaction has several spending conditions on the input boxes and those conditions are included in the buyOrder and sellOrder scripts (which are verified when the transaction is added to the blockchain). However, on the diagram those conditions are not specified in the bid and ask boxes, they are instead defined in the output boxes of the transaction.
This is a convention for improved usability because most of the conditions relate to the properties of the output boxes. We could specify those properties in the bid box, but then we would have to use more complex expressions.
Let's consider the output created by the arrow labeled with [email protected] . This label tells us that the output is at the index 0 in the OUTPUTS collection of the transaction and that in the diagram we can refer to this box by the buyerOut name. Thus we can label both the box itself and the arrow to give the box a name.
The conditions shown in the buyerOut box have the form bid ? condition , which means they should be verified on-chain in order to spend the bid box. The conditions have the following meaning:
  • tAmt: TID requires the box to have tAmt amount of TID token
  • R4 == bid.id requires R4 register in the box to be equal to id of the bid box.
  • script == buyer requires the buyerOut box to have the script of the wallet where it is located on the diagram, i.e. pk(buyer)
Similar properties are added to the sellerOut box, which is specified to be at index 1 and the name is given to it using the label on the box itself, rather than on the arrow.
The Swap transaction spends two boxes bid and ask using the !swap spending path on both, however unlike !cancel the conditions on the path are not specified. This is where the bid ? and ask ? prefixes come into play. They are used so that the conditions listed in the buyerOut and sellerOut boxes are moved to the !swap spending path of the bid and ask boxes correspondingly.
If you look at the conditions of the output boxes, you will see that they exactly specify the swap of values between seller's and buyer's wallets. The buyer gets the necessary amount of TID token and seller gets the corresponding amount of ERGs. The Swap transaction is created when there are two matching boxes with buyOrder and sellOrder contracts.
From Diagrams To ErgoScript Contracts
What is interesting about FlowCard specifications is that we can use them to automatically generate the necessary ErgoTree scripts. With the appropriate tooling support this can be done automatically, but with the lack of thereof, it can be done manually. Thus, the FlowCard allows us to capture and visually represent all of the design choices and semantic details of an Ergo dApp.
What we are going to do next is to mechanically create the buyOrder contract from the information given in the DEX flow card.
Recall that each script is a proposition (boolean valued expression) which should evaluate to true to allow spending of the box. When we have many conditions to be met at the same time we can combine them in a logical formula using the AND binary operation, and if we have alternatives (not necessarily exclusive) we can put them into the OR operation.
The buyOrder box has the alternative spending paths !cancel and !swap . Thus the ErgoScript code should have OR operation with two arguments - one for each spending path.
/** buyOrder contract */ { val cancelCondition = {} val swapCondition = {} cancelCondition || swapCondition } 
The formula for the cancelCondition expression is given in the !cancel spending path of the buyOrder box. We can directly include it in the script.
/** buyOrder contract */ { val cancelCondition = { buyer } val swapCondition = {} cancelCondition || swapCondition } 
For the !swap spending path of the buyOrder box the conditions are specified in the buyerOut output box of the Swap transaction. If we simply include them in the swapCondition then we get a syntactically incorrect script.
/** buyOrder contract */ { val cancelCondition = { buyer } val swapCondition = { tAmt: TID && R4 == bid.id && @contract } cancelCondition || swapCondition } 
We can however translate the conditions from the diagram syntax to ErgoScript expressions using the following simple rules
  1. [email protected] ==> val buyerOut = OUTPUTS(0)
  2. tAmt: TID ==> tid._2 == tAmt where tid = buyerOut.tokens(TID)
  3. R4 == bid.id ==> R4 == SELF.id where R4 = buyerOut.R4[Coll[Byte]].get
  4. script == buyer ==> buyerOut.propositionBytes == buyer.propBytes
Note, in the diagram TID represents a token id, but ErgoScript doesn't have access to the tokens by the ids so we cannot write tokens.getByKey(TID) . For this reason, when the diagram is translated into ErgoScript, TID becomes a named constant of the index in tokens collection of the box. The concrete value of the constant is assigned when the BuyOrder transaction with the buyOrder box is created. The correspondence and consistency between the actual tokenId, the TID constant and the actual tokens of the buyerOut box is ensured by the off-chain application code, which is completely possible since all of the transactions are created by the application using FlowCard as a guiding specification. This may sound too complicated, but this is part of the translation from diagram specification to actual executable application code, most of which can be automated.
After the transformation we can obtain a correct script which checks all the required preconditions for spending the buyOrder box.
/** buyOrder contract */ def DEX(buyer: Addrss, seller: Address, TID: Int, ergAmt: Long, tAmt: Long) { val cancelCondition: SigmaProp = { buyer } // verify buyer's sig (ProveDlog) val swapCondition = OUTPUTS.size > 0 && { // securing OUTPUTS access val buyerOut = OUTPUTS(0) // from [email protected] buyerOut.tokens.size > TID && { // securing tokens access val tid = buyerOut.tokens(TID) val regR4 = buyerOut.R4[Coll[Byte]] regR4.isDefined && { // securing R4 access val R4 = regR4.get tid._2 == tAmt && // from tAmt: TID R4 == SELF.id && // from R4 == bid.id buyerOut.propositionBytes == buyer.propBytes // from script == buyer } } } cancelCondition || swapCondition } 
A similar script for the sellOrder box can be obtained using the same translation rules. With the help of the tooling the code of contracts can be mechanically generated from the diagram specification.
Conclusions
Declarative programming models have already won the battle against imperative programming in many application domains like Big Data, Stream Processing, Deep Learning, Databases, etc. Ergo is pioneering the declarative model of dApp development as a better and safer alternative to the now popular imperative model of smart contracts.
The concept of FlowCard shifts the focus from writing ErgoScript contracts to the overall flow of values (hence the name), in such a way, that ErgoScript can always be generated from them. You will never need to look at the ErgoScript code once the tooling is in place.
Here are the possible next steps for future work:
  1. Storage format for FlowCard Spec and the corresponding EIP standardized file format (Json/XML/Protobuf). This will allow various tools (Diagram Editor, Runtime, dApps etc) to create and use *.flowcard files.
  2. FlowCard Viewer, which can generate the diagrams from *.flowcard files.
  3. FlowCard Runtime, which can run *.flowcard files, create and send transactions to Ergo network.
  4. FlowCard Designer Tool, which can simplify development of complex diagrams . This will make designing and validation of Ergo contracts a pleasant experience, more like drawing rather than coding. In addition, the correctness of the whole dApp scenario can be verified and controlled by the tooling.
submitted by Guilty_Pea to CryptoCurrencies [link] [comments]

Bitcoin Q A What is the biggest threat - YouTube Bitcoin hack Bitcoin mining software - YouTube Bitcoin 2014 Conference - Day 3 Highlights MtGox Bitcoins to BTC Bitcoins in 50 seconds Bitcoin explained and made simple  Guardian Animations ...

Bitcoin Core runs as a full network node and maintains a local copy of the block chain. This data independence improves wallet privacy and security. Unlike some SPV wallets that leak addresses to peers, Bitcoin Core stores all transactions locally.With local access to the complete set of headers and transactions, Bitcoin Core can use full verification to tell when peers lie about payments. Block Size: 873.666 KBytes: Blocks last 24h: 122: Blocks avg. per hour (last 24h) 5: Reward Per Block : 6.25+0.5332 BTC ($88,929.66 USD) next halving @ block 840000 (in 185688 blocks ~ 1276 days) Reward (last 24h) 762.50+65.05 BTC ($10,849,418.32 USD) Fee in Reward (Average Fee Percentage in Total Block Reward) 8.2%: Difficulty: 19.997 T next retarget @ block 657216 (in 2904 blocks ~ 21 days ... Bitcoin Core treats its block database files as 100% accurate and trustworthy, whereas during the normal initial sync it treats each block offered by a peer as invalid until proven otherwise. If an attacker is able to modify your block database files, then they can do all sorts of evil things which could cause you to lose bitcoins. Therefore, you should only copy block databases from Bitcoin ... The total size of the blockchain minus database indexes in megabytes. Produkte. Brieftasche Crypto kaufen und verkaufen. Börse Professioneller Handel. Explorer Live-Daten, Diagramme und Transaktionen. Bitcoin kaufen Handel. Gesponserte Inhalte. Währungsstatistik. Blockdetails. Blockchain-Größe (MB) Durchschnittliche Blockgröße (MB) Durchschnittliche Transaktionen pro Block. Gesamtzahl ... The size of the Bitcoin blockchain has experienced consistently high levels of growth since its creation, reaching approximately 285.06 gigabytes in size as of the end of June 2020.

[index] [29556] [47477] [30931] [37694] [19952] [26397] [29408] [29164] [32392] [7030]

Bitcoin Q A What is the biggest threat - YouTube

A not so quick update on my channel and what i've been up to :) If you enjoyed this video, please remember to leave a like and subscribe :) Check out my other Channel: https://www.youtube.com ... Day 3 of Bitcoin 2014 Conference was held on May 17, 2014. -Startup Challenge -Closing Session -Annual Members Meeting. This video is unavailable. Watch Queue Queue. Watch Queue Queue The daily blockchain growth in megabytes for the top proof of work coins from 2010 to 2019. Please note that this does not include some privacy coins such as Grin because of the design of their ... Subscribe For More Videos.....Like & Share ..... Thanks For Watching... bitcoin bitcoin how to buy what bitcoin mining what bitcoin bitcoin how to mine bi...

#