Bitcoin Forum
March 29, 2024, 12:58:12 PM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Decentralize Financial Institutions - Part 1, Planning  (Read 8160 times)
fabianhjr (OP)
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


Do The Evolution


View Profile
May 03, 2011, 12:36:20 AM
 #1

Abstract
A purely peer-to-peer version of financial institutions would allow financial
services to be provided directly from one party to another without. This coupled
with Satoshi's Bitcoin enhances one's freedom in the world and allows for far
more than has been possible up to now. The network is intended to decentralize
the following, but not limited to, services: banks, insurance, stock exchanges,
and brokerage. This whole system revolves around the concept of "I owe you".

Grounds
It is based on a Web-of-Trust and to fight some of the disadvantages I purpose
the data to be divided in a more manageable form. To ensure data availability
and manageability I purpose the data to be divided  and distributed using the
available Distributed hash Table technology already being used in distributed
protocols such as BitTorrent.

Protocol
-3 Levels of trust: "I might trust you, though I will manually check your coms", "I trust you", and "I trust you and those you trust". Additionally if a connection is not trusted it is plainly ignored.
-Each node can choose his preferred algorithm and bitlength. The key and related info will be stored in a Distributed Hash Table and a similar address convention to Bitcoin will be used.(RFC: This is the chance to add more goodies)
-A credit line would need to be established. Trust from one to another does not infer the trust from another to one.
-Payer is the only one that must sign a contract in order to owe "something" to "somebody".
-All communications from a non-trusted peer are simply ignored.
-If a peer, ex a payment gateway*, needs a tremendous amount of bandwidth it should be requested. *A payment gateway you trust would be able to receive a payment ending up he owing you "x" amount that you can use in your favour by sending payments trough him to a peer in another location. This allows you to send payments even if not globally trusted.
-Contracts, by instance IOUs, can be created by peers. This contracts are stored in an individual DHT and have the option to leave fields for payers and payees. An example is below:
Code:
{
"hash":"12x(whatever)",
"legal":"Legalize Here:\n Simple IOU \n I , $payer$, agree to pay the amount of $amount$ of $type$ to $payee$",
"layman":"I owe $amount$ $type$ to $payee$"
}
-Intermediaries would route the payment between unkown and directly untrusted parties. Though, their consent is not needed as their total credit will be unaffected.
-All contracts and trust between peers would be public knowledge. Contracts signed between parties would be stores in a distributed hash table with a time-stamp.(Anonymity issue? Workarounds?)

This is just a proposal and a request for comments. If I haven't considered an issue please point it out. Yes, this is based on Ripple. It is slightly different in the sense that it takes care of more than credit and it is decentralized completely. This would help with the recent MtGox attacks and ensure the financial integrity of Bitcoin. I suggest this software to be called OurFinances, however suggestions are appreciated.

In order to achieve higher forum ranks, you need both activity points and merit points.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1711717092
Hero Member
*
Offline Offline

Posts: 1711717092

View Profile Personal Message (Offline)

Ignore
1711717092
Reply with quote  #2

1711717092
Report to moderator
1711717092
Hero Member
*
Offline Offline

Posts: 1711717092

View Profile Personal Message (Offline)

Ignore
1711717092
Reply with quote  #2

1711717092
Report to moderator
1711717092
Hero Member
*
Offline Offline

Posts: 1711717092

View Profile Personal Message (Offline)

Ignore
1711717092
Reply with quote  #2

1711717092
Report to moderator
PLATO
Sr. Member
****
Offline Offline

Activity: 493
Merit: 250


Don't trust "BBOD The Best Futures Exchange"


View Profile
May 03, 2011, 03:53:52 AM
Last edit: May 03, 2011, 11:01:02 PM by PLATO
 #2

edit - some ideas for a decentralized (but not distributed) system

Judging from Paypal's recent shutdown of Coinpal and Bitcoin Morpheus, they are no longer willing to play nice. I would not be surprised to see bank transfers become more difficult, too. The fundamental problem with all exchanges (as of 05.11 ) is that it's really hard to buy bitcoins. No matter what route you take, you have to jump through hoops. A (really large) number of people are not willing to jump through any hoops at all.

