News for hackers. Stuff that matters.
Re:Hard Problems in Cryptocurrency: Five Years Later by jkhdigital on Saturday November 23, 2019 @11:53PM (#21618439)
I literally spent the past week reading a couple dozen papers on cryptocurrency attacks, in service of a term paper which should hopefully turn into a master's thesis (and possibly more during my PhD campaign). I'm pretty damn pessimistic as a result. Smart contracts basically throw all of your consensus guarantees out the window because they can cause arbitrary exchanges of value in the application layer, which can be used to incentivize miners into all sorts of shenanigans.

All of this research is producing a fascinating array of solutions in search of problems. Fun stuff to think about, but I suspect that the added complexity will only create a system that is just as prone to fraud and abuse as the existing centralized order.

Re:Hard Problems in Cryptocurrency: Five Years Later by MuncleUscles on Sunday November 24, 2019 @05:06AM (#21619437)
Smart contracts are a bad paradigm for developing applications on the ledger, they're far too permissive, the stakes are too high to want to trust your assets to arbitrary turing-complete code.

You can do much better with composable state machines, because everything you do gets the same level of security as the native token transfers https://www.radixdlt.com/post/radix-engine-a-simple-secure-s...

Disclaimer: I work at Radix

Re:Hard Problems in Cryptocurrency: Five Years Later by yodsanklai on Sunday November 24, 2019 @12:00PM (#21621642)
> the stakes are too high to want to trust your assets to arbitrary turing-complete code.

Does it matter whether the language is turing-complete or not? you're trusting a contract, not the PL used to write the contract, and the contract can be very simple (and formally verified, if the PL has a formal semantics).

Re:Hard Problems in Cryptocurrency: Five Years Later by ddrdrck_ on Sunday November 24, 2019 @02:36PM (#21622736)
I think the point is that it is easier to formally verify a non-Turing-complete PL
Re:Hard Problems in Cryptocurrency: Five Years Later by st1ck on Monday November 25, 2019 @11:32AM (#21629774)
Smart contract language doesn't have to be Turing complete. In 2018 there was a few related R&D projects, so I hope some of them are more mature by now.
Re:Hard Problems in Cryptocurrency: Five Years Later by ddtaylor on Saturday November 23, 2019 @11:57PM (#21618452)
> Smart contracts basically throw all of your consensus guarantees out the window because they can cause arbitrary exchanges of value in the application layer, which can be used to incentivize miners into all sorts of shenanigans.

Do you have an example?

Re:Hard Problems in Cryptocurrency: Five Years Later by jkhdigital on Sunday November 24, 2019 @12:20AM (#21618544)
So glad you asked:

1. https://eprint.iacr.org/2019/748.pdf 2. https://arxiv.org/pdf/1810.11605.pdf 3. https://eprint.iacr.org/2019/775.pdf 4. https://users.encs.concordia.ca/~clark/papers/2019_wtsc_fron... 5. http://homepages.cs.ncl.ac.uk/patrick.mccorry/minerbribery.p...

This one isn't an attack per se, it is mostly an exploration of arbitrage bots in decentralized exchanges running on Ethereum smart contracts. However, they point out that miners can trivially capture the value of the arbitrage transactions by front-running, and that this "free money" is like a bonus block subsidy that falls outside of the PoW consensus models:

6. https://arxiv.org/pdf/1904.05234.pdf

This one actually operates through transaction fees only, so it doesn't depend on smart contract functionality. However, it is waaaaay more expensive (for the attacker) than the others:

7. https://www.cs.umd.edu/~jkatz/papers/whale-txs.pdf

Re:Hard Problems in Cryptocurrency: Five Years Later by hanniabu on Sunday November 24, 2019 @05:41AM (#21619563)
You're using a poor implementation of an app as a reason why smart contracts are bad. I hope you realize this is the same thing as saying databases are bad because of the Equifax hack.
Re:Hard Problems in Cryptocurrency: Five Years Later by jotakami on Sunday November 24, 2019 @08:28AM (#21620277)
I don’t think you understand. The arbitrage bots aren’t exploiting poorly written contracts, they are capturing free value that users of a dApp have opened up. This free value is available to miners as well, and could be used to subsidize an otherwise-unprofitable double spend attack.

But more to the point: allowing smart contracts in a blockchain introduces all of the complexity of trying to make any other piece of software secure. Except... now it’s on a blockchain where the code is open source and mistakes can allow adversaries to steal money, not just data. How is this an improvement?

Re:Hard Problems in Cryptocurrency: Five Years Later by hanniabu on Sunday November 24, 2019 @12:08PM (#21621700)
I do understand. I work in the industry, specifically with decentralized exchanges. Both the order book and the order matching should be P2P with 0 conf transactions and client side verification. The fees paid by the user should be top off fees for the contract balance rather than pay to play fees.
Re:Hard Problems in Cryptocurrency: Five Years Later by semiotagonal on Sunday November 24, 2019 @10:59AM (#21621151)
I did about 0.1% of the amount of research you did a few years ago and was really struck by the irreversibility of mistakes. Other engineering domains can have irreversible (e.g. fatal) mistakes as well, but they don't have as many enthusiasts jumping in to the field.
Re:Hard Problems in Cryptocurrency: Five Years Later by alanfalcon on Sunday November 24, 2019 @11:18AM (#21621308)
Our CTO likens developing a smart contract to civil engineering. Our CTO also remembers what it was like to ship your software in its final form on a floppy disk!

I think it’s great that more and more people are jumping in and learning what it’s like to develop in such an unforgiving domain (no point here, I just think it’s great!)

Re:Hard Problems in Cryptocurrency: Five Years Later by exdsq on Sunday November 24, 2019 @01:14PM (#21622184)
I completely agree! It's sparked an interest in formal methods and learning more about how engineering takes place in other disciplines to improve their product quality.
Re:Hard Problems in Cryptocurrency: Five Years Later by semiotagonal on Sunday November 24, 2019 @12:05PM (#21621673)
Learning on the job in an unforgiving domain can be costly.
Re:Hard Problems in Cryptocurrency: Five Years Later by alanfalcon on Sunday November 24, 2019 @02:46PM (#21622815)
The blockchain is indeed fraught with peril. Code review, audits, and bug bounties are an absolute necessity when it comes to smart contracts! Learning in a high stakes situation seems pretty good as long as you have a robust support structure.
Re:Hard Problems in Cryptocurrency: Five Years Later by neiman on Sunday November 24, 2019 @03:39AM (#21619167)
I haven't read all those papers, but basically you could always bribe miners, even without smart contracts, just by giving them money outside the blockchain they mine.

One of the ideas of PoW is that if you have enough money to bribe the miners, it's better for you to be a miner yourself. Is this the principle your examples weakens? I may have misinterpreted them.

Re:Hard Problems in Cryptocurrency: Five Years Later by jotakami on Sunday November 24, 2019 @08:46AM (#21620368)
Bribing outside of the system (i.e. in real life) could be a tremendous coordination and logistical challenge, especially given the amounts needed to make these attacks profitable. Smart contracts can make all of that trivially easy.

It’s like... the people most interested in trustless collaboration are people who are untrustworthy. A trustless settlement layer seems fine, but any real human application is going to have an element of trust and doesn’t belong alongside settlement.

Re:Hard Problems in Cryptocurrency: Five Years Later by Bombthecat on Sunday November 24, 2019 @04:01AM (#21619236)
Eos is a good a example. It's governance is falling apart.

How to solve it? Well, I guess it needs more governance and rules :)

Re:Hard Problems in Cryptocurrency: Five Years Later by hanniabu on Sunday November 24, 2019 @05:39AM (#21619553)
EOS is not really something to use as an example
Re:Hard Problems in Cryptocurrency: Five Years Later by celticninja on Sunday November 24, 2019 @06:13AM (#21619684)
An example can be good or bad.
Re:Hard Problems in Cryptocurrency: Five Years Later by hanniabu on Sunday November 24, 2019 @12:09PM (#21621709)
An example should be representative.
Re:Hard Problems in Cryptocurrency: Five Years Later by Jasper_ on Sunday November 24, 2019 @11:19PM (#21625423)
"It's a spotless track record, if you ignore all the bad examples"
Re:Hard Problems in Cryptocurrency: Five Years Later by TheColorYellow on Sunday November 24, 2019 @11:47AM (#21621542)
What's happening to EOS?

They've got a gagillion dollars in funding. What's the problem they're facing.

Re:Hard Problems in Cryptocurrency: Five Years Later by qrbLPHiKpiux on Sunday November 24, 2019 @11:10AM (#21621239)
Whether you disagree or not, sometimes the best solution is analog, or paper.

Everything scales too easily and massively when you digitize things. Especially money and voting.

Re:Hard Problems in Cryptocurrency: Five Years Later by VMG on Sunday November 24, 2019 @11:53AM (#21621586)
Paper money already was a level of abstraction above the physical assets like gold and silver. The problem with paper money is that it can be devalued very easily.

You are also not going to have a say about paper money getting banned in the coming years. You'll have a choice between different digital currencies, most of them centralized and some that are not.

Re:Hard Problems in Cryptocurrency: Five Years Later by jrochkind1 on Sunday November 24, 2019 @12:28PM (#21621857)
Gold and silver are already a level of abstraction over the things you are buying with them or selling for them. Gold and silver's value as commodities have little to do with their values as useful for anything practical, although gold happens to have become useful for electronics.
Re:Hard Problems in Cryptocurrency: Five Years Later by omarchowdhury on Sunday November 24, 2019 @01:33PM (#21622300)
The point isn't that there is a level of abstraction, but the kind of abstraction. The abstraction of paper money as opposed to metals comes with the potential for abuse through unrestrained printing.
Re:Hard Problems in Cryptocurrency: Five Years Later by max_ on Sunday November 24, 2019 @05:35AM (#21619537)
Less famous person here :)

I also did a blog post in back in 2018 on whats keeping blockchains from full mainstream adoption.

For those interested, its here https://asindu.drileba.capital/2018/05/why-bockchain-is-not-...

Re:Hard Problems in Cryptocurrency: Five Years Later by seibelj on Sunday November 24, 2019 @12:00AM (#21618464)
Miners in Proof of Work currencies that find a block can choose what transactions in what order get mined. Through which they can change the order of operations, but they can’t invent transactions or manipulate them directly. I have found the issue of miners and transaction manipulating to be overblown.
Re:Hard Problems in Cryptocurrency: Five Years Later by Nursie on Sunday November 24, 2019 @06:35AM (#21619765)
They could block, and may find themselves required to block transactions from unknown sources if this space becomes more regulated.
Re:Hard Problems in Cryptocurrency: Five Years Later by knocte on Sunday November 24, 2019 @10:58AM (#21621140)
Solution to this is privacy-based wallets and/or second layer payments (e.g. lightning network).
Re:Hard Problems in Cryptocurrency: Five Years Later by Nursie on Tuesday November 26, 2019 @02:39AM (#21636318)
Lightning is a joke. A really bad one that keeps dragging on.

Production ready in 18 months! Forever...

Re:Hard Problems in Cryptocurrency: Five Years Later by knocte on Saturday November 30, 2019 @11:24PM (#21673843)
What do you mean? it's already in production.
Re:Hard Problems in Cryptocurrency: Five Years Later by fxtentacle on Sunday November 24, 2019 @01:02AM (#21618704)
Plus there's the problem that smart contracts cannot be easily modified if they are found to be buggy and that one can always reverse engineer them, because they're distributed to everyone.

These two together have already caused lots of damage https://hackernoon.com/yes-this-kid-really-just-deleted-150-... and they make most real-world uses impossible.

It is pretty much impossible to sell anything digital with smart contracts, because due to the source code being accessible to everyone you can always figure out the password, key, or secret URL to whatever is being sold. Without paying for it.

Re:Hard Problems in Cryptocurrency: Five Years Later by alanfalcon on Sunday November 24, 2019 @06:13AM (#21619680)
The best smart contracts don't need to be reverse engineered, they've got shared, verified source code. The bugginess is a real problem as you've pointed out. The "impossible to sell anything" couldn't actually be farther than the truth from all my experience buying and selling NFTs. Over $150,000 USD worth of digital collectable game cards have been traded this week alone over at https://opensea.io/recent - everything is based on cryptographic signing and verified ownership on smart contracts, and it works great.
Re:Hard Problems in Cryptocurrency: Five Years Later by simias on Sunday November 24, 2019 @08:35AM (#21620312)
Digital assets are obviously the best possible use case for blockchains and smart contracts, but can it really work outside of that use case? And even for that use case is it really more convenient than centralized solutions?

From what I can tell browsing through this website those digital "assets" seem to be yet another speculative outlet with some limited gamification on top. It's cool from a technical perspective but where do we go from there?

Re:Hard Problems in Cryptocurrency: Five Years Later by alanfalcon on Sunday November 24, 2019 @02:53PM (#21622860)
We're going to get the Metaverse from there, eventually! And it will be glorious. A great definition of the Metaverse and what role blockchain may play in it: https://soundcloud.com/siggraph-spotlight/30-tim-sweeney-and...

I can confirm that the blockchain is way more convenient than centralized solutions for buying and selling digital assets once you get over the initial friction (which is still way too much). The keys here are open standards, composability, and trustless atomic transactions. As a user, I basically look at ethereum as an in-game currency—and the game is the whole of the ethereum gaming space (still nascent, yes, and polluted by a great many scammy speculative shell games) rather than a single game.

As for working outside of digital asset use cases, there are certainly a large number of people trying to get it to work though I agree the use case is much less clear cut. Without exactly agreeing with Vinay here, I at least appreciated the perspective he shared in detail on this episode of the NonFunGerbils podcast: https://nonfungerbils.com/podcast/3-vinay-gupta-indexing-the...

Re:Hard Problems in Cryptocurrency: Five Years Later by ErikAugust on Sunday November 24, 2019 @10:32AM (#21620960)
You can make real games that leverage these type of assets. Plug: https://www.megacity.gg.
Re:Hard Problems in Cryptocurrency: Five Years Later by nradov on Sunday November 24, 2019 @01:12PM (#21622164)
So in other words it's being used for something even more useless than trading Beanie Babies.
Re:Hard Problems in Cryptocurrency: Five Years Later by pfisch on Sunday November 24, 2019 @01:23AM (#21618768)
> It is pretty much impossible to sell anything digital with smart contracts, because due to the source code being accessible to everyone you can always figure out the password, key, or secret URL to whatever is being sold. Without paying for it.

Pirating most software/movies/music is pretty easy, but people still sell it. I'm not sure this is as big a problem as you think it is.

Re:Hard Problems in Cryptocurrency: Five Years Later by bouncycastle on Sunday November 24, 2019 @02:47AM (#21619025)
There hasn't been any high profile smart contract hacks for a while now. Early days are always fraught with disasters. The field is evolving with "best practices", formal verification and lessons learned from past mistakes, so you'll find that these days things are more stable.

One example is MakerDAO which has around $300 million in value locked, and has been running without incident for a while now.

Re:Hard Problems in Cryptocurrency: Five Years Later by joosters on Sunday November 24, 2019 @05:49AM (#21619590)
I bet you that their smart contract, like most other significant ones, has been designed to be upgradable. That means the authors can modify the smart contract whenever they want, which means it implicitly has a centralised trust mechanism (I.e. you had better hope that the authors don’t go rogue and screw over the users) Central point of trust => blockchain part is now pointless, as ever.
Re:Hard Problems in Cryptocurrency: Five Years Later by mhluongo on Sunday November 24, 2019 @07:52AM (#21620115)
Those upgrade mechanisms don't need to be centralized, and are sometimes vote-based. Unsure about the upgrade mech behind Maker though.
Re:Hard Problems in Cryptocurrency: Five Years Later by bouncycastle on Sunday November 24, 2019 @07:55PM (#21624641)
Nope, Maker contracts are not upgradable.

Although the main achilles heel with Maker is the governance and the oracle. The new version of maker has minimised the governance, and the new oracle design has better protection against an oracle attack. Ideally, you want as little governance as possible.

Re:Hard Problems in Cryptocurrency: Five Years Later by v64 on Sunday November 24, 2019 @08:33PM (#21624786)
> Nope, Maker contracts are not upgradable.

This may have been true in the past, but not anymore. Here's [1] an example of a minor bug that was recently discovered in the MCD deployment and how they're going to patch it. The modules in the Maker system have variables that point to which smart contract to call to execute their actions, and the Maker governance is involved in changing these values.

[1] https://forum.makerdao.com/t/proposal-upgrading-the-flopper/...

Re:Hard Problems in Cryptocurrency: Five Years Later by xorcist on Monday November 25, 2019 @11:34AM (#21629804)
Perhaps a naive question, but in that case, why bother with a blockchain?

If some entity holds the keys to control what code is run, why not let them run the code to begin with? This simplifies implementation significantly, and has obvious scaling benefits.

You can still operate this in a transparent way with multiple independent stakeholders that validates data. Many other systems work this way.

Re:Hard Problems in Cryptocurrency: Five Years Later by v64 on Monday November 25, 2019 @11:50AM (#21630007)
There are a couple of reasons.

The Maker system was bootstrapped this way, but now with the release of MCD, the system will be modified so that the Maker corporation's key is revoked and changes to the system will only be able to be made through MKR token governance votes moving forward. [1] When people refer to the "Maker governance", they refer to those decisions that are voted on by holders of the MKR token. In practice in the short term, the Maker corp will still hold a voting majority of MKR, but it's a long term goal that eventually the Maker corporation won't have to exist and the system is totally maintained by the holders of MKR token.

The more important reason though for doing it on the blockchain is reducing technological centralization. Right now, as long as the Ethereum network exists, the Maker system will be on the blockchain and can't be shut down, even if the Maker corporation is dissolved.

US FinCEN has recently set their eyes on stablecoins, declaring that the entities that offer them will need to comply with KYC regulations. [2] By deploying the system on a public blockchain, it's arguable that the US govt will not be able to cease the distribution of Dai itself and will only be able to go after its holders.

[1] https://forum.makerdao.com/t/mkr-token-authority-transfer/83...

[2] https://finance.yahoo.com/news/fincen-stablecoin-issuers-mon...

Re:Hard Problems in Cryptocurrency: Five Years Later by bouncycastle on Sunday November 24, 2019 @09:54PM (#21625059)
TIL, thanks!
Re:Hard Problems in Cryptocurrency: Five Years Later by magma17 on Sunday November 24, 2019 @01:48AM (#21618851)
That's what oracles do.
Re:Hard Problems in Cryptocurrency: Five Years Later by joosters on Sunday November 24, 2019 @02:03AM (#21618893)
If you have to trust an oracle, you have essentially thrown away all of the plusses of decentralisation/trustlessness. At that point, the blockchain becomes pointless busywork, useful only for duping mug investors.
Re:Hard Problems in Cryptocurrency: Five Years Later by nootropicat on Sunday November 24, 2019 @06:55AM (#21619854)
The impossibility of a full elimination of trust, for any particular problem, doesn't mean a partial reduction isn't valuable.

If you disagree, would you be fine with changing the political and justice system of your country into a fully opaque black box? As in, you still can vote for the policies you want, but it's impossible to know how the government functions, what are the reasons for its decisions, or even who personally forms the government, to the point it could be run by aliens or an ai. Sometimes people are arrested for crimes, but it's impossible to know what's the evidence or even what the crime was, even after sentencing.

If you don't consider this equivalent to the currently utilized system in your country, you have to agree that there's value in trust minimization.

Re:Hard Problems in Cryptocurrency: Five Years Later by SpicyLemonZest on Sunday November 24, 2019 @01:25PM (#21622253)
I think we're detached from the original discussion. "That's what oracles do" was a response to the problem that "smart contracts cannot be easily modified if they are found to be buggy". Trust minimization is valuable, but a smart contract that allows an oracle to unilaterally override its terms doesn't minimize trust in any meaningful way.
Re:Hard Problems in Cryptocurrency: Five Years Later by monospaceisgood on Sunday November 24, 2019 @07:21AM (#21619976)
Infiltrate a government or a justice system require a lot of time and resources.

A blockchain? not so much

You basically replace trust (with doubts) with faith.

Re:Hard Problems in Cryptocurrency: Five Years Later by dorgo on Sunday November 24, 2019 @07:01AM (#21619882)
care to elaborate?

Afaik, oracles are used to synchronize the blockchain to the real world and there are sophisticated mechanisms to keep them honest.