Altruistic Economics A presentation by Robin Upton, 2005-11-23, for Dhaka University Computer...

Post on 12-Jan-2016

219 views 4 download

Tags:

transcript

Altruistic Economics

A presentation by Robin Upton, 2005-11-23,for Dhaka University Computer Science Dept.

Updated for 26C3 Here Be Dragons, 2009-12-30Latest version at www.altruists.org/ae404

Attribution – NonCommercial - ShareAlike

Beyond Money

www.altruists.org

AE404: Constructing an Internet Gift

Economy

V2.1

2 User Interface

Beyond Money

1. ing for someone to help.

2. Paying them without .

3. Finding work the same way.

If you need help, imagine…

3 Ask Your Friends

User Interface

Make your requestCategory:

.

Amount:

Location:BD

ADVANCED OPTIONS:

Dhaka

Farmgate

Country:

City:

Region:

Number:

2kg .

Weight:

Requests

Angela Robinson, +550h –175h, Rating= 70h I make a lot of fruit pies. Best quality cooking apples, please …

Md. Ali Khan, +120h –40h, Rate= 10hI will need about 15kg of apples for my brother’s wedding. He loves apples…

!!

Graham Upton, +3h –2h, Rate= 20hI just can’t get my Wireless LAN working properly. It keeps cutting out, just …

Offers

Robin Upton, +160h –45h, Rate= -0.2Apples, Gardening Advice, Carpentry, Bengali Lessons, Computers…

Md. Anwar, +14h –3h, Rate= -0.2Motorbike repair, Shop Management, Psychology, Apples …

Jamil Aman, +60h –15h, Rate= -0.35Computer programming, Apples, Fresh Olives, Internet Advice, Fertilizers …

Science/Agriculture/Horticulture/Fruits/Apples

4Ask Around

Request

Ask Your friends

Can you give me 2kg of Apples?

Sure.

5Say “Thank You”

Ask Around

Request

= Ask your friends… to ask their friends...

Request

Request

RequestRequest

Request

Request

Request

Request

to ask their friends...

Computers make this much easier…

to ask their friends...

Request

Request

Request

6Digital Identity

State what happened, digitally.

Say “Thank You!”

PublishOnline

PublishOnline

“I gave . 10 apples.”

“ gave me $5 worth of apples.”

7New Architecture

Digital Identity

PublishOnline

PublishOnline

“I gave . 10 apples.”

“ gave me $5 worth of apples.”

1. People need personal servers.

2. They must be networked.

8

New Architecture

Links are from Friend to Friend

Individuals are connected to one another…

but it’s not P2P!

9

Links are from Friend to Friend

. F2F Server Network

F2F is superior to P2P,

because of the real world trust!

www.altruists.org/ff

10

F2F: Friend2Friend Server Network

F2F: Personal Data Server

1. Stores Data

2. Manages Cryptography

3. Native Wit

Overly Complex...?

11

User Machine

Data Storage on WWW

Every users’ data

www.example2.com

Every users’ data

www.example1.com

Websites need databases of all users’ data

F2F: Control Your Own Data

Enter your data

Cookie

Cookie

Data owners prove their identity to data users,

e.g. with certificates, passwords, cookies...

12

User Machine

F2F : Control Your Own Data

Data users prove their identity to the data owners

f2f.example2.me

f2f.example.me

Public Key

Public Key

Private Key

Private Key

Unique set of personal data

F2F: Personal Data Server

Data please...?

Data please...?

13

f2f.RobinUpton.com

/f2f

/f2f /users

/f2f/users/jim

/f2f /lib

/f2f /lib /demo

/f2f /users /

tom /f2f

/lib /etc

/f2f /users /jim

F2F : Personal Data Server

f2f.gifteconomy.org

Can you store data for me! Here’s the data, only share

it with *.altruists.org and tell me if he asks for it

f2f.altruists.org

Can I see all your data from 3rd party sites,

please?

