Fruples / xbyproposals

A collection of writings and proposals regarding the XtraBytes platform. They're all in the "Issues" tab
1 stars 0 forks source link

Broad Future Solution, Three Prongs #1

Open Fruples opened 6 years ago

Fruples commented 6 years ago

FOR INTERNAL USE ONLY/FOUO

If you're not a contributing staffer, shoo shoo, this isn't for you.

  Title: A Solution for the Future
  Author: Teioh
  Status: Draft, v1
  Type: Business proposal
  Created: 2018-04-25

All ideas expressed in this document are formulated with good intentions and submitted for thoughtful reflection and intelligent discussion. I'd be more than happy to engage in a dialogue with anyone in any forum, public or private, about the ideas submitted here-in. I've done my best to assume as little prior knowledge as possible and build understanding up to the level required to understand the proposal itself. It might seem a little simple or repetitive to those with a fairly firm grasp on the nitty gritty of crypto. If you believe something is poorly explained (incorrect, too vague, oddly worded), please let me know.

Forward: This is being written post script. Let me tell you, this turn out to be a lot bigger than I anticipated, but I'm happy with the first draft I've put together here. It's about three or so hours worth of work. I think it's a good read.

Abstract

In this proposal, I will discuss a potential shift in direction that would, in theory, correct many of the future problems of the project while still maintaining the interests of all current holders. This discussion will have three prongs, 1) I will submit that arbitruary node type limits should be done away with, 2) I will propose a quartering of all node requirements, and 3) I will outline a shift in the system that will make good use of our platform having two distinct tokens. xFuel will be proposed as a gas-like token, meant to pay for process time in the system (akin to Ether) while XBY itself will maintain its use as a core requirement to host a node on the network.

Goals of the Project

We do not have a solid mission statement. I'd hope to rectify this in the near future with the input of staffers. In the interum, I submit that we should focus on the grand goal of creating a low risk, highly functional platform that encourages experimentation at an acceptable cost amongst developers and casual adoption and support amongst non-developer crypto enthuseists. XtraBytes should strive to be a thought leader in the crypto space by making bold moves in directions different from other projects.

The Vision and an Economic Refresher

Proof of Stake is a system that was developed to address the high power consumption of Proof of Work while still maintaining the security that a large upfront cost encourages for all potential contributors. High upfront costs keep people honest. Spending a hundred thousand dollars to attempt to rewrite Bitcoin's history doesn't make economic sense when you could, instead, simply use the power of your hardware to contribute to the network in exchange for a reward. PoS uses no hashing hardware. Instead, it uses high value nodes to validate transactions. Fraudulent nodes are excluded from the reward system if detected, rendering the investment essentially zero when discredited. The idea in play here being that the high upfront cost of purchasing enough coins to run a node would strongly encourage you to play honestly and not attempt to compromise the network. Both of these systems work, but they have their drawbacks. Work is extremely powerhungry. That doesn't play well with our cultural ideas of envrionmental awareness. It's currently a necessary evil that Bitcoin requires to keep itself secure. Stake does not age well, it is essentially gambling. The system is put together and coins are sold in ICO at dirt cheap prices (and have a strong tendency to dip to relative worthlessness). This allows a small cabal of people to accrue a huge portion of tokens at virtually no risk, on the off chance that the project is successful. As the project ages, that was a reasonable couple hundred to a thousand dollars per node balloons to hundreds of thousands. Remember, ARK was premined and sold for about a penny per token. At its height it was over seven dollars. At the time of writing, it sits at $3.06. That's an unacceptable heightening of the bar to entry.

This creates two distinct groups of users. There are the institutional users, who hold the majority of the tokens (and all of the nodes). They succeed for no other reason than that they were in the right place at the right time and got lucky. Then there are the casual users, who buy and sell the token as it rises and falls for a profit. To my knowledge, there is no way for a user to move up in this system. This is entirely antithetical to widespread adoption. This is why Stake based coins are doomed to fail, long term. In order for them to succeed, the cost of the coin itself would need to drop to levels that the community would find catastrophic, as widespread adoption is only possible when a user can fathomably contribute without having to mortgage his house or sell a kidney. And make no mistake, users running their own nodes is essential to the success of a project. Ours included. Moreover, users must want to support the project because they believe in it, not because they want to get rich off of it.