The primary means of 'getting in' for most new users will be cash. There are a handful of projects that are attempting to set up a global network of cash-to-bitcoin-to-cash dealers; the ones I know about are


We should integrate all of these efforts right now, while they're all still in development. It's inevitable that some efforts will fail, so we should try to make the system robust enough to absorb those failures. We should have a common way to identify a particular exchanger that is exportable to multiple websites (i.e. a GPG key.) #bitcoin-otc already has a significant web of trust set up, and it's not hard to integrate import that into other applications.

If we have multiple sites using information from a single web of trust, we should decide on a common API to communicate between those sites. Right now, the OTC database records a user ID (gpg key), a rating from -10 to 10, and a notes field. This is fine for -otc, but other sites will likely want to record additional information in their own webs.

Some stuff that might be saved in a WOT database: contact information, services offered, currencies offered, availability times, trade volume limits, rough GPS coordinates.

If we agree on a protocol such that all sites can share data, we can make the whole Bitcoin economy a 'decentralized exchange.' When any one site fails, another can take its trust database and start with that. To avoid tampering the databases should probably be public knowledge.

edit - since anyone can look up the trust ratings of a particular identity online, many new users may be willing to trust a nearby exchanger enough to send a money order or cashiers' check through the mail. If they send it locally, they should be able to get their coins within a day or so, especially if they email the exchanger a heads-up. Exchangers who are unwilling to meet face to face can do this too, although it might be hard to build trust.

All posts by me after 2012 were a compromised account. Probably by "BBOD The Best Futures Exchange". SORRY Y'ALL
ryepdx
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
May 03, 2011, 05:23:08 AM
 #3

If we agree on a protocol such that all sites can share data, we can make the whole Bitcoin economy a 'decentralized exchange.' When any one site fails, another can take its trust database and start with that. To avoid tampering the databases should probably be public knowledge.

+1

This is exactly what I've been hoping for.
skittixch
Newbie
*
Offline Offline

Activity: 57
Merit: 0


View Profile
May 03, 2011, 05:25:49 AM
 #4

Thank you for tackling this issue.  As a laymen, I've got a few questions.

What sort of time frame and resources might this project require?
Is creating something like this a reasonable goal for those already involved?
If outside assistance could help, or becomes necessary, is there a dollar amount we should aim to raise for a stipend?
CoinMan
Member
**
Offline Offline

Activity: 104
Merit: 10



View Profile
May 03, 2011, 06:53:25 AM
 #5

These are great ideas.  Getting people to/from their local currency is the key function of the exchanges.  If the exchanges could participate in a trusted exchange network where they publish their order books and subscribe to participating exchanges order books, then all users can see all orders across the exchanges via any exchange they choose that participates in the network.

The above seems pretty easy.  So then how would a cross exchange order execute?  

User A who's account is with Exchange A decides to buy BTC from User B who's account is with Exchange B.  He places his order through his "local" exchange because that's where his account is held and where he trades from.  The exchange creates the buy request and signs it with GPG and it's published to the global exchange network where Exchange B would pick it up, validate it's authenticity, fill the order, then publish an accepted trade confirmation which it signs and the publishes back to the global exchange network.  This is then picked up by the originating exchange, validated for authenticity, executed and a completed trade confirmation is published back to the network as complete.

If all the above works, then the last issue is that all the exchanges need to reconcile with each other for the net amount in  currencies other than BTC that are due to/from each other...daily, weekly, monthly?  Not sure it matters as long as they can agree to however they want to do it between each exchange....but everything is public via the global exchange so that if an inter-exchange discrepancy DOES arrive mitigation should be successful via public record to prove which exchange owes which exchange what.

I'm sure someone much more technically minded than me can figure this out and/or poke the holes in this and figure out how to have the "global exchange" be a distributed network with no single point of failure.  The only failure would be in a local exchange getting shutdown or being dishonest which should quickly get them kicked out of the trusted exchange network.