Arbitrarily complex behaviour...?

F2F: Native Wit...?

Maybe

OK.

OK.

Needs a programming language!

*.altruists.org just asked for that data You’ve used up your

quota. Send it tomorrow.

One example conversation between personal data

servers might be as follows...

14

F2F : Native Wit?... XML-VM

Quick XML-VM Overview

F2F servers are XML virtual machines.

<message>...

<fatal-error> <message>...

Input, output & all internal workings are

exposed as XML.

For simplicity and flexibility, use XML as the native Data Type.

15

F2F : Quick XML-VM Overview

Interpreting Requests

The system has a modular structure of soft nodes which are separate environments.

f2f.RobinUpton.com

/f2f

/f2f/users

/f2f/users/jim

/f2f/lib

/f2f/lib/demo

/f2f/users/tom /f2f/lib/etc

/f2f/users/jim

16

F2F : <message> Bubbling

Interpreting Requests

/f2f

/f2f/guests

/f2f /guests

/jim

/f2f/lib

/f2f /lib /demo

/f2f /guests

/tom

/f2f /lib /etc

/f2f /guests /jim

/etc<to node=“/f2f/lib/etc” thread=”5” request=”3”/>

<from node=“/f2f/guests/jim/etc” thread=”2” request=”6”/>

thread 5

request 3

They are interpreted on arrival at their

destination.

F2F : Interpreting XML Requests

. Hello World Service

F2F server instructions are XML elements:

<f2f:servicereq function=“some URI”/>

Semantic Web style agreement by consensus on the meaning of this

F2F : Hello World Service

. Processing Service Requests

We start by requesting the service:

<servicereq function=“http://friend2friend.net/modules/demo/hello-world”/>

So this is implemented by the XSL template at hello.xslt

<service rdf:about=“http://friend2friend.net/modules/demo/hello-world” src= “hello.xslt”/>

The F2F server finds the matching service definition:

Unique identifier

Location on disk

XML Stylesheet Language Transformations v1.0

... is a 1999 W3C recommendation!

... is a programming language expressed in XML.

... transforms one XML document into another:

... ‘side-effect free’, so cannot write files/send messages etc.

http://www.w3.org/TR/xslt

Passing Arguments

The XSL transforms it to an Output Document:

The <servicereq> itself isthe script’s Input Document:

<?xml version="1.0"?>

<!-- -->

<!-- HELLO-WORLD: --!>

<!-- No arguments. Just prints "Hello World", ->

<!-- -->

<stylesheet version="1.0"

xmlns:f2f="http://friend2friend.net/"

xmlns="http://www.w3.org/1999/XSL/Transform" >

<template match="/f2f:servicereq[@function=

'http://friend2friend.net/modules/demo/hello-

world']">Hello World!</template>

</stylesheet>

F2F : Processing Service Requests

<servicereq function=“http://friend2 friend.net/modules/demo/hello-world”>

Hello World!

F2F : Passing Arguments

Nested Servicereqs

Functions usually declare a comma separated list of input parameters:

function browse($uri, $width, $height){ ...instructions here, in which $uri , $width and $height are

replaced at run time by the values of the arguments given...}