So, vision. I think the best possible solution for the XBY platform would be reducing requirements to a realistic level and safeguarding ourselves from the tribulations of success. That's what this document is about, at its core. We need to find some way to allow anyone with an interest and a practical level of financial investment to enter the community in a role that involves them supporting the platform, not simply profiting off of it by trading it as an appreciating security. To that end, I think three things must be done.

xFuel Retooling

Those who were sitting in on the anniversary meeting might remember my proposal to create a use for xFuel. I was told that it wasn't the right time for that discussion, but I am adamant that we absolutely must have the discussion before the project goes live. For the record, xFuel was created to fund development of the protocol without having a pre-sale (All XBY tokens were already out in the wild, due to the project's origin as a fork of an illegitimate project, also for the record's sake). Its total supply matches the total circulating supply of XBY, though the circulating amount is far smaller. It's being used as a payment for all staff activities and its total circulation increases on a weekly basis. Originally, there was going to be a hard cap on the amount distributed, somewhere around 140m, and all the rest (about 510m) would be burned at that point. This was walked back, leadership mentioned that it would remain active as a slushfund for development for as long as it was needed. Given the fact that it is essentially free lunch from a business perspective, a rational observer would believe that this "needed" time would last until the funding ran dry.

This is a problem, considering that the whole point of the pitch on xFuel is that it was going to be a scarce resource that would allow the network to favor one node over another. Understand this in no uncertain terms: If every node (or even as low as 80%) has the maximum amount of xFuel parked in it, xFuel's benefit will be essentially negated. At a certain saturation of xFuel (with every node filled), the value of the token would drop entirely to zero. Paying your staff in a currency with such an inherent risk, coupled with the fact that it's extremely hard to sell at anything but a loss, is not a viable long term strategy. Especially when the currency itself is a ticking timebomb, albiet one that's far off. Our distance in time from that end result is no excuse to put off solving it.

Aside from its use as a node stuffer, xFuel has no function in the XBY ecosystem. At the time of writing, its value is 100% speculative, as it currently cannot be used in nodes and it cannot be traded in any exchange. It has been suggested that it could be used to allow for a community voice in the form of a vote. This is not a good idea for a host of reasons. For a writeup on this, check out [What Users Can Reasonably Vote On: Institution or Community?]. For those of you who want the hot take on it (I highly suggest you read it, though), I can boil it down in the points that apply to my point here. The only vote worth having has to do with changes in source code. It's really the only thing that matters to the longterm viability of the project. But it's also something we absolutely cannot put in the hands of those with a financial interest in the project (they will always choose what benefits themselves) or those who have no understanding of the technology (the average user has no understanding of what they want and minimal ability to apply their brains to sniff out a lemon, how many exit scam ICOs have we seen in the last seven months alone?). So, okay, what's left? Are we going to allow them to vote on partnerships? Probably not, that would be internal, and should be decided amongst leadership, not the community at large. Are we going to allow open votes on hiring staff? No way. Any decision handed off to the community would basically be "Hey, what color should the office rug be???" and nobody is going to be fooled. It's also terrible optics to promise a voice in operations only to bait and switch them.

So, no voting. At least, not with xFuel. What I think we should do is very simple, make xFuel live up to its name. xFuel should be spent in proportion to the hashing power of the operations that the application or contract being activated would cost the network. If that sounds pretty familiar, don't be too surprised. This is exactly the function of the ETH token. Anyone who's used to the platform knows that every transaction consumes a tiny amount of Ether that's consumed by the system to do whatever it is the network is being asked to do. People call this "gas." It's a small fee paid to the the miner that scales based on the amount of cryptographic work being done on the miner's system. It can be pennies on the dollar for small transactions. In theory, it's neglible to the user, but quickly accumulates into a worthwhile sum for the miner. This is the secret sauce that allows mining to be profitable via work fees collected without impeding the practical use for an end user. This system would be the XtraBytes platform's saving grace. Building the function of the platform around xFuel in tandem with the use of the XBY token itself as infrastructure would allow us to ensure the operation of the network without shifting collossal amounts of our staking token around the network.