CoinMan

My Bitcoin Identity
Bitcoin: 183DFFQXR4xCyseBXzmh3XWc22izDWE5Dw
markm
Legendary
*
Offline Offline

Activity: 2940
Merit: 1090



View Profile WWW
May 03, 2011, 10:19:30 AM
 #6

Maybe each exchange can simply create their own blockchain which only they "mine"?

Hack the code to make "mining" only be valid if the coins "mined" are assigned to a specific address, so that no matter who does the "mining" coins are only ever generated to one specific account, an account the specific exchange whose indebtedness that particular blockchain represents.

The coins of such a blockchain would be I.O.U.s, valueless to the exchange that issues them but valuable to anyone else insofar as the issuer does in fact redeem them at their published exchange rates for various other things tokens coins goods currencies commodities or whatever.

This is maybe what some of the alternate blockchains my IRC bots support should have done, or maybe should at some point do, so that blockchain building can be done by anyone anywhere who wishes to help secure the blockchain by processing blocks can do so without thereby also minting coins. (Since the coins are someone else's I.O.U.s not the miner's I.O.U.s representing the miner's contract to pay something to the bearer on demand, it makes sense in this kind of case that any coins aka I.O.U.s minted should initially be in the possession of the party who has actually agreed to redeem the things.)

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
Zerbie
Member
**
Offline Offline

Activity: 72
Merit: 10


View Profile
May 03, 2011, 12:21:09 PM
 #7

This really sounds like a job for ripple.

http://ripple-project.org/

Bruce Wagner
Sr. Member
****
Offline Offline

Activity: 336
Merit: 252


View Profile
May 03, 2011, 12:57:25 PM
 #8

This sounds like a great idea, Plato... probably an idea we've all had in passing...  But definitely an idea whose time has come.

At the moment, I am grappling with this issue:   What simple 1-2-3 instructions to put on my (completely redesigned) "Bitcoin for Dummies" site, BitcoionMe.com.... on the "How to Buy Bitcoions" page. 

I want the single simplest easiest method for the ordinary person to use...

There are several now...

(1)   Local Exchangers - Of course, this is the ideal method. However, there are still not enough listings to make it universally an easy solution.  Also, there are several sites attempting to do this (a good thing)... but confusing.   Which one to send new users to?  Send them to ALL of them?  Too complicated & confusing again?  Maybe some refuse to publish their own email address, can't use btcnearme.  Maybe some prefer looking at a map.   Also each of these sites contain different listings.   No one site has them all.  ....yet.

(2)   MtGox is the defacto standard -- if not a near monopoly -- in exchange sites.  They have just instituted direct MTGOX-USD purchases through Dwolla. ( email me for details if instructions are not yet posted ).  This is an excellent method.  However, it's not instantaneous.   It's not anonymous (Dwolla is tied to your bank account.)   And it has a limited purchase amount.  $2500 maybe??

(3)   Green Dot MoneyPak -- another method similar to #2, but instantaneous and anonymous.  But still being set up.

I want ONE simple way to buy Bitcoin listed on my site.

Which one should I list?
Cryptoman
Hero Member
*****
Offline Offline

Activity: 726
Merit: 500



View Profile
May 03, 2011, 09:06:38 PM
 #9

The primary means of 'getting in' for most new users will be cash. There are a handful of projects that are attempting to set up a global network of cash-to-bitcoin-to-cash dealers; the ones I know about are


There is also http://bitcoincambio.com, started by forum member dduane. 

The legal status of being a Bitcoin exchanger could change at a moment's notice (it's probably already illegal in a number of jurisdictions), so I think it's important to allow traders to remain anonymous if they choose to do so.  In this case their reputation will be based solely on a keypair.

"A small body of determined spirits fired by an unquenchable faith in their mission can alter the course of history." --Gandhi
ScriptGadget
Newbie
*
Offline Offline

Activity: 49
Merit: 0



View Profile
May 03, 2011, 11:32:17 PM
 #10

Something worth considering as a starting point for discussion.


http://www.mywot.com/wiki/API
Anonymous
Guest

