I've been dabbling recently, and as I've said before I'm quite put off by the limitations of Ethereum. As it stands now, it's main use case appears to be the development of new cryptocoins, perhaps voting applications..? And yet, every now and then you come across a nugget of true insight when working with the Ethereum protocol, for instance the gas payments to nodes to run code effectively should stop DDoS attacks since it would require vast sums of money to disrupt the network. It remains to be seen how valid this idea is in practice, but you could look at ideas like that and say, "Yeah, that seems like a step forward."
Anyways, if Ethereum really will become Web 3.0, then comparatively speaking I'd say we're not even in the 56k modem era yet.
Once there is a proper infrastructure for trusted Oracles, there will be lots of interesting applications: small group crowd funding, payment distribution from trusts,execution of wills.
While I would love for this to be a thing, most cryptocurrency enthusiasts seem to distrust anything and everyone. How would one develop an oracle trusted enough that it would be accurate while not being vulnerable to sudden betrayals? There are for example plenty of stories from Eve Online (closest example of a lawless/trustless universe) where a very trusted middleman suddenly changed behavior when the benefits became great enough.
Especially when a cryptocoin includes strong anonymity, betrayal has very low downside since no retribution would be possible. However even if such anonymity is not present, it may not be possible to get retribution if the entity on the other side is (for example) the mafia.
Uhh, with the risk of sounding "shilly", there is this token called chain link that is supposed to do just that, act as an oracle for data from the outside world.
With the risk of sounding "shilly", there is this token called chain link that is supposed to do just that, act as an oracle for data from the outside world.
That's a great question, as are many others around taxing cryptocurrency transactions. A quick googling indicates that, in the US, gambling with anything of value constitutes gambling. https://www.law.cornell.edu/uscode/text/31/5362
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.
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.
> 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).
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.
> 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.
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.
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.
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.
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.
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.
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.
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.
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.
Amara's Law still holds, though - technology is overestimated in the short run and underestimated in the long run.
I don't think Tensorflow et al have been busts, or have even fallen short of what experts expected from them. They were just never consistent with the slavering hype they got from university press offices, tech journalists, and startup hucksters.
I'm less convinced that blockchains will have a major long-run impact, but I expect solving the double-spend problem will prove useful one way or another.
Don't forget Big Data and Data Science. Sometime in 2017 cryptocurrency really blew up in popularity, and suddenly everyone in my LinkedIn network went from being a Data Scientist to Cryptocurrency Expert or Blockchain Developer. People love bandwagons.
Seeing this on the front page of HN, my first impression is "wow, people are really desperate for information on this!" Can anyone with experience point to a better starting point?
I have finished Solidity tutorial on CryptoZombies.io. It was fun but it did not teach how to setup or to deploy Ethereum project on the Ethereum network.
I've slowly started tracking tutorial articles like this, and also automated setting up an Ethereum/Solidity development environment and tooling in a VM, with Vagrant. This has been my starting point, but I haven't gone much further yet.
Both the tutorial links and Vagrant setup is here -
Many of the ethereum projects are extraordinarily well documented. I would recommend skipping the blog posts and just use truffle and the ethereum official docs.
Thanks! There are a lot of resources out there, many with recommendations from key figures in the community. I would love to hear more about how HN users are progressing up the learning curve -- how effective these tools are in practice.
Checkout my site \newline [1]. The introduction to Solidity course is a walkthrough on how to write and deploy your first smart contract locally. It's free.
Anyways, if Ethereum really will become Web 3.0, then comparatively speaking I'd say we're not even in the 56k modem era yet.
Deleted Comment
Especially when a cryptocoin includes strong anonymity, betrayal has very low downside since no retribution would be possible. However even if such anonymity is not present, it may not be possible to get retribution if the entity on the other side is (for example) the mafia.
but why?! WHY?!
i thought the whole point of this blockchain stuff was that there was no trust in any one entity/group of entities (aside from the chain itself)
as soon as you have "blockchain plus a few trusted people", does that not completely undermine the whole idea?
why not just have a few trusted people?
> https://news.ycombinator.com/item?id=16176714
Sorry for the basic question, but is it legal to do a lottery application like this with Crypto Coins because they aren't real money?
EDIT: Besides crytocurrencies, I mean.
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.
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...
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.
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.
Deleted Comment
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.
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.
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.
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.
Also for anyone starting Ethereum or Blockchain development, I'd recommend learning and understanding The DAO Attack of 2016: https://www.coindesk.com/understanding-dao-hack-journalists/
I guess 2018 will be the year of blockchain and cryptocurrency.
I don't think Tensorflow et al have been busts, or have even fallen short of what experts expected from them. They were just never consistent with the slavering hype they got from university press offices, tech journalists, and startup hucksters.
I'm less convinced that blockchains will have a major long-run impact, but I expect solving the double-spend problem will prove useful one way or another.
Right now, I am enrolled in https://www.udemy.com/ethereum-and-solidity-the-complete-dev...
It looks good but I haven't finished it yet.
This course feeds into a 12wk paid course with certification: https://academy.b9lab.com/courses/course-v1:B9lab+ETH-21+201...
Both the tutorial links and Vagrant setup is here -
https://github.com/mmccaff/vagrant-ethereum-dev
Btw this is my utube channel of tutorials for ethereum / blockchain development:
https://m.youtube.com/channel/UCZM8XQjNOyG2ElPpEUtNasA
http://truffleframework.com/
https://solidity.readthedocs.io/en/develop/
https://web3js.readthedocs.io/en/1.0/
[1] https://www.newline.co/
Deleted Comment
Deleted Comment