We're caught in a very particular economic position. We want high liquidity, as it drives the value and profile of the project up. But, we also want network stability. It's critical that we can ensure any serious developer and user that the network's uptime will be essentially 100%. That becomes a tougher sell when people are breaking, trading, and building nodes at whim, simply because the value of the staking token is changing so rapidly. And now, I know what you're thinking "Why would it be subject to rapid change?" It's a smart question, here's the thing. In our current model, the top node requirement is 500k. Five hundred thousand. I'll address this in greater detail later in the document in greater detail, but for right now, consider what would happen to the price of the token if an individual user who holds a node (or, for some whales, three, five, or even ten [Yes, these people exist right now.]) decided to liquidate their single node. That's half a million XBY being thrown up onto the public market. To put that in perspective, at the time of this writing (Around 2pm EST, 4/25/18) Cryptopia's daily volume sits somewhere around 785,625XBY, give or take. The break of a single node would almost double the daily value, all of it on the sale side. If you've done any crypto trading, you know how absolutely catastrophic a healthy sell wall is for a token's value. Imagine the worst sell wall you've ever seen. Now imagine that it's so much worse that we can't even accurately predict the outcome. That isn't even scratching the powerful opportunity for complete market manipulation that presents itself here.

How does xFuel solve this problem? Greater supply (Most XBY will likely be lost in dead wallets and/or locked into nodes) would allow for greater circulation. Additionally, all fees being paid in xFuel allows node holders to maintain the node long term as they gather the xFuel required to upgrade their node's priority within the network. As that happens, they'll be able to progressively sell the XBY they no longer require, allowing other prospective users to accumulate enough tokens for their own nodes. xFuel encourages slow but linear growth with greater adoption by users. It also allows the network to progressively grow with demand, community involvement, and access to greater resources. It also doesn't keep people from creating new nodes with their earnings. In fact, it creates a very interesting set of market forces! Node owners trading xFuel for both fiat and XBY (depending on their intentions) will allow powerful price discovery and stability, with the values of both coins know both in isolation and in connection to each other.

This strategy greatly safegaurds us from a small cabal of users gaining complete control of the network and killing circulation. There is a high motivator to hold XBY fees (instead of selling them back into the market) as, with a large enough operation and enough saving, a rational user would want to use his fees to build a new node. This is something we want to avoid. Hoarding behavior is entirely antithetical to the long term survival of the economic system we're trying to build. Currency absolutely must circualte.

This protects the interests of all current holders. XBY would maintain its value as a core requirement for setting up nodes on the network. xFuel would have an equally valuable role in the running of the platform, and would become the defacto functional coin of the platform. This would also allow people to decide for themselves the level of involvement with the platform they want to have. Creating a node and running operations on the network will not have the same path anymore.

(This section is still a work in progress, these last few paragraphs. They're distilled down, but still need to be built out, I think.)

Quartering

We want our community to be accessable to people who want to enter once it's off the ground. At the realistic benchmark of $.50 (XBY hit $.77 in the last winter bull run.), a top tier node would run a user a cool quarter of a million dollars. For one single node. Two hundred and fifty thousand dollars. I think we can all understand that this isn't reasonable or sustainable. It was totally fine when the coin was 10 sats, but the node values were not well thought out, created with no eye on a successful future. Now, one thing I've heard brought up as a counter to this is "Oh! But a corporation could buy a node no problem!" Yes, a corporation might have that sort of capital, but they will not make that sort of investment. Especially not when returns would take years to accrue (and lack the stability of the USD). So you can put that out of your mind right now. There is absolutely no reason to maintain nodes of that size.

But lets take a step back. What is a node? It its original incarnation, dreampt up by our dear savior Satoshi, it was a way of creating security by allowing everyone to contribute to the network. This was done so that the distribution of the Bitcoin would be decentralized, given to the people. He specifically designed it so that a large third party could collect the coins and then distribute them. Remember, he made the blockchain to kill banks, not enable them. At its core, blockchain is at its most powerful when almost anyone could contribute to it. We don't want to put too many hurdles in the way of people who want to help make our project a success. Requiring them to pony up ten thousand dollars just to start is signing our own death warrant.

In light of all this, I am strongly recommending a significant reduction in the amount of XBY required to set up a node. We've all heard a halvening discussed, but that's not far enough to actually solve the problem of an unreasonable entry bar. As I've alluded to with the section heading, I think we should, at a minimum, quarter the requirement. Maybe even fifth it. As a community, we need to come together and figure out who the coin is serving [See: What Users Can Reasonably Vote On: Institution or Community?]. Do we want to allow users to enter the ecosystem like they might enter the BTC or ETH system? Spend a couple hundred bucks on a graphics card (XBY for us) and start making returns he can sell? This is our chance to bill ourselves as leaders in accessability. We can be a true community coin and use it for excellent PR.

In a perfect world, we'd be able to use a price point target to scale up and down the number of XBY required (this would also serve to stabilize the price tremendously. Ether's wildly fluctuating price is really, really hurting it. Vitalik has said as much.). But, that's something for the future. For the right now, it's imperative that we find a way to not look like every other "Early adopters get rich, late comers eat shit" token on the market right now (e.g. all of them). One of the biggest criticisms of NEO is that it's too centralized and being monopolized by the organization that created it (they, for all intents and purposes, own NEO and directly control its daily function).