May 04, 2011, 12:14:47 PM
 #11

What about a decentralized whitelist for times when you are getting ddosed ? What would happen is a site like witcoin would let you add your ip to a list of ips's for a micropayment which could eventually be returned if your ip "behaved". Sites could use it to block all the ips not on the list while a ddos is going on. If an ip from the whitelist showed up in a ddos attack it loses the payment it made. To get back on the list requires another micropayment.


seventoes
Newbie
*
Offline Offline

Activity: 34
Merit: 0


View Profile
May 04, 2011, 12:39:41 PM
 #12

I think a web of trust type model is the way to go for something like this. MyWOT itself I don't think is the right choice though, as far as I know MyWOT relies on a central server for establishing trust between the parties. The trust model itself obviously needs to be distributed. To build the trust for our decentralized markets, we need a new protocol.

I was thinking something like this might be possible. Consider:

Trades on every exchange are all made public knowledge, as transactions in BitCoin currently are. Each trade can be assigned some sort of rating by both parties in the trade. If it was fulfilled to their liking, the transaction gets a good rating. If not, bad. These ratings are also broadcasted, and the more positive ratings performed on a particular exchange there are, the more that exchange is trusted.

The obvious problem is spoofing ratings or spamming small transactions to get unreasonable numbers of legit ratings. The spamming problem can be solved by weighing ratings based on the size of the trade to make illegitimate attempts like this completely impractical. A certain amount of money must be moved with good ratings through an exchange for trust to even begin being built on the network. Rating spoofing could be solved by only accepting ratings signed with a key related to the transaction itself, and the network only accepts the first rating for each transaction.

There are probably holes in this since I'm just rambling with little sleep, but I think our infrastructure is starting to look feasible.
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2347


Eadem mutata resurgo


View Profile
May 05, 2011, 02:35:54 AM
Last edit: May 05, 2011, 04:13:12 AM by moa
 #13

It looks to me like OpenTransactions has some of the machinery in place to do what you are thinking of, not exactly as you mean but close enough.

If you can get a OT server up and on the web (anonymously if you choose), and establish some community trust between nodes, then transacting in bitcoins (or any digital currency) between OT nodes becomes easy. Anyone running an OT server can essentially be a finance house and can issue it's own digital cash, fully backed by publicly auditable addresses on the bitcoin network.

The anonymising layer it can put on top of bitcoin is hugely desirable and will provide an incentive for nodes to come up, since they will get paid for this, and other services. They are a great fit.

Check it out, it's some neat code built on top of the chaumian blinding math. (Just got a java client added, "Moneychanger" but not yet with bitcoin support).

https://github.com/FellowTraveler/Moneychanger/wiki
java client

https://github.com/FellowTraveler/Open-Transactions/wiki/Business-Cases
business case possibilities

http://agoristradio.com/?p=234
radio discussion, FellowTraveller talking about OT.
http://agoristradio.com/?p=246

marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2347


Eadem mutata resurgo


View Profile
May 05, 2011, 04:12:15 AM
 #14

Thought a bit more after listening to fellowtraveller on the agorist radio links and have got to toss something out there ....

What we could put together ultimately is a platform, like LAMP (linux apache MySql Perl/PHP/Python) for web servers we need

a ROB platform that is nicely integrated (Ripple, OpenTransaction, Bitcoin)

They all do slightly different jobs, Bitcoin is the glue and foundation currency, OpenTransaction does the anonymising and instant account management/settlement, Ripple does the currency exchange between different commodities/services.

ROB ... for resource allocation information technology.

mizerydearia
Hero Member
*****
Offline Offline

Activity: 574
Merit: 507



View Profile
May 05, 2011, 04:34:15 AM
 #15

We should integrate all of these efforts right now, while they're all still in development. It's inevitable that some efforts will fail, so we should try to make the system robust enough to absorb those failures. We should have a common way to identify a particular exchanger that is exportable to multiple websites (i.e. a GPG key.) #bitcoin-otc already has a significant web of trust set up, and it's not hard to integrate import that into other applications.

