I did not mean to call the Holo team (developing HoloFuel) “gullible”; my apologies there; in fact, I believe they are very smart and reasonable people. But they’re probably either too optimistic of the future, or are too positive about people’s interests, or are too over-confident of their technological prowess, or are downright ignorant of the fact that centralized allocation of credits (the way HoloFuel wishes to pull it off) is a beyond-NP problem (or maybe just NP; citation needed; but a hard problem nonetheless). So why even bother!
Here’s all you’ve ever wanted to know about HoloFuel (not really reigniting the old debate again; it’s just that I’ve noticed people asking outright blunt questions about its functioning here on other threads of this forum, threads where my mere presence would upset a great many unappointed moderators, threads where the question yet has to be addressed properly…).
So for those of you (the curious vigilantes) who’ve wanted to know, here’s:
HoloFuel Stripped-Off:
The consumer (the app developer) wants data to be hosted (the app’s clients’ very own source chains, as a matter of fact); the hosts have to host first, earn later (even if a second later, it’s “later” nonetheless; at least that’s how the traditional cloud infrastructure providers charge), as a result of which they get credited first (i.e., go positive, while Holo mints the equivalent fuel), and the consumer buys the Fuel later (from Holo, in exchange for either the filthy Dollar or some Gold-like cryptocurrency like BTC) to settle his very own debt to the host by transferring that Fuel to the hosts that he’s indebted to.
What this apparatus does is that it puts the end-consumer at debt to the Holo organization who’s indebted to the hosts; or in other words, the consumer (the app developer who wishes to make his app easily available to even those of his customers who have no balls to host their own source-chains; mainly the Kardashians and their fan-base, so to speak) owes (at every hosting-second, periodically, or maybe one hosting-hour, which is far more convenient, or maybe some other arrangement) to Holo who owes to the hosts.
Note that in this apparatus, the total Fuel supply is equal to the total amount of unsettled debt.
But in order to model HoloFuel as an asset (as opposed to a liability being paid out of responsibility), the architecture has been flipped.
A host goes into debt first. The host’s debt ceiling (or floor, if you visualize credit as up and debt as down) is decided by its hosting prowess, which is assessed by the Holo Organization itself. So, upon joining, the host goes into debt, while Holo mints the equivalent HoloFuel. The consumer buys HoloFuel (i.e., he buys an asset in exchange for other assets), which he spends on hosts in return for some hosting-service. The host redeems it (the newly earned HoloFuel) for the asset that the consumer bought it against (thanks to the LIFO reserve system); the price of a HoloFuel (in Dollar equivalents, for instance) being decided on by the Holo Organization (or the hosts, collectively, through some algorithmic voting of some sorts), but whatever that price be, it doesn’t matter much, since hosts can increase/decrease their individual hosting-price anyway. As an example, a host might start from -100, earns 40 HoloFuel, is at -60, but his debt-floor is at -100, and he wants to continue hosting (i.e., it’s not in the mood of closing its account) so rather takes the newly earned 40 HoloFuel units to the Reserve, and thereby takes home 5 Dollars (assuming 8 HoloFuel units equal 1 Dollar). This goes on and on… At any given point in time, the total HoloFuel supply is equal to the hosting capacity of the system.
Note that Holo is, in this apparatus, the very gatekeeper that it had been asking you to fight-against, all along! It’s the sole place where +ve balance gets minted. Plus, the fuel supply in such an apparatus is a direct function of the total hosting-power of the system, which is a colossal task to calculate (especially when you consider that sometime in the future, even everyday desktop-users like you and me will be able to become hosts, not just the HoloPort owners)! And so why should Holo give you more credit rating than me, for example! And what should be the basis of that discrimination? Even this question aside, you may say that the price (and the total Fuel supply) doesn’t matter, since hosting-price can adapt, and that the LIFO redemption system ensures that future inflationary prices don’t end up draining away the whole reserve; and that we shouldn’t care about whether the Kardashians get to use our future apps or not, but consider this: HoloFuel would be (especially if Vril doesn’t take-off due to the lack of any incentives for development) the world currency for the decentralized economies of the future. And knowing that there’s no way to prevent Sybil actors from inflating the Fuel supply (except via intrusive real-DNA-sequencing of every host’s human owner in an attempt to keep inflation in check by only allowing a fixed universal [x] amount of debt-floor to the unique human hosts, as though that were an option), the other economies built on Holochain and using HoloFuel as an external compensation currency would find them at a very disadvantageous position; add to it the fact that the Fuel supply might just be a fraction of the total value represented by all the distributed economies combined and you require that the velocity of money in such a system be extremely high lest the whole system comes to an abrupt halt (i.e., you must not sit on your money, lest you lose it, since by sitting on it you decrease the availability of the already low-in-supply money); and such a low-supply (and low-availability, possibly) society begs the question that why on earth should we choose HoloFuel as our economical driver (money)? Because it’s backed by this century’s fundamental need of hosting? Certainly not! As there’re more fundamental needs, such as the dichotomy of fear/faith needs that are very primal for us human beings, but that need has already been satisfied by Gold. So should we all stick to Gold (and BTC) on the premise that that’s the best that can be done for driving economies? Certainly not! We can certainly do a lot better; in fact, we ought to do a lot better!
If I were at the captain-seat, I’d flip things a bit; knowing that it’s not a self-sustaining system (that customers don’t provide back any service to the hosts), it’s clear that we need outside-compensation. Rather than being exchangeable for Dollar and BTC, I’d choose it to be exchangeable for other distributed Holochain (and non-Holochain) economies’ Vril tokens (and upon realizing that the great-many currencies of the distributed future would need discoverability and swap-ability, I’d invest my team’s time and effort in developing Vril first, and Holo later). And knowing that there’s nothing fundamental that Holo (and hosting, in general) provides, I would never advise HoloFuel to be relied upon for long-term holdings (it would be kept very clear that “the fuel burns; sit on it at your own peril, as it might burn your butt as well!”). I’d choose to call hosts our subsidiaries, and would want to know the hell out of them (i.e., not just know-your-customer, but know-the-heck-out-of-your-customer) if I were to do it in this centralized fashion to even begin with; bad hosts (with low or infrequent uptimes) would be downlisted on my centralized match-maker service; I’d (as Holo) want to be a tyranny to hosts and a servant to customers. As for inflationary measures, I might even flip the apparatus to return to the initial (ideal) scenario described above… But when one thinks about it, Holo really does seem to be trying to pull off the impossible! You see, my (as a Vril counselor and evangelist) advice to, let’s say Amazon, would be to simply issue as much Vril as their inventory contains. Their inventory might contain 100 billion Dollars worth of goods, and the cheapest good being 5 dollars. They might choose to issue 1 trillion AMZ Vril tokens, in which case that cheapest product would sell for 50 AMZ Vril units. In the case of Apple (the smartphone manufacturer, not the juicy apple seller we discussed in the document), they might have 1 million iPhones in stock at the moment of adopting Vril and might choose to issue exactly 1 million Appils (the Apple Vril tokens). Assuming an iPhone sells for 1000 dollars, the exchange rates between AMZ Vril and Appils would settle to something like 10000:1. But in the case of Holo, even that’s not certain as to how much hosting power we have… So, yeah, one would have to dissect the poor little hosts with the Swizz-knife that KYC is! Anyway, these are my ideas around HoloFuel. Didn’t discuss them in the document since none of my assumptions around HoloFuel’s future functionality are well-founded, so decided I’d discuss them here…
As for counter-signing, the problem is simple. I want to only sign it (publish a contractual entry) only if you sign it too (i.e., you publish the entry too). One naive way around doing so is to check in the validation routine as to whether the corresponding entry that this one needs already exists; but then that’s the same thing that the other entry’s validation routines are waiting for… So can’t really do it in the validation routines. One might just publish an entry that sort-of says that “take me seriously only when my counterpart is present too”, and when the counterpart entry also exists (published by the other party involved in the transaction), you can conclude that that was a done-deal (i.e, a successful transaction; my balance got decremented, yours got incremented). But then there has to be another entry that does this increment/decrement and whose validation function checks whether both those previously mentioned co-dependent entries exist or not. If they do, both our balances change, and if not, then the transaction fails (and maybe there’s some way to make the validation function just retry, but I don’t know)… Would love it if someone can share some insight on this subject. Has anyone (@guillemcordoba) done it before (in RSM, preferably)? Shouldn’t this be simple enough to automate it with the counter-signer type? But then why the delay? Are there some more nuances that I’ve taken for granted?