browse(“http://friend2friend.net”, 130, 500)

<servicereq function=”http://f2f.name/browse”> <uri>http://friend2friend.net</uri> <width>130</width> <height>500<height> </servicereq>

<?xml version="1.0"?>

<!-- BROWSE -->

<!-- Transform here,

which operates on the

whole XML document --!>

F2F passes an XML document:

F2F : Nesting Service Requests

. Processing Directives

browse(“http://friend2friend.net”, getwidth(), getheight())

Evaluation is usually from inside out:

<servicereq function=”http://f2f.name/browse”> <uri>http://friend2friend.net</uri> <width><servicereq function=”http://f2f.name/get-width”/></width> <height><servicereq function=”http://f2f.name/get-height”/><height> </servicereq>

130 500

<height>500</height><width>130</width>

<?xml version="1.0"?>

<!-- GET-WIDTH -->

<!-- Transform here,

which gets the

width.

--!>

<?xml version="1.0"?>

<!-- GET-HEIGHT -->

<!-- Transform here,

which gets the

height.

--!>

<?xml version="1.0"?>

<!-- BROWSE -->

<!-- Transform here,

which operates

on the whole

XML document

--!>

By default, F2F starts with the deepest <servicereq>:

Tree-shaped Pipelines

Nested <servicereq>

items results in pipelining XML:

F2F : Nested Requests -> XML Pipelines

The interior <servicereq> outputs XML...

...which is fed into the exterior <servicereq>

<servicereq function=”ex.2”><servicereq function=”ex.1”>

<input>...</input></servicereq>

</servicereq>

XSLex.1

XSLex.2

XML pipelining is feeding output from one transform into another:

Core Services

The <servicereq> model allows trees of transforms:

F2F : Tree-shaped XML Pipelines

XSL

2B

XSL

3

<servicereq function=”3”><input3a/><servicereq function=”2A”>

<input2a1/><servicereq function=”1A”>

<input1a/></servicereq><input2a2/><servicereq function=”1B”>

<input1b/></servicereq>

</servicereq><input3b/><servicereq function=”2B”>

<input2b></servicereq><input3c/>

</servicereq>

3b

3a

XSL

2A

3c

2b

XSL

1A

XSL

1B

1a

2a2

2a1

1b

Internet Gift Economy

About 100 hardcoded (non-XSLT) services extend the possibilities:

F2F : Core Services

Send/Receive <message> http://friend2friend.net/services/send

http://friend2friend.net/services/receive

Read/Write XML datahttp://friend2friend.net/services/xml-write

http://friend2friend.net/services/xml-read When will Bush get convict

Read/Write the F2F Server http://friend2friend.net/services/access-get

http://friend2friend.net/services/access-set

Read/Write Files to diskhttp://friend2friend.net/services/fs-read

http://friend2friend.net/services/fs-write

26

Internet Gift Economy

. Altruistic Economics

...Insert Dark Nets to Taste...

AE : Altruistic Economics

ME : Meta-Evaluation

GE : Gift Economy

Internet

Main project stack:

Moving Data

Defining Data

Processing Data

Presenting Data

F2F: Friend2Friend Processing Data

“Classic economic theory,

based as it is on an inadequate theory of

human motivation, could be revolutionized by

accepting the reality of higher human needs,

including the impulse to self actualization and

the love for the highest values.”

Abraham Maslow

28

AE: Altruistic Economics

. AE: Distributed Accounting

Declare Sympathy for your friends.

They declare it for theirs, and so on…

Unselfish alternative to self-maximising!

*almost

www.altruists.org/ae

Everyone* is joined in a network of care.

Telephone Dilemma

. Sympathy

Would you call back if your friend asked?

...Your wife?...Your Mum?

Mobile Landline = €0.07/minuteLandline Mobile = €0.03/minute

Someone rings your mobile,

and requests you to call back to save money.

AE: Sympathy

Quantifying Sympathy

You would give up your own profit . to save a friend’s loss.

www.altruists.org/355

FriendYou sympathy

You have sympathy iff…

AE: Quantifying Sympathy

Friend of a Friend ?

0 13/7

Call BackDon’t Call

Sympathy:

Indifference value of s = €0.03 / €0.07

32

AE: Friends of Friends...

AE: Measuring Value

AE analyses the overall ties of Sympathy:

Conflation: A B C A C

Combination: A C A C

Records are held across the network.

www.altruists.org/ae3

AE: Self-Evaluation

AE Measuring Value

In currencies of their choice.

Unhappier Happier

- +0

Users evaluate their own interactions

34

AE: Measuring Value

AE: Independent Evaluations

Use other people’s currencies:

To define a currency, publish some RDF.

Personal Time

and/or your own currencies:

www.altruists.org/ae7

Centralised Money

35

AE: Independent Evaluations

AE: Non-Zero Sum

A Multi-dimensional evaluation:-

www.altruists.org/ae106

Good for Both

Bad for Both

+

+

-

-

(+10 mins, -2 mins)

Saved me 10 mins

Cost me 2 mins

36

AE: Non Zero Sum!

ME: Meta-Evaluation

Traditional prices must be on this line

www.altruists.org/ae106

Good for Both

Bad for Both

+

+

-

-

X+Y=0

Zero Sum

37

ME : Meta-Evaluation

ME: Evolution of Meta-Evaluation

... to make a few summary statistics.

F2F Services :Littl

e

Data

for

GE

Lot

of

AE

Data

http://.../total-given

http://.../total-received

http://.../reliability

...

Process a mass of AE data...

01010110101001010011181010110102000110110101010110111010101011010111010110010010101011001101110110101001010111014101100101011001010011101011010110101110101010111010110101

#0s = 83#1s = 90#2s = 1

#4s = 1#8s = 1

User behaviour & meta-evaluations co-evolve at a rate proportionate to dissatisfaction…

Increasing diversity should help resist exploitation

ME/GE: Open Standards

Users Update

Meta-evaluations

Weakness discovered

Improved Meta-

Evaluations

Plain Vanilla

Dissatisfied Users

ME : Evolution of Meta-Evaluation

39

ME/GE : Open Standards…

GE: Web Style Interface

Hooks for later developers...Unique Data

Standard

Choice of Pre-processing

AE Data

Meta-Evaluation...

Others will arise …

Choice of Presentation

GiftEconomy...

Others will arise …Hyperlinks

...Other

40

GE : Web Style Interface

GE: Relationship Credit

GE Presentation layer

ME

Data

#0s = 83#1s = 90#2s = 1

#4s = 1#8s = 1

Webstyle Pages

(Locally created from local data)

. www.GiftEconomy.org

GE : Relationship Credit

Each relationship starts at (0,0)

My Time /h

Friend’s Time /h

My sympathy

for my friend

My friend’s sympathy

for me

Win-Win

quadrant

How to present this information to users?...

Graph successive

interactions?

42

GE : www.Gift Economy.org

www.altruists.org/ge

Category:

.

Amount:

Location:BD

ADVANCED OPTIONS:

Dhaka

Farmgate

Country:

City:

Region:

Number:

2kg .

Weight:

Requests

Angela Robinson, +550h –175h, Rating= 70h I make a lot of fruit pies. Best quality cooking apples, please …

Md. Ali Khan, +120h –40h, Rate= 10hI will need about 15kg of apples for my brother’s wedding. He loves apples…

!!

Graham Upton, +3h –2h, Rate= 20hI just can’t get my Wireless LAN working properly. It keeps cutting out, just …

Offers

Robin Upton, +160h –45h, Rate= -0.2Apples, Gardening Advice, Carpentry, Bengali Lessons, Computers…

Md. Anwar, +14h –3h, Rate= -0.2Motorbike repair, Shop Management, Psychology, Apples …

Jamil Aman, +60h –15h, Rate= -0.35Computer programming, Apples, Fresh Olives, Internet Advice, Fertilizers …

Science/Agriculture/Horticulture/Fruits/Apples

If people volunteered for one another more, earned income and hence tax income would decline.

43 GE: Weakening Grip of Finance

Governments

Central Banks

Financial Sector

BusinessesAgencies, Non-Profits,

An inversion of centralised money...

GE : Citizens issue credit

44. F2F: Referendum Module?

GE : ...Weakening Grip of Finance

Central Banks

Financial Sector

BusinessesAgencies, Non-Profits,

Banks are not needed!

Issue of Money (CONTROL)

Organisations rely on

people!

45

BusinessesAgencies, Non-Profits,

Government

F2F : Referendum Module?

... could gradually replace government function?