Eco Coop for Baking Tezos


#1

This is something that I suggested few times in few places hoping that someone with more wit than me would pick up the slack. Since nothing happened and the need for it seems quite pressing, here we are.

In essence the idea is to provide a place (pool) where Tezos holders with less than 10K tezzies are allowed to bake. This would not be a delegate service business, no fees, just sharing the cost, hence the reference to a coop seems appropriate. why Eco? because the nodes will be RPI3s the best cost-effective Eco-friendly option to bake Tezos. The whole thing has to be bare bone simple and fully transparent.

This is still at an exploratory stage, there are logistical/technical/financial/and many more issues that need to be resolved, hence I am calling for input and feedback from anyone who would like to get involved, or simply share an idea.

Here are some of the questions:

  • How to cover the initial cost (Tezos Commons Foundation)?
  • Where to setup the nodes, centralized or decentralized (volunteers)?
  • Set up a membership fee?
  • How to establish the operational cost and terms of the commitment, yearly/monthly/?? basis?
  • Same as above, how to share the gain?
  • Members who participate will keep their tezzies (absolutely no need to transfer xtz) but some kind of delegate permission will be required, to who or what and how? can be safely shared?

I hope to trigger an healthy discussion and please don’t hesitate to share your thoughts…


#2

@demo
Thanks for the feedback, please keep pouring ideas, this is still very much a work in progress…
I am moving the conversation from “Wiki home for Tezos+RPI3” here, it seems a more appropriate place.

First, I agree with your scheme to distribute the baking profit among the baker and the rest of the XTZ holders. There are also few other alternatives, for example, let the parties involved negotiate the proportions beforehand and also decide the maintenance cost (electricity, internet service, hardware replacement, etc). More on this later.

The perception that the baking machine needs to stay online at all cost all the time is overblown.
The baking period is well known in advance (weeks earlier), as explained here:
(https://www.reddit.com/r/tezos/comments/8c1f75/help_understanding_validation_in_pos/)
and in few other places. Beside sudden catastrophic failures (example, the ups gets toasted) which are unpredictable, or the ISP shuts down the line for unforeseen reasons, the RPI3 can handle periodic restarts. This was briefly discussed in the RPI3 wiki home where I mentioned the worst case scenario of random baking selection, something that does not really apply to Tezos anyway.

If I can summarize all the ideas floating around here and on Reddit, there are two main directions that can be pursued. They are not mutually exclusive but I think in the beginning a choice should be made between the two.

Option I: Create one or few centers maintained by the coop (centralized solution). Tezos holders can safely delegate and pay more or less just the maintenance cost. This scheme would be similar to a delegate service, except for the overhead imposed by the delegate service. The main difference would be 1) it would be a bare bone simple no frills service, no fancy web/smartphone-access or flexible choice of the baking period (1 or 2 options max). 2) as far as I understand the delegate services cover the deposit fee (roughly 500XTZ per roll=10000XTZ). With the non-profit coop the XTZ holder will have to advance the deposit fee on their own. Let’s see the pros and cons.
Pros: the concept is quite simple, the planning would be easy since there is little room for variations.
Cons: it requires some decision making on the baking coop center. Where to put it, how many machines, who will cover the initial cost (given that after the initial setup, the operation should be self-sustained), who is going to support it (permanent technical staff)?
The main issue basically would be the infrastructure that needs to be put in place.

Option II: decentralized solution, no baking center(s). The all concept would be based on individuals with the hardware and the competence to bake tezzies who are willing to share their resources with XTZ holders that instead prefer to delegate.
Pros: no need for a large infrastructure, the cost to setup the operation would be limited (but not zero).
Cons: there would be quite some logistic and technical challenges. For example how to practically put together potential bakers and XTZ holders who want to delegate (example, there would be a third party like a coop who decides, or it is more like a marketplace, or classifieds). How to decide the maintenance costs for the baker and how to make sure they will be covered? Reward among the XTZ holders can be decided in advance, but how to insure that the baker will keep up his/her end of the bargain. The same applies also for the deposit fee that needs to be advanced by the XTZ holders who delegate. Some kind of online service should be created to keep all the information accessible and secure regardless of the solution to the above questions. Who is going to setup this online service?

