Congratulations to the team on all the good work done to date. Paul Gardner-Stephen wrote "we also have ideas about how to provide financial incentive for users to participate fully in the mesh, but I am not in a position to describe that fully right now." I have been musing about exactly that issue (encouraging fair participation in a mesh network) for some time. This therefore seems to be a good time to introduce myself to the group and offer an alternative point of view: My background is that of an electrical engineer involved in communications and control systems, including product design. Don't let this first posting fool you. I have no political leanings or agenda and don't believe my suggestions here would apply to human society - just to a 'society' of meshed nodes... When designing a communication protocol, it is convenient to draw from and adapt our existing experience. I prefer to think of how cooperative people might interact with each other as a model for how mesh nodes might interact cooperatively. The use of currency in our society is a very familiar concept and we understand how it can encourage a degree of fairness in how we interact. Paul G-S has already noted some of the difficulties in implementing a currency electronically. I would like to add my observation that the use of currency doesn't result in the fair sharing of resources anyway since it results in very rich and very poor people. Perhaps we should be looking for a better solution both in terms of ease of implementation and the ability to achieve the desired outcome. So what traits of cooperative people can be applied to mesh nodes? Some people like to give away a proportion of what they have or receive for the purpose of helping others. The open source community who give the fruits of their spare-time labours for all to use are certainly an example. Some believe that new arrivals from other places should be considered worthy recipients for such generosity. Indeed, the open source community is known for welcoming newcomers and investing time in helping them learn to cooperate within the community. If mesh network nodes behaved in the same sort of way, we start to think of nodes that roam to a new network as a guest to welcome rather than a foreigner who shouldn't participate until his currency is converted. If we accept the concept of mesh nodes giving some service to other nodes for free, we are free to look at payment for service in a different way. By giving service (such as relaying messages) without agreeing a price and demanding verifiable payment beforehand, I expect the protocol could be simplified. That is not to say there is no payment. It is fair that the recipient of service offer a similar amount of service in return. Users that do play fairly in all respects increase the trust that the service provider has in the service user. It would be fair for a node to save most of its resource (bandwidth or battery energy) to serve nodes it trusts. The resources a node gives away without being paid in return could be limited to a fraction of the available resource. So the next question is as to what should constitute payment. For communication within a mesh network, a promise to relay messages should be payment enough for messages relayed. But how long does the promise need to be valid for? Traditional currency holds its value indefinitely while slowly losing value through inflation - all of which is difficult to model electronically. Realistically, a node that promises to relay messages isn't necessarily capable of keeping such promises for longer than the charge in its battery. Perhaps all such promises should be time-limited and expire if not used. I believe the time limit will help with record keeping - although I'm not sure how long the time limit should be. The more enduring record, however, should be the level of trust that one node has for another following many successful transactions. If the nodes in our mesh network behaved in this way, it would encourage a system where high users of communication traffic (meaning nodes sending lots of messages or sending messages over many hops) need to provide high levels of service to others in order to be trusted enough to get the service they want. If trust is built slowly, greed would be discouraged in the long term. This would not stop a highly trusted node from successsfuly requesting high levels of service on the odd ocassion when it is required. I could go on with musings about sharing credit (or promises of service) with those that are highly trusted or giving it away before it expires, but these are just thoughts for now. Proper modelling and implementation are beyond what I can envisage so far. I've never claimed to be good at presenting my ideas but I would be interested in hearing the shortcomings in this concept - and how they might be overcome. Personally, I think using the concept of trust means we can get away with short-term promises of service rather than standardising a currency. -- You received this message because you are subscribed to the Google Groups "Serval Project Developers" group. To post to this group, send email to serval-project-developers@googlegroups.com. To unsubscribe from this group, send email to serval-project-developers+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/serval-project-developers?hl=en. ----- End forwarded message ----- -- Eugen* Leitl <a href="http://leitl.org">leitl</a> http://leitl.org ______________________________________________________________ ICBM: 48.07100, 11.36820 http://www.ativel.com http://postbiota.org 8B29F6BE: 099D 78BA 2FD3 B014 B08A 7779 75B0 2443 8B29 F6BE