Decentralized trust graph for online value exchange without a blockchain
settle.networkThis all looks very similar to a naïve version of the early (~2010) Ripple protocol [1], including all its limitations.
An unmentioned limitation is that the system doesn't really suit the 'consumer economy', unless salaries by producers are also paid out in the currency. It does work well for transactions between peers, i.e. friends spending / borrowing – in this system it's essentially the same thing – from each other.
What were the limitations of the Ripple protocol?
For one thing, it had no bootstrapping mechanism to speak of. Most of the early conversations about Ryan Fugger's Ripple started with, "Imagine that X participants are using Ripple and extend credit to each other." But users couldn't test out that scenario and get a feel for the network because it was non-trivial to get X participants together and have them extend credit to one another.
Meanwhile, people were downloading Bitcoin and clicking a button to "Generate Coins." Great, so you've got coins. Now what? Maybe you offer 10,000 of them to anyone on the internet who will call in a pizza order in your area. Somebody does it and your pizza gets delivered. You send them 10,000 of your whacko coins in return. Boom! A working cryptocurrency is born.
You just couldn't achieve that with the early Ripple.
The later Ripple which wasn't written by Ryan Fugger added a cryptocurrency called XRP to this scheme, and apparently spent most of its time arguing that its new cryptocurrency wasn't a cryptocurrency but just spam protection. A sizable portion of this spam protection was divided up among the original investors/author. It was fun to read the comments on that one.
It has no countermeasures for Sybil attack. Therefore, the only trusted nodes in the Ripple network are owned by Ripple labs, making the entire currency much more like Visa than a real blockchain.
Ripple labs version of Ripple is completely different than the previous piece of software called Ripple written by Ryan Fugger.
This is very similar to the ripple pre-cursor called ripplepay. A clear explanation of that can be found here. https://classic.ripplepay.com/about/
Some things I don't understand about the "mint" concept. Is the mint itself intended to be a guarantor of its members' solvency?
> User onboarding for the Mint API is left to the discretion of the mint implementor or administrator...
If I am registered with a mint, and use Settle to offer to pay someone registered at another mint, who ensures I have those funds? (If it turns out I didn't have sufficient funds, I will presumably become dis-"trust"-ed, but how long will it take for that distrust to propagate? And how would newly-arrived members of any mint know that I'm not trustworthy?)
On a more mundane level, how is it envisioned that real-world a$$et$ will enter and exit the settle system? If someone has promised me assets, how do I cash them out of the mint and into (say) my PayPal account?
I can imagine in a future scenario, existing banks (or PayPal!) could inexpensively and conveniently act as Settle mints, guaranteeing their depositors up to their banked assets. E.G. my bank, Stanford federal credit union, could easily act as a mint and I would be on the network through it as fernly@sfcu.org. SFCU would "know" that I'm good up to my current balance (or some fraction of it chosen by me).
But short of that future day, is it not the case that a person setting up amateur mint must really taking on the responsibility of a banker, holding funds and paying them out on demand?
This looks like an approach more akin to federation (or more accurately confederation) on social networks than the "distributed" notion of blockchain trust, which in practice, as noted, still exhibits centralizing political forces per chain, but is robust to most forms of direct attack. I do think that a mix of approaches is what will happen in the future since the two methods express different levels of trust and liquidity of transaction.
I always think the value Ethereum brings is few when the use case is like "store credit", "in-game reward". This looks like a very promising solution!
Edited: One question: it seems to me that settle service is nothing but a group of rest API end point(include register?), it'll be really useful if i could interactive with it directly with curl/bash without installing any client.
If you head to settle.network you have examples available using the command line until also available.
I was asking if it's possible to interactive purely with curl + api, without client installed
Ah sorry, it's is also definitely possible. The documentation lists the endpoints but it's still very WIP (the doc, not the endpoints): https://settle.network/documentation/
You can also refer to the source code[0] but that requires a bit more effort.
To interact with m.settle.network you would have to signup first using the command line (that's the easiest, to get your key, though doable over curl as well as you rightfully point out)
These are only pointers, but happy to answer any question async over email at stan@stripe.com as well!
[0] https://github.com/spolu/settle/tree/master/mint/endpoint
Any signs this project isn't dead? The curl command for installing it does not work and the last blog post is from January.
> "But while the operations of such currencies, based on blockchains, have been fully decentralized, the trust graph of these cryptocurrencies have remained entirely centralized. Everyone need to trust Bitcoin to transact in Bitcoin, and everyone needs to trust Ethereum to transact in Ethereum or assets issued on the Ethereum blockchain."
Given a string can you programatically determine whether it is bitcoin? (Starting from a string called 'genesis block', asking assumingly malicious nodes for more strings, doing some math you can reach the string in question.) (Note: You cannot do so with ERC tokens, an alarming thing to ponder[0])
Can you determine with high probability the "amount of work done" in producing the set over which you previously did math? (This amount acts as the amount of trust we lay behind it, which we determine on our own. We always await anyone who can provide more cumulative work done.)
Thus there is no trust graph with bitcoin atleast. (Apart from mining centralization, and users prone to upgrading, bitcoin is pretty close to decentralised and looks to improve in future with physical limits being reached with mining chips and people increasingly opting for immutable code alongwith the immutable chain it calculates on (once all aspects of fungibility like anonymity is solved, users might stop upgrading at all).)
---
settle.network is just git.
All of private blockchains, federated sidechains, colored coins, so-called-smart-contracts-on-eth, premined coins, proof-of-stake coins, etc etc are just PKIs.
[0] https://www.google.co.in/search?q=how+to+check+if+a+token+is...
Did you read the very first result on that search?
Not getting into this discussion, but a slight reminder - Google can and does serve different search results to different people (or even different browsers on the same computer).
I know and I deliberately put a google search query instead of a specific link, because I read all the google links and this cannot be done decentrally.
Both good points.
ERC20 token should be indistinguishable from each other because it's a standard devised precisely to encourage and facilitate trading.
Please link me up, I have checked and tried more than 20 results and none of them tell why or work.
Sorry for the delay in answering back.
This is one example: https://github.com/bokkypoobah/TokenTrader/blob/master/contr...
Originally asked here: https://ethereum.stackexchange.com/questions/12757/detect-or...
You can also check with MyEtherWallet: https://ethereum.stackexchange.com/questions/21082/use-mew-f...
The short answer is that you need the contract code and ABI to check if it is a ERC20 compliant token or not but you can use http://testnet.etherscan.io/ (or the live version) to get this information.
So manual then?
To reach the ethereum genesis block programatically, starting from an erc20 token I give you, you need that "need the contract code" part which is centralised.
There is a difference between tokens and the currency Ether so I'm not sure what you mean with the genesis block in regards to ERC20 tokens here.
The contract that holds the ERC20 is hosted in every single node of the blockchain so it is not centralised at all.
> "Currencies operate on a centralized trust graph. This sentence is almost tautological..."
Not the case with physical currencies such as precious metals...
That's an interesting thought. I'm not sure I would consider a precious metal a currency because its value is driven by its intrinsic value more than trust. But I do agree that they can be used "as" a currency that is indeed entirely decentralized. Their use online would require trusting services that store them and allow their transfer between accounts which, quite interestingly, maps quite well to the mint model proposed in Settle.
> I'm not sure I would consider a precious metal a currency because its value is driven by its intrinsic value more than trust.
I don't think that's really true. Most precious metals are valuable because people think they're valuable - they're propped up by a collective myth, by the collective belief that there will always be someone else willing to pay. Sure, there are industrial applications, but those are not the primary drivers of value, especially not historically.
Most precious metals are worth more than their industrial applications. I suppose you could say that their value is derived from trust in the stability of their market prices.
If they're worth more than their industrial applications, how can it be economical to use them for their industrial applications?
If gold-plated contacts cost more than they're worth, nobody would make any as it would have a negative ROI.
I agree that the market cap of gold is higher than it would be if industrial applications were the only source of demand. But given that gold is used for industrial applications, it must not cost more than it is worth for those applications. Hope that makes sense.
If they're the best material for the job then manufacturers will pay the inflated luxury-good prices. People selling gold are selling it at market price, regardless of what their buyers do with it. Just because something only adds X amount of value, however that's defined, doesn't mean that one will be able to buy it for at or less than X.
I was asserting the opposite: if it adds less than X amount of value, nobody would buy it for X.
That it sells for X proves that it adds at least X amount of value.
Wasn't the usd pre nixon just a proxy for gold? Granted at that point it may be more trust+intrinsic and not just trust alone as you have with metal
interesting decentralising primitive since fiat currency basically "is" trust.
Well, not if we are talking about "super-dollars" or other high quality forgeries.
For argument sake, imagine the most sketchy character you can conjure in your mind and let's say he ask you to change a 50 in 10s. Would you trade him 5 of your 10s for one of his 50?