Gateways
Stellar is built on the concept of gateways—entities that let people get into and out of the network. (For some related background, it may be worth reading Stripe’s recent cryptocurrency blog post.)
You need to trust the gateways you use, but you don’t need to trust the other participants in the network. This is similar to trusting your local bank to hold a deposit on your behalf. In Stellar, you explicitly decide how much you’d like to trust a gateway by setting policies such as “I trust this gateway to hold a deposit of up to 100 CAD on my behalf”.
Currency balances are represented as credits from the gateway. For example, a user could deposit 100 USD into an appropriate gateway via ACH, and the gateway would issue a “(100, USD, )” credit to the user’s Stellar account. The credit issuance will only succeed if the user has already marked themselves as trusting the gateway for at least 100 USD.
Credits can be traded between users without involving the gateway.
Cashing out of the network requires invoking the promise represented by a gateway’s credits. You return those credits to the issuing gateway, and the gateway sends you the corresponding currency. Because the currency return is external to the network, you need to trust the gateway to follow through on their commitment (just as you trust your bank to return your deposit upon request).
Since it’s a distributed and open network, anyone is able to start their own gateway, and to take their pick of gateways to trust.
Stellar bakes a distributed exchange into the protocol. You can think of the exchange as a single large pool of offers of the form “I’ll trade (100, EUR, ) for (79, GBP, )”. Anyone on the network can issue a new offer, accept an outstanding one, or cancel an offer they created.
Anyone can submit orders to the exchange.
Outstanding orders to convert between a gateway’s local currency and stellar let anyone on the network send local currency credits to that gateway’s users. Behind the scenes, there might be a series of conversions along the way. For example, a user might submit a transaction which converts EUR credits to stellar and then converts those stellar to AUD credits. Ultimately, the user will have sent EUR, the recipient will have received AUD, and two exchange orders will have been fulfilled.
Consensus
Under the hood, Stellar uses its own distributed ledger, which is maintained by a consensus algorithm rather than mining. Each node in the network communicates with a set of other nodes that it believes will not collude (such as nodes run by universities, governments, and companies). Importantly, it doesn’t need to trust the nodes themselves — it just needs to believe the nodes won’t work together to produce the same malicious result. Consensus is then reached by an iterative process, which results in each new ledger being decided upon every few seconds. Correspondingly, transactions confirm nearly instantly, and no mining is needed.