If we really want to create a stable platform, putting more nodes on our network is the way to go. It's likely that a larger network would, of course, lead to smaller payouts per node. But, the beauty of this solution is that it won't decimate current holdings, as their amount of XBY and its effectiveness remain unchanged (they'd get to have n*X the number of nodes on the network) while still allowing people who want to enter the system to do so.

Removal of Node Limits

In all the reading I've done, I have not found any rationalization for the number of nodes on the network aside from the fact that they're all numbers in base 2 that step linearly. There is no logical reason behind them aside from an artifical scarcity. This would strike me as more or less acceptable if the supply of XBY grew over time (like BTC and ETH) and there needed to be a cap on the total size of the network. But there's already a set limit of XBY and there's absolutely no reason to restrict the size of the network any more than simple math already does.

There's an implication that all nodes operate with unique functions, but I cannot confirm this. If that turns out to be the case, it wouldn't be a challenge (at all) to discover a method by which new network slots are created and added to the network based on the number of level 1, 2, or 3 nodes. I can't say more about this until I've understood the actual functioning of the system.

This section is going to be short and sweet. We don't need a cap. We want as many nodes operational as possible, that's what gives our network stability. Any serious developer wants stability. That's why they spend extra money on servers that are staffed and maintained 24/7. If we're looking to get any real attention as a platform, redundancy is imperative.

Conclusion

In the long term, a lot of these changes will push away those who are following the project looking to make a quick, strong dollar while enticing in people who are technology focused and want to support the project. This is what we want. If you take one thought away from this read, make it the following one. If our technology is good and reliable (it doesn't even have to be groundbreaking, just good) we will get attention. We don't need giveaway, we don't need to shill it, we don't need to force it down peoples' collective throats. The space is starved for legimate projects that function. It's a low bar. If we jump it, we'll be a part of something special.

END-------------------------------

goldeneyexby commented 6 years ago

I don't know who said it, but it went something like this: "One of the first thing that will be developped is X-Vault, since this will be the backbone for the dApps, X-Vault will guaranteed a decentralised strorage of the data needed for the applications that are being hosted on the network, by dividing that data up in shards and storing them across the network on the different nodes" So What I get from this is:

  1. we will need a decent amount of storage that is dedicated to data storage needed for the dApps
  2. that storage will be offered by the nodes to assure the decentralisation, and not by a company serverroom /-farm
  3. lots will be needed in diferen places to provide security (not hackable because there is no central storage server), privacy (no-one has control over all the data, and without the full data package the shards hold no meaningful info) & redundancy (all the shards have multiple copies spread across the nodes, so if one or more nodes fail, the data is not lost and the application using that data is not affected) So how are you going to guarantee this storage volume? If you allow Joe, Dick & Tom to host nodes on their home PC, that's already full with the entire repository of pornhub (just kidding, but you know what I mean), who is going to provide this storage? You can't use just a few dedicated nodes to provide for this, this would hurt the efficiency of the decentralisation and therefore weaken the network in terms of security, privacy and redundancy. You will need nodes out there, and lots off them that offer that storage place, nodes that stay in the network for a long time. But with that comes a cost, nodes that offer huge amount of storage space will probably need to be dedicated machines with a minimum of available storage space that are kept online 24/7 as much as possible. By lowering the requirements for nodes and multiplying the number of nodes you are also lowering the income per node, since the total income for the network stays the same but it needs to be divided amongst more nodes, so the share per node is divided invertably equal (I hope I'm saying this correct) to the multiplication of the number of nodes. If (and I have no conclusive information on this) you can't run multiple nodes on one device, you are also multiplying the cost of running 4 nodes worth 125k instead compared to running one node worth500k. So although your income stays the same (1 share for 1 500k node would be equal to 4 shares for 4 125k nodes), your cost goes up and your income stays the same thus lowering you ROI considerably. While more nodes add to the computing power of the network, they don't guarantee more storage space. People who only invest a small amount and will only get a small income in return might not be incentivized to invest in a dedicated machine that has lots of storage because it would not be cost effective. And I agree not everyone is in it for the money, some of them are in it for ideological reason, but let's not pretend we live in a world were everyone does everything for free. Without a sound ROI on the node, there is no incentive to keep a node running, people have bills to pay and mouths to feed. If they can do the same (ideological) thing while making some money elsewhere their interests might quickly shift. So unless we have more information on:
  4. what will be required, hardware wise, to assure a strong, secure, private and stable network
  5. the cost and income that comes with running a node
  6. the direction we are heading as a company in terms of service we want to provide to third party entities We cannot decide how we need to proceed in terms of node requirements(edited) I do like the idea of opening up the opportunity for people to run a Posign only node at lower cost, for a small fraction of the fees, that would be interesting for those ideologist that want that help out without them needing to make a large investment to adhere to the technical specification off a full fledged node. Those nodes could be purely xfuel based, thus adding an extra use to the development token. Like I told you, I feel that the value of XFuel should come from it's use within the network rather than it's trading value. Xfuel could be the equivalent of a savingsaccount within the network, as long as you keep it tied up you generate extra value. Halving nodes can be considered imo opinion when the price of a node goes up due to an increase in the value of XBY and become to expensive to attrack new investors. Maybe a dollar value needs to be placed on how much a node can be worth (in USD), if that price is reached, a halving would occur. This way you keep the price of a node to a reasonable level at all times making sure nodes will still be registerred when the price of XBY goes up considerably. It would also allow the node owner to cash out a part of their investment without having to break their node, because like you said, when price reaches a certain level people are going to sell. So to conclude, I don't think a halving at this point in time would be the best way to go forward, but it is certainly somethin that can be considered as the project evolves. We will need dynamic economics to keep up with the needs of the network, needs that, for the moment, are still unknown to us. We need to lay out a plan of attack that is as flexible as possible until we know with absolute certainty where exactly we are going with this. Yes there are analogies with POW (bitcoin) and POS, but we are in virgin territory here, mirroring our business model to existing business models that use a different network setup is not the smartest thing to do imo.(edited) Maybe we need to take a look at Storj and/or Sia to see how they tackle that storage capacity hurdle, let's not invent hot water over here and take a look at similar tech out there and take the best of whatever they bring to the table, in regards to storage capacity and node networks. You bring up some interesting points, but like I just mentioned, until we know the ins and outs of the tech and its requirements and until we know which direction the company is planning to take, it is difficult to decide one way or another. I see you also proposed to maybe link the halving, quartering, tenning, ... of the nodes to the fiat value of the nodes. That could help keep the entry cost for participation to a minimum. Although we need to make sure that those who want to join the network are in it for the long run and are willing to make the necessary investments to provide for the specific needs of the network. What I'm afraid off with low requirements of nodes is that we will see a lot of registering and breaking of those smaller nodes, people that will give it a try and decide after a short period of time it's no worth it. That could have serious implication on the data storage part of the network imo, something that many have overlooked up to this point. dApps rely on data-storage and until that part isn't clear up, any decisions regarding nodes should be put on hold. Like Danny said, even shitty computers would add to the network, but that is in terms of computing power, people running nodes will also need to share some part of their data-storage capability to provide for all the dApps we will be hosting in the future. We might not get a company like facebook knocking on our door that needs an entire server farm to facilitate their needs, but we might get 1000 smaller companies that together need that same storage capability. But this is also something that will largely be determined by how we market this network? Are we SIA or Storj on steroids with additional features, or will be more like a platform that provides insanely high tps and instant transactions that only really needs big computing power?
jbreezy24 commented 6 years ago

I mostly agree with Goldeneye. One of the things to remember is POS and POW are just the means to complete trustless transactions. They don't account for the storage and processing power needed to run the applications that are using the network. To say how the network is setup now is the worst of both worlds misses this point. There is a reason EOS is going to use 21 mostly likely large data centers. It isn't for the signing of transactions. The performance of the applications is why it is needed.

Their are solutions to low powered nodes that mostly likely result in them getting almost zero fees from dapps and small fees from transactions. Since we don't know how the current statics are determined to be accurate or how fees are split up it is hard to say what the potential for this could be.