News for hackers. Stuff that matters.
Re:Ethereum programming for web developers by tabeth on Thursday January 18, 2018 @09:55AM (#16177465)
Can someone describe a few applications of blockchains in real world applications that cannot be implemented without a blockchain? I'm really struggling to come up with even a single case. I thought some sort of secure voting mechanism would be a good candidate, but that too could be done with an immutable database.

EDIT: Besides crytocurrencies, I mean.

Re:Ethereum programming for web developers by Bartweiss on Thursday January 18, 2018 @10:06AM (#16177565)
> an immutable database

I guess the question would be: if you don't trust a central authority to keep that database immutable and add records honestly, how do you design a distributed solution?

Blockchains are pretty much just an append-only log, but they were the first decentralized answer to the double-spend problem. So I'm not sure it's a case of what blockchains can do that immutable databases can't - they're a way of implementing decentralized immutable databases.

Re:Ethereum programming for web developers by kang on Thursday January 18, 2018 @03:49PM (#16181281)
> Blockchains are pretty much just an append-only log

By this definition, ethereum is not a blockchain[0]

> they were the first decentralized answer to the double-spend problem

Physical reality is decentralised answer to double-spend problem (the gold molecules 'exist' in your hand, no centralised god manifested it but physics worked on universal matter in a decentralised manner). The 'problem' is created when we assumed centralised trust is even possible.

A blockchain is decentralised answer to double-spending a 'non-physically interactable' good(don't mean 'virtual' because POW is real).

[0]https://ethereum.stackexchange.com/questions/9535/how-does-a...

Re:Ethereum programming for web developers by carver on Thursday January 18, 2018 @10:39AM (#16177891)
The most natural follow-up to currencies on a blockchain are assets, like a ticket to a concert, shares in a company, or a deed to a car.

Once more assets are represented this way, many kinds of applications would be valuable. One simple and powerful example is escrow.

Enabling one-shot, instant escrow with strangers on the Internet has real-world benefits. For example, the current safest way to exchange Burning Man tickets is to meet someone in person, inspect the tickets and cash, and trade them by hand. If they were a blockchain asset, they could be traded nearly instantly and safely across the world. With a stable dollar asset, the official escrow service could even make it more difficult to sell above face value.

Re:Ethereum programming for web developers by kang on Thursday January 18, 2018 @04:25PM (#16181612)
> The most natural follow-up to currencies on a blockchain are assets

Natural for marketing-team maybe but not for developers. They only seem natural because they both look like 'value' transfer. But there is a huge difference. The value in-case of currency-use is inherently generated using proof-of-work whereas there is no decentralised way to map a real asset to virtual token.

So NO, none of these 'assets on the blockchain' are decentralized or even need blockchain non-trivially.

Re:Ethereum programming for web developers by TheLegace on Thursday January 18, 2018 @02:09PM (#16180282)
I like your idea about using blockchains to represent assets. I have been thinking about something along those lines. But a whole set of interesting problem arises. That being the legal issues surrounding transferring ownership of assets globally. Not to mention issues of fraud and recourse when an agreement falls apart. I'd be curious to to have a chat with you about it. Send me an email.
Re:Ethereum programming for web developers by altern8tif on Friday January 19, 2018 @02:12AM (#16184636)
I've got a team exploring the idea of executing a smart contract that transfers assets (be it crypto-asset or real world assets) upon a specific real-world trigger event (via oracles).

But you're right, the legal issues are a dime and a dozen. It'll take some time for the law to catch up (eg. digital wills). The technology is ready for this, we just need to right confluence of factors to make this a reality.

Re:Ethereum programming for web developers by TheLegace on Friday January 19, 2018 @11:54AM (#16187661)
I think it is interesting if the technology did it, but I'd want to know what incentives people would have to use it, since it would just make things more complicated.

Maybe it lowers the cost of transferring assets, and there is the flexibility transferring to anyone on the planet. Maybe the use case is having funds in an escrow until both parties can verify that the transaction is cleared. I think there are trust companies that already do this. Maybe if people are motivated to deal with the legal(or private entities would exist to fill the need to simplify it) themselves it could work itself out.

It could be that through this method less lawyers are involved. If the transfer of assets can be standardized or at least abstracted away for all/most countries in one system I could see why people could be interested in it.

Also if your looking to sell an asset, or looking to buy an asset that you expect to increase in value, it might be interesting to have a global market to purchase/sell these assets with price signals for less risky or higher return assets.

Re:Ethereum programming for web developers by bpicolo on Thursday January 18, 2018 @04:13PM (#16181515)
You hit fun new issues like - how do you transfer assets when somebody is dead? No private keys, no hope.
Re:Ethereum programming for web developers by dfischer on Friday January 26, 2018 @10:28AM (#16239854)
Deadman switch?
Re:Ethereum programming for web developers by kang on Thursday January 18, 2018 @04:26PM (#16181619)
This looks like the start of slockit conversation proposing a DAO
Re:Ethereum programming for web developers by pjc50 on Thursday January 18, 2018 @11:22AM (#16178281)
How does the blockchain help? The important issue is the dispute between humans as to whether the tickets and money are valid. You can only do that if the transaction is atomic, which requires that the tickets and money are on the same blockchain and exchanged in the same transaction.
Re:Ethereum programming for web developers by carver on Thursday January 18, 2018 @12:32PM (#16179105)
> You can only do that if the transaction is atomic, which requires that the tickets and money are on the same blockchain and exchanged in the same transaction.

Yes, they should be on the same chain, so that the transaction is atomic. This is trivial to do in Ethereum (and other blockchains, presumably).

Re:Ethereum programming for web developers by Donzo on Thursday January 18, 2018 @11:49AM (#16178563)
Yes, the comment is premised on the future representation of assets in the blockchain.

If the tickets were on the blockchain, they could be exchanged in the way that you describe.

Re:Ethereum programming for web developers by AroundTheBlock_ on Thursday January 18, 2018 @11:59AM (#16178660)
It doesn't. His example is nonsensical.

The best use cases for smart contracts are gambling apps (i.e., financial markets, exchanges), escrow services (collateral-based trustless loans), and perhaps some identity services

Re:Ethereum programming for web developers by weego on Thursday January 18, 2018 @01:49PM (#16180057)
People always seem to come up with gambling. No on in the gambling industry would want to have their business on top of a public blockchain so good theory but nope.
Re:Ethereum programming for web developers by drumdance on Saturday January 27, 2018 @11:11AM (#16246702)
There are already new gambling apps on the block chain. That existing players don't want this is irrelevant. Classic innovator's dilemma.
Re:Ethereum programming for web developers by pjc50 on Friday January 19, 2018 @04:41AM (#16185098)
Given US bans on online gambling, it's already been a market for crypto.
Re:Ethereum programming for web developers by aenigmaclamo on Thursday January 18, 2018 @12:02PM (#16178679)
No, there isn't one. The reason is that you can do everything the blockchain data structure can without using blockchain by just putting it in a traditional database with more ease.

If we take a look at Bitcoin, think how much easier it is to implement if we just didn't use blockchain -- it's literally just a single SQL table of transactions and some sort of API to be able to submit transactions. From an application development perspective, all the extra cruft that Bitcoin needs to work makes blockchain less useful for normal application development.

The point of a blockchain is to essentially be able to do what we do normally in a centralized application in a decentralized way with a different set of controls in terms of trust. It also acts as a specific secure by design architecture that allows us to build these distributed applications using an established model.

Don't get me wrong, though, having a different trust model is significant. It can allow us to make applications which we otherwise couldn't make before because of non-technical reasons. For example, an application like secure voting isn't done (or is discouraged) with an immutable database because we don't trust the central authority -- but with blockchain, we can better trust that all votes are valid.

Re:Ethereum programming for web developers by JamesLeonis on Thursday January 18, 2018 @11:59AM (#16178661)
I doubt you will find many that cannot live without a Blockchain system. Instead see it as a tradeoff between performance and where you place your trust. Centralized systems are performant, but the burden is managing the security/trust of that system. A decentralized system of trust removes this burden, but it comes with a performance penalty.

An example I'm working on right now is a system of authentication using Ethereum to replace passwords. The decentralized identity of addresses, combined with the cryptographic primitives provided, paves the way for a whole new way of managing identity and authentication even in the "old web" world. Hopefully I'll finish my demo by the end of the weekend.

Re:Ethereum programming for web developers by Zhyl on Thursday January 18, 2018 @10:36AM (#16177867)
Blockchain is to crypto what AOL was to the early web.

We've had hashing, dencentralisation, public key cryptography etc for years, but all of it was kind of academic, kind of out of reach.

Similarly AOL brought email, the web, IM together into a nice package that people could get behind and use even though there wasn't obvious inherent value to those who were using the internet beforehand.

AOL brought the news homepage, Ethereum has brought crypto-cats. AOL gave 8-year-old me an interest in dial-up connection sounds, bitcoin gave me an interest in staring at financial graphs.

Re:Ethereum programming for web developers by CryptoPunk on Thursday January 18, 2018 @03:51PM (#16181311)
AOL was a company, not a class of applications or a technology. It's totally incomparable to a distributed blockchain.
Re:Ethereum programming for web developers by lelbloster on Thursday January 18, 2018 @05:21PM (#16182118)
he means philosophically, not literally/technically

i actually think it's a pretty good simile

its bringing a new tech development to the masses in a very clunky way - just what AOL did.

Re:Ethereum programming for web developers by CryptoPunk on Thursday January 18, 2018 @06:05PM (#16182455)
The technology here is far greater than the sum of the parts (public key cryptography, hashing, etc). The innovation of the blockchain is distributed consensus, and none of the component technologies can provide that alone.
Re:Ethereum programming for web developers by lelbloster on Thursday January 18, 2018 @11:08PM (#16184085)
huh?

you're missing the point here dude; me and the other guy are just saying that it's a similar situation:

> X brought Y together into a nice package that people could get behind and use even though there wasn't obvious inherent value to those who were using the Z beforehand

that applies to AOL and blockchain.

Re:Ethereum programming for web developers by CryptoPunk on Friday January 19, 2018 @12:16AM (#16184293)
"huh" doesn't really tell me anything about your understanding of my point. If you could specify what part of my statement doesn't make sense for you, I could at least try to clarify it.

>>X brought Y together into a nice package that people could get behind and use even though there wasn't obvious inherent value to those who were using the Z beforehand

If AOL provided a major innovation not available in either X or Y, then it would be analogous to the blockchain. The reason why AOL faded away and the blockchain won't is that the latter solves a major problem that could not be solved by any previous technology, including any of its component technologies alone, while the former did not.

Re:Ethereum programming for web developers by zodPod on Thursday January 18, 2018 @11:41AM (#16178485)
Why does it have to be something that can't be done without it? I think the idea is it does it in a different way that might be beneficial in some ways. In dev work there's not a lot of single ways to do anything. It's more just choosing which tool would be best for the current task.
Re:Ethereum programming for web developers by 52-6F-62 on Thursday January 18, 2018 @11:10AM (#16178172)
They don't really talk about it on their website, but IIRC the Brooklyn Microgrid project uses a blockchain to keep an immutable ledger of transactions between net consumers of power and net producers and handle transactions between the two. The website is directed more toward potential neighbourhood participants, so it doesn't really get too technical. Heard a talk last spring on the subject by a professor from Ryerson (Toronto. I can't recall his name off the top of my head) who went into detail on how the project works.

http://brooklynmicrogrid.com/

I'm not sure this necessarily couldn't be implemented otherwise, but it is a core part of how it has been functioning as far as I know.

Re:Ethereum programming for web developers by 1up8192 on Thursday January 18, 2018 @11:08AM (#16178146)
To me the most obvious one is sharing economy without a completely useless money grabbing central authority (see virtually any popular sharing economies like uber, lyft, airbnb etc). These all can be created in a decentralized manner with blockchain tech, especially Ethereum.
Re:Ethereum programming for web developers by magnat on Thursday January 18, 2018 @11:49AM (#16178565)
A cross-CA transparency log for certificates.
Re:Ethereum programming for web developers by mpfundstein on Thursday January 18, 2018 @09:59AM (#16177498)
Bitcoin?