If we have multiple sites using information from a single web of trust, we should decide on a common API to communicate between those sites. Right now, the OTC database records a user ID (gpg key), a rating from -10 to 10, and a notes field. This is fine for -otc, but other sites will likely want to record additional information in their own webs.

Some stuff that might be saved in a WOT database: contact information, services offered, currencies offered, availability times, trade volume limits, rough GPS coordinates.

If we agree on a protocol such that all sites can share data, we can make the whole Bitcoin economy a 'decentralized exchange.' When any one site fails, another can take its trust database and start with that. To avoid tampering the databases should probably be public knowledge.

Who will take initiative or lead to organize this effort?
PLATO
Sr. Member
****
Offline Offline

Activity: 493
Merit: 250


Don't trust "BBOD The Best Futures Exchange"


View Profile
May 05, 2011, 06:05:03 AM
Last edit: May 05, 2011, 06:15:50 AM by PLATO
 #16

moa: it would be nice to make a fully integrated system to bring people into bitcoins from the ground up. I'm still in Montgomery AL and there are thousands of people here who don't know what the "Internet" is let alone the concepts of 'Digital' or 'Crypto.'

If we made e.g. a custom linux distro, we could set it up so that the client was preinstalled, and links to commonly used Bitcoin websites could be preloaded on the desktop.

We could put this LAMP distro in there as well. I'm not sure why that would be useful.


mizerydearia: I think there are a ton of people who are really interested in doing this, I am more than willing to dedicate some time to it, but I will have periods of unavailability due to roadtrip logistics. I've managed projects before, but never something online on this scale. I assume we would want to set up something like Trac and/or a Github repo. I don't want to be in charge of the Git repo. We also need somewhere to discuss and archive ideas about what problems we're trying to solve in what order, and what needs to go into the system.

I've set up a mailing list to start hashing out these details. Join the list by emailing bitcoin-join@subvert.me and leave by emailing bitcoin-leave@subvert.me. Emails sent to bitcoin@subvert.me will go to the whole list. You can set an option to receive a single daily digest email here.

edit: corrected email addresses

All posts by me after 2012 were a compromised account. Probably by "BBOD The Best Futures Exchange". SORRY Y'ALL
CoinMan
Member
**
Offline Offline

Activity: 104
Merit: 10



View Profile
May 05, 2011, 06:05:53 AM
 #17

Thought a bit more after listening to fellowtraveller on the agorist radio links and have got to toss something out there ....

What we could put together ultimately is a platform, like LAMP (linux apache MySql Perl/PHP/Python) for web servers we need

a ROB platform that is nicely integrated (Ripple, OpenTransaction, Bitcoin)

They all do slightly different jobs, Bitcoin is the glue and foundation currency, OpenTransaction does the anonymising and instant account management/settlement, Ripple does the currency exchange between different commodities/services.

ROB ... for resource allocation information technology.

This sounds like the best overall solution I have seen yet.  Very, very promising!

CoinMan

My Bitcoin Identity
Bitcoin: 183DFFQXR4xCyseBXzmh3XWc22izDWE5Dw
Anonymous
Guest

May 05, 2011, 12:59:06 PM
 #18

Subscribing. I want a bitcoinOS. Maybe on a portable hard drive too ?
 Smiley

Cryptoman
Hero Member
*****
Offline Offline

Activity: 726
Merit: 500



View Profile
May 05, 2011, 02:50:35 PM
 #19

Subscribed.  Thanks for setting this up, Plato.  Should we invite parties from other projects (Ripple, Open Transactions) to join the list?

"A small body of determined spirits fired by an unquenchable faith in their mission can alter the course of history." --Gandhi
PLATO
Sr. Member
****
Offline Offline

Activity: 493
Merit: 250


Don't trust "BBOD The Best Futures Exchange"


View Profile
May 05, 2011, 03:10:12 PM
 #20

Yes, invite anyone who might have something to add please!

All posts by me after 2012 were a compromised account. Probably by "BBOD The Best Futures Exchange". SORRY Y'ALL
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!