Ask HN: When is federation a better solution than decentralization?
I can’t help but wonder if many of these projects are approaching the solution the wrong way. The fundamental problem underpinning decentralization is one of governance and direction. Too many cooks in the kitchen means solutions can become diluted with unnecessarily indirect incentive mechanisms.
Decentralization is a spectrum. There is a middle ground between a decentralized solution and a centralized solution. That middle ground is federation.
To me, federation has always seemed a better solution for decentralized marketplaces than full decentralization, because it decouples economic incentives from those of technology suppliers. As long as we live in a world where fiat currency and nation states dominate transactional and regulatory environments, it is unavoidable that any large enterprise pursuing legitimacy will need to interact within the bounds of laws and regulations. Given that, it seems that federation offers a better solution than decentralization because it allows service operators to define their own economic processes according to their own jurisdictions and regulations, whereas decentralization is more of a free-for-all that can meet only the lowest common denominator of regulatory and economic restrictions.
What does HN think? Is decentralization overhyped? Would many projects be better suited to a hybrid model of decentralized infrastructure and federated transactions?
81 comments
[ 0.25 ms ] story [ 188 ms ] threadI think federation is just a design tool meant to solve a specific problem, much like decentralization, programming language choice, data structures, etc are more concrete software engineering ones.
I wonder if we might see a crytocurrency someday follow that same pattern: the chain is decentralized and public, but the miners are each replaced by authorities that a user can choose to accept (or not). The downside to this would be disagreements over who actually owns what. You'd only be able to make a transaction if both the buyer and seller agree on who owns the currency being exchanged.
At least then we wouldn't have the insanity of "whoever uses the most electricity is right".
The cry to “decentralize all the things” does include moving things incrementally from single choke point to multiple choke points to multiple choke points working together with a byzantium consensus mechanism to a truly decentralized model without a single point of failure. Many projects are better suited to a hybrid model at this point in time by virtue of what is technologically feasible, as well. Example problem people still butt heads with in "decentralization": nothing at stake for PoS.
Lots of food for thought when tackling this - thanks for raising the important question in this hype cycle.
We couldn't survive the loss of efficiency that would happen if "everything started to use blockchains".
I want to highlight a technical perspective. That’s the scalability issue of Blockchain. Fully decentralization cannot afford scalability, just as we cannot afford referendum on every polical proposal.
In fact, many technical solutions to scale the Blockchain are using the same principle of your idea of federation.
What you're talking about here is decentralized consensus, which is very different than just decentralization. Regular old decentralization -- a la Secure Scuttlebutt -- has no such scaling issues.
OT: I think it's about time to end this myth. We have the internetz for a few decades and voting machines (supposedly to make it all simpler) yet somehow direct democracy is impossible and we "need" the democracy as done in the 19th century just because ... well, because no single government is willing to give power back.
Is it possible to have a referendum on every political proposal? Yes.
Is it done? No.
We don't need a referendum on every issue, we just need a way to
- change your representative every week or so
- override your representative's vote within a given time window
Part of me wonders whether this would be a good thing. I mean, the best political systems are those where things are difficult to change on purpose, like how in the US the constitution is virtually impossible to change without overwhelming agreement from most involved.
In that sense, having referendums be required on a lot of political proposals may well help kill lobbying, as well as downplay the effects of knee jerk reactions and 'think of the children' style pearl clutching. Require a majority, and well, a lot of things like copyright extensions simply can't get off the ground at all.
It has some interesting insights into when federation works and when it doesn’t.
“Nothing about any of the protocols we’ve developed requires centralization; it’s entirely possible to build a federated Signal Protocol-based messenger, but I no longer believe that it is possible to build a competitive federated messenger at all.”
You can easily move forward with a federated protocol as well if you've got cooperating people, guarantee only 6 months of support for a protocol version, and have a versioning and feature flag system.
Hell in one project I contribute to we've kept protocol compatibility since 2009, we've got mamy third party clients, everyone hosts their own server — and still we can introduce new features without breakage in a matter of days (at least into beta, QA and translation take a while).
Give me a few thousand developers, a multi billion dollar ad budget, and the ability to signup every facebook user on the planet to my messaging service, and I'll also win against XMPP. In fact, with those resources carrier pidgeons would've won against XMPP.
Slack was a side project by a failing game company. Its growth was largely organic.
I think the original premise is right that user experience is more important than ethics or philosophy or whatever the heck it is we're talking about when federations come up
And it's the real issue — not enough people contributing.
Hm ... does IRC count as federated?
> XMPP left by the wayside by Google and Facebook?
Google and Facebook want to lock you into their ecosystem, that's why they dropped federation.
When it comes to social media software, people care about two tightly-coupled things: if the people they need to talk to can be reached with it, and if the UX is good. (People abandoned IRC because its UX, which was never good, degraded to unusability in a multi-device not-always-online embedded-media world.)
But there's nothing about federation that inherently requires bad UX. But federation generally means open-source (because there's no market pressure for interoperability), and open-source means bad UX. Mastodon owes 80% of its success to having been principally developed by somebody who knows how to make a goddamned webpage. The other 20% is that it's pretty easy to host.
I think the really interesting takeaway is that the giants only don't support interoperability because they have a monopoly on good UX. If something highly usable and open-source appeared in the chat space and started gaining serious traction, the enterprise players would have to entertain the notion of playing ball and supporting the protocol – and if one of them did it, the rest would follow.
(Most) Users won't care whether or not they are using something decentralized, they only care what they can achievement with that software/service. Is it doing better than others on the market?
Back to the topic, about why Slack defeated IRC & XMPP: A product -- whether or not it's a online service or a hardware -- needs to keep up with the world. For example: If one day, people started to sharing photos and videos and voices during their online chat session, and your software can't keep up with that, then you will likely loose those people soon enough.
Currently, centralized software made upgrading very easy. You have all the control you need to force users to upgrade to your newer and richer client. While in the decentralized world, you may need to beg somebody to upgrade their server to support the newer version of your client (Due to that, you may not dare to upgrade your product that often).
Also, decentralized software usually hard to develop, while harder to generate enough revenue to be commercialized or be profitable. When clever people needs to survive, they will save the trouble and feed themselves (make money) first.
I'm not saying work on something decentralized is a bad idea though, we need decentralized service in today's very centralized world for sure. But make sure you can deliver the same level of experience (or be better) of your centralized competitors, then maybe people will start to use it.
This is a good point, and it is demonstrably the case even among cryptocurrency users who have a coinbase wallet. Coinbase is not decentralized, and for a lot of users this is actually a nice feature because you can transfer BTC balance from one coinbase user to another without incurring any miner fee or waiting a long time for confirmations.
If most people who wanted to use bitcoin actually cared about decentralization, coinbase (and other similar services) would have virtually no users.
Or maybe Bitcoin isn't good enough just yet (e.g. Lightning)?
No. The reason federated clients lost was that mega corporations can't make profit with em, and so they spent billions on their own tech.
This isn't david vs goliath, this is david vs a nuclear aircraft carrier
If you can demonstrate your stuff still works in the worst case, then when the worst case does actually happen, your staff is the only thing that will still be working when everything else goes down the tubes.
All of computer science is predicated on worst case analysis for a very, very good reason.
Decentralization did not work for Napster.
Decentralization is not a magical trick.
Money, specialy when he come to your retirement are better centralized. Because it's for your own security, gouvernement to don't let you starve.
Decentralization for money only mean, no security, no rules, nothing. Like a punk anarchy.
This is the crux of the current landscape exactly.
Is tor not a federation of onion routers?
The problems of governance are real. There's a libertarian tendency to just try to define them away, but this underestimates the extent to which abuse questions are important and how a few bad actors can overwhelm a distributed system, requiring considerable dedicated central effort to fight. USENET had its cancels ( http://wiki.killfile.org/projects/usenet/faqs/cancel/ , mostly sent by a small group of spam fighters), email had to build centralised DNS blocklists to remain usable.
And as you say, there needs to be a legitimate front organisation to interact with the regulators. Perhaps more than one, to cope with geographically distinct regulations. Or offer people an escape from their local systems of control (until you're blocked at the national level).
To me it seems that the nonprofit/co-operative model is under-explored for this.
A lot of the old Internet that people look back on fondly relied on what I call "Postel decentralisation": people think it was decentralised, but in fact it was managed by hand by John Postel back when he was IANA.
Similarly Linux has "Linus decentralisation": there's an elaborate decentralised version control system, but nonetheless Linus has effective final veto in practice. And Etherum has "Vitalik decentralisation": disasters such as the DAO can be reversed by code changes, because even if the blockchain is immutable the code required to interpret it isn't.
There is nothing but "sheep mentality" preventing most people from (hard) forking.
Don't like what Ethereum did with the DAO incident? Don't patch. See https://ethereumclassic.github.io/
Don't like what Linus did (not) merge? Fork the project, and patch it like you want. See https://grsecurity.net/features.php
First some semantics; I use decentralization as a term that applies to both distributed and federated systems. That way the aggregate term 'decentralization' contrasts centralisation properly.
Centralized systems usually work quite well until they reach a certain scale. At what scale centralized systems start breaking down is an interesting question that depends on some variables like the underlying information technology and the cultural assumptions of actors.
Federation is a pretty simple way of solving this problem if you can somehow figure out when and how to split up the centralized system and an interface for the various central nodes to communicate.
Distribution is like anarchism, a laudable goal, but each participant must be capable of independence which may be unrealistically optimistic. Having hierarchies as actors in a network seems more realistic if we can just figure out a way to keep those hierarchies bounded.
For example I think the world would be a better place if we had put into place laws early on in capitalism that would limit how many employees a company could have to some smallish amount like 25 - 100, that way the emphasis would have been on the cooperation of small hierarchies ( = individuals in our current system). Many large companies look like this internally but the teams are not autonomous to the extent of being allowed to move across company borders.
A couple of other observations with the max employee idea: nepotism wouldn't happen (wasting a whole slot in the company on someone useless would breed resentment) and tribes would form (loyalty to your tribe and learning to work together would be paramount).
What I'm leading up to here is that ideally the issue of federation vs distribution would be handled culturally. We could have a network like maidsafe or some ethereum based idea to reach distribution automagically but I tend to think something like a activitypub based social network with lots of different social interfaces (tinder, couchsurfing, instagram, language exchange, facebook groups for different interests, microblogging - only one already implemented, second hand shopping/selling and others) then you'd subscribe to a server that'd fit your niche and someone would be able to make a job out of serving a certain community. Basically letting people decide where they outsource their server needs to instead of trying to make the jump to personal servers in one go (a la urbit). Over generations server hosting would become a family thing probably? It seems natural, we'd essentially be back to square one where your family is your social bedrock.
I'm just flow-of-consciousnessing here so a massive grain of salt please but the overarching point is that distribution vs federation is more political than technical in my opinion.
Most likely you'd see a very stagnant economy suffering from very high transaction costs. The interesting thing is what happens when transaction costs are reduced via regulation. Most jobs are strangely (probably deliberately) bespoke -- they're not defined by clear protocols with well-defined responsibilities and metrics. But if you can get impose efficient regulations than you will get, I suggest, lots of small businesses and freelancers looking to optimize value under efficient regulations. The interesting thing about Uber and AirBNB is not that they are ignore regulations but that they are increasing regulatory efficiency. Slowly but surely leading to two very important industries, transportation and lodging, are being decentralized via efficient regulations that invite all sorts of competition.
On the federation side, ethereum's oracle contracts are meant to be federated feeds. For example you can create a stock price publishing contract which federates feeds from NASDAQ, BATS, NYSE etc. but the end point is a blockchain. I don't know if that is a good idea.
Federation over decentralization makes sense in any context where there is pre-existing trust. Federation is faster, more scalable, more easily upgraded, if something goes wrong it's easier to pause things and make a surgical change to the system. But federations are also easier to subvert, and users more or less end up controlling the maintainers of the system entirely. If you are a group of international banks, that's not a problem. But if you a single human being that expects corporations, banks, and governments to more or less always behave sociopathically, then it doesn't make sense.
Blockchain core infrastructure needs more time. The hype train took off way too early. I think we're looking at 5 to 10 more years of heavy improvements to things like the wallets, custody process, governance models, scripting systems / dapp languages, the cryptography itself, the peer to peer network, cross-chain exchanges, and other big developer and interoperability features, and just general education / common sense about what blockchains can and can't do.
We'll get there. Blockchain technology is absolutely revolutionary, and it's going to change a lot of things about our global infrastructure. But 2018 or even 2020 isn't the year that we see blockchains really start to get traction. There's a lot of groundwork that we still need to put in place.
I'm not sure about any of this, but I feel like lots of people recently have been making the argument that it's really early, hasn't had time to develop, etc., when I've been waiting for it to turn into something for a long time now and becoming increasingly skeptical as the goal posts have continued to move.
I've had a few people hand wave this explanation, but I've been involved with Ethereum for about 2 1/2 years and this absolutely happens. Productive work is rarely the work that makes us happiest in the moment. That's why we must force founders to hold out for liquidity.
Permissionless distributed databases have existed since the late 70s. This is not a new technology by any means.
"Blockchain core infrastructure needs more time."
I'd say 50 years is more than enough time to see that it doesn't work because it can't scale as-designed.
SSB's answer to this question is: your friends are going to store your data, because they want to read it themselves. You are going to store your friends' data, because you want to pass it on to your other friends.
The system has gotten a lot more complex since the early days, and although I no longer know all the internals, it seems that the pub servers are pretty integral to its operation, and you can't get someone onto the system without one. I agree that an SSB-like system with pub servers removed and replaced by STUN/TURN servers which would only facilitate WebRTC would not have this problem.
Just to be clear, the reason for this is that STUN/TURN servers are so lightweight and have very little to do with the actual operation of the system, so they could be put on a list on the main website and supported by very small donations.
Then again, like you said, one could describe such a system as "decentralized", not "federated". I also suspect it would have performance characteristics that many users would not like.
This sort of things shows up the myth of decentralization. Only one cryptocoin with elements of decentralization has been truly challenged, and has basically collapsed under US government pressure. It shows "decentralization" only exists until one powerful country challenges it. Which effectively means all cryptocoins may as well be directed by the US Federal Reserve. Which means you might as well buy dollars if that is the case.
While this is all the case, it can not be proved, so can be dismissed. What it does portend - the complete collapse of Bitcoin at some point - can not be dismissed though.
Control of the wires means a lot. Sure you can always sneak under to radar to some extent but the mass cannot and that probably won't change.
Do you think that world will ever end? What will that look like? Will the very, very early stages look something like this?
Cryptocurrencies were not developed as a get rich scheme, nor as a tool for energy efficiency, corporate profits nor so many of the rubrics we use to judge them today.
The idealists that authored the crypto world imagined replacing the fiats of current rulers. Considering how rare a thing that is in history their early, chaotic form of decentralization isn't doing so badly judged on its own merits.
Decentralization isn't a business model. The opposite is.
That's it. How you get to any competitive edge in a market is: 1) Be better than your competitors in a field. 2) Own that field and displace everyone else. 3) Extract value.
The Crypto hype happened because a super elegant technical solution (-> Blockchain) that nobody really understands was (and IMHO still is) waiting for a problem met a visionary hippie fantasy of a world of inefficient, evil companies that somehow will be made better by some form of decentralization.
The problem is: There wasn't ever an inefficiency and none of those "huge" competitors has any incentive to leave their market share to someone else. So exactly nothing will happen.
Crypto is nothing more than modern white knight fantasy - in reality all the purpopoted benefits of a blockchain are serious shortcomings. Do you really want a payment that can't be rolled back by a centralized authority because you were defrauded or someone hacked your account? Do you want any kind of accounts for a whole tech-afraid populace that they can't access anymore once they've lost their key?
Most people haven't realized that the current centralization and trust in some large companies and institutions is actually a pretty deep local optimum that will be incredibly hard to displace with something better.
However, I think it solves a different problem. It's a geopolitical problem. Blockchain technology provide a bulletproof (so far) way of exchanging value across borders without having to trust any middlemen.
There's a quote, I believe by Erik Voorhees, saying roughly: "Bitcoin is separation of money and state".
There's ample historical examples of that. The Internet (originally) built upon the plain old telephone network, but eventually ended up supplanting telephones, AOL, the big-3 TV networks, and many other communication monopolies. Open-source software has commoditized many formerly-profitable software businesses. Napster and the P2P craze failed as businesses, but not before taking down the record industry and opening the door for iTunes & Spotify.
For many of crypto's proponents, that's a win. They'd be happy if a bunch of banks & VC firms faded into obscurity. There'll be new evil corporations built on the backs of crypto (just witness the community blowback against Coinbase), and in the long term some form of centralized power will just colonize the crypto space the way Google & Facebook colonized the Internet, but in the meantime it may shake up quite a few old industries.
One subjective (but powerful) reason for blockchain implementations, is that we're all human, and our egos want to avoid making someone else's database The Big Platform. Or maybe that's our rational sense (looking at GOOG/FB), we don't want our application controlled by someone else.
This article spells out a few reasons why new categories of securities make sense to implement on a blockchain:
https://hackernoon.com/the-security-token-thesis-4c590476106...
> “Do we need a blockchain for this? Couldn’t this be done with a database?” The answer is yes, some of it could be done with a centralized database, but it begs the question “why hasn’t it already been done?” The answer is that the current centralized solutions for electronic value transfer lack compatibility — they don’t talk to each other. I can’t send value from PayPal to Venmo, or from E*Trade to RealtyShares. These layers aren’t interoperable.
I've never heard anyone claim blockchains are immune to double spending. There's evolutionary value behind all the experiments. And they're all experiments, including Bitcoin.
Just a bit of background. My first startup, https://qbix.com focused on letting each community host its own social network, the same way Wordpress powers blogs. Wordpress powers 30% of the Web so it seemed to be a good business model (and it is). Here is a video explaining that: https://www.youtube.com/watch?v=pZ1O_gmPneI
Last year we started a new company at https://intercoin.org focused on letting each community manage its own currency. We saw that crypto wasn't solving payments as well as WeChat and all the other centralized social networks, so we figured we could fix that. Here is a video explaining that: https://www.youtube.com/watch?v=HIbAz29L-FA
OK, so what have I learned?
First of all, federated is much easier. You simply have one source of truth for each stream of data. It's why it's more prevalent. It also creates "landlords" that you have to trust to host your data, and often their agendas clash with your own. Two months ago I asked why have "communities" at all: https://news.ycombinator.com/item?id=16741913
We are familiar with "landlords" all the time, and their inordinate power within their ecosystems. Consider Amazon's bookstore, Apple's app store, Google's search engine, Facebook's social network, and so on. Federating this would be a very good way of introducing choice, and competition among landlords. You still have to choose a landlord, but now the market can improve everyone's experience through competition.
But it turns out that you can do even better than the market, if you build technology that facilitates collaboration instead of competition. Collaboration has entirely different economics, but ultimately wins in the end. Think about Wikipedia vs Britannica, Linux vs Windows, WebKit vs old IE, and so on.
With Collaboration, the infrastructure gets paid for, but not by extracting rents through closed source software. Instead, you distribute the work across many different actors and none of them own their own little fiefdom but they are all intermixed in a grand tapestry. So why would any actor do anything? One answer is that, if they don't do it, someone else will, so they get a little bit of control / money in the beginning, which fades with time. That part is similar to capitalism. But another part is simply because "the main software is designed to facilitate that mode of collaboration by default".
Also the landlord can be a single point of failure for your data. Consider, for instance, how we store files. Imagine you have no backups in the cloud, and all files are stored in your apartment. Now there's a fire. What happened to all your files? They are gone.
But if your'e going to have backups in the cloud, you want to make sure they are encrypted, and only you can access them. Even better would be to blur the distinction between servers run by "the landlord" (even if it's your own apartment) and "the cloud" and just make protocols that find the best server, have it be in a consensus group, encrypt everything end-to-end, and allow reading and writing by multiple parties.
This is very hard to get right. But any such platform would allow people to build communities on top of a reliable foundation, where only members in the communities would be able to access information, and they could have validators who vouch for what actions (e.g. in a game) ar...
It's very easy to design systems where a single node captures the majority of the value in return for doing the majority of the coordination work. This goes deeper than politics. Look at the design of biological organisms and you find big brains capturing 20 percent of the energy. Look at the design of nation states and you find sovereigns capturing 20-30 percent of GDP. Central coordinators seem to inevitably capture 20-50% of the value. One might even argue that they "earn" it too. Distributed coordination is costly and in a world of scarce resources it's silly to entertain additional coordination costs if you can avoid them. Central coordination has a lot going for it -- in terms of speed, efficiency, economies of scale, and even reliability they are very hard to beat.
Decentralization isn't hopeless though. There exists a class of problems where distribution pays off. Problems that can be truly paralellized, indeed ones that when you examine them you realize they are in fact embarassingly parallel [1]. For these problems it's expensive to introduce a central coordinator. Rather than costs being decreased, the central coordinator now introduces costs intothe system. The central coordinator in fact must hire enforcers to go out and impose its will because there is a natural tendency to parallelize and devise local solutions.
Here's the tragedy of cryptocurrencies: currencies are not in this class of "embarassingly parallel" problems. It's just the opposite: currencies absolutely require a single coordinator with currency power. In the absence of a single coordinator the currency (which can be anything from gold to stones) is reduced to a commodity and is subject to mere supply and demand. And demand can always go to zero. This is what ultimately makes a real currency a real currency -- there exists an undying and infinite "demand" for the currency [2].
Playing games with decentralization and federation will not alter these dynamics. You can solve the double spend problem but you cannot generate infinite demand.
It's unfortunate because there are problems that the blockchain could solve that really are "embarrassingly parallel." The hope here is that all of the innovation going into blockchains will live on long after all the cryptocurrencies have gone to zero or been centralized behind trusted gateways. These innovations will be used to solve big problems that aren't currencies. Big problems like journalism (in fact all content generation a la Wikipedia, Youtube), transportation (Uber), lodging and logistics (ie Amazon and Walmart), resource overuse (this includes everything from overfishing to carbon credits) that are embarassingly parallel and are begging for blockchain-based solutions. These problems are truly global problems and it's quite likely no single central coordinator can solve them. The solution to these problems don't require a new currency and indeed if there's any hope for adoption the users will need to be able to transact in fiat. But these problems do require exactly the sort of real-time global coordination and consensus that blockchains can provide.
[0] https://en.wikipedia.org/wiki/Complementary_currency
[1] https://en.wikipedia.org/wiki/Embarrassingly_parallel
[2] http://neweconomicperspectives.org/2011/07/mmp-blog-8-taxes-...
Complementary Currencies aren't new, in fact many of them have been around for a while. Bristol Pounds [1] and Berkshares [2] are just two examples of many. And yes you can pay local taxes with them.
In fact, before the Greenback (the paper dollar) was fiat currency, there was the Free Banking Era [3]. Money was actually federated: banks would keep gold reserves, and issue banknotes. That's what circulated, not the gold. The gold and silver coins were fiat currency, and only Congress could mint them. However, people traded in local community currencies. The Greenback started as a way to finance the Civil War, and was good for paying tarriffs land taxes of the Federal government (the only kind of taxes they had). It became so popular that Congress made it legal tender after the war. That's what you have come to take for granted and think it's the majority of the money. But it's not.
Today, community currencies exist, but it's not as visible. They are federated with "landlords" who can confiscate your money, but no longer location-based. A casino or Disneyland bucks are probably the most visible examples. But actually, Facebook/GMail/iMessage Payments, PayPal, WeChat, and your local bank, are all examples of internal currencies. And you can't pay taxes with them either. Yet we all use them.
The problem is, until now, they've been pretty "dumb" money. Paper currency, or a centralized bank. Not an open platform. For payments, currently, centralized wins. WeChat, PayPal, Facebook, Venmo, as well as all the banks. They know how the money is being spent, you don't. Mint.com was a play for just the data, that's how valuable it is. What if there was a free and open source network for communities to have their own currencies? That would lower the barrier to having your own currency, run your own monetary policy and generally do all the cool things you can do when you are in control.
You know, it's less than 100 years that anyone can print anything without a gatekeeper. In most countries, even in the 80s, you could only typewrite some document on 4 carbon papers, and if you wanted a 5th paper you needed to type it all again. Then XEROX invented the copier and it spread to other countries. Then Steve Jobs and Apple led the way in desktop publishing. Then we got the Internet, and blogs. And then we got cellphones. Now we take it all for granted.
So in the same way, new technologies allow people who previously needed gatekeepers (the post office, print shops, etc.) to do it all themselves (email, blogs). Dangerous stuff for entrenched institutions? Perhaps! Or perhaps they can adapt with the times.
It's just the opposite: currencies absolutely require a single coordinator with currency power.
I think this is the source of most of your confusion. No, you just think they require it because you haven't seen an alternative. At the very least, there is no reason why two people buying coffee in NYC and in Paris should be on the same ledger. But even more to the point, look at what SAFE Network is doing, read the primer I linked to above. It is massively parallel, and it's secure!
I would respond to the rest, but this message is getting pretty long already.
[1] https://www.youtube.com/watch?v=QtGEby4ORGM
[2] https://www.youtube.com/watch?v=bzzkDRIjW30
[3] https://en.wikipedia.org/wiki/History_of_central_ban...