This is in essence my understanding so far. Hope we can get soon to the point where we can make it happen.


#3

I am all in! I was hoping that someone would offer this opportunity. I prefer the decentralized option as it eliminates dominance by a few large players. Would there be a way to use the smart contracts on the Tezos blockchain to organize the coop? Can the smart contracts be used to formalize delegate and holder commitments, where and how deposits are held then allocated to delegates and how payouts will be issued to delegates and holders? Also, can uptime and baker performance be monitored through the smart contracts as well?


#4

Just trying to get my head around this… Are we talking about something similar to EOSdac (https://eosdac.io/)


#5

thanks for the reply, it is my impression that probably the decentralized option would be the more approachable and preferable solution at first.
@georgemac510 Yes I think smart contracts will have to play a role to insure that the parties involved fulfill their duties.
@glebowski thanks for the link, I don’t fully understand how EOSdac works (a lot of jargon) but it seems quite similar to what is discussed here.
It would be nice to keep it as simple as possible. This is one way this could go down.

Bob can run a node but he has only 4100 XTZ (ad hoc number), and he wants to hold on 4000 XTZ for baking.
Jane and Mary have respectively 9225 and 7175 XTZ (ad hoc numbers) and they are willing to delegate to Bob 9000 XTZ and 7000 XTZ (total Bob+Jane+Mary = 4000+9000+7000=20000 XTZ)
After Bob received the delegate commitment from Jane and Mary, he can start the node and wait to get selected for baking a new block. Sparring the details of the process, the important part is that at some point a security deposit (~500 XTZ) needs to be put forward. The way I see it is that Bob, Jane and Mary will add to the deposit in proportion to their initial contribution (Bob 20% =100x4000/20000, Jane 45%=100x9000/20000, Mary 35%=100x7000/20000) that is Bob needs to put for the deposit 100 XTZ = 20%x500/100, Jane 225 XTZ and Mary 175 XTZ (total=100+225+175=500 XTZ). My understanding is that Bob needs to own the whole 500 XTZ at least during the baking process. Once the baking process is completed or the time of the delegate commitment is expired (xx cycles or yy months) the XTZ of the deposit are returned to their owners along with the reward for the baking which should be again proportional to the initial contribution Bob(20%), Jane(45%), Mary(35%) minus the cost that Bob had to face to run the node (to be determined before or after the initial commitment).

The challenge now is find a way to meet supply (nodes) and demand (delegation) and to design a procedure covering all the steps described above that is safe, secure and simple for the baker (Bob) and the Tezos holders who wants to delegate (Jane and Mary).

[edit] maybe for the bakers there should be some kind of reward besides covering the maintenance cost. It will give some incentive to node runners with more than 10k tezzies to share their hardware resources.


#6

When this deposit needs to be put forward. Can we predict the time of that need?


#7

not sure, your right to bake is set 4 cycles (~12 days) before revealing your commitment. My understanding is that the deposit has to be settled within this period of ~12 days, after the right to bake is decided, which is random based on the number of rolls (10k XTZ per roll) delegated to your node. But it is also possible that the deposit has to be made before your node receives the right to bake. Open question I guess…

I think from a practical point of view once Mary and Jane (previous example) delegate to Bob it would be easier for them to also transfer to Bob the quota of the deposit. Then the actual timing when the deposit will be used becomes not very relevant. The issue is that the operation will necessarily require some transfer of real XTZ, therefore the setup has to be pretty secure to avoid scammers, frauds etc. Unfortunately I don’t see any way out of this, unless the baker (Bob) takes care of the full deposit or the coop covers it from its own reserve of XTZ. In this case there should be a mechanism to fund the coop (membership fee?).


#8

Couldn’t you just have an open source smart contract that managed these details?


#9

yes, I think that should be possible but I admit I don’t know enough about smart contracts. I hope that people with a better understanding than me can figure out a way to do it.


#10

I also don’t know enough about smart contracts. We have to start learning the michelson language, if we want to implement the eco Coop Baking.


#11

Agree!
maybe not necessarily to the point that we actually do it (we can always ask for help) but at least enough to understand how can be used for our purpose


#12

@demo,
I think we have a logo for the wiki page, check it out