Search content
Sort by

Showing 20 of 39 results by astor
Post
Topic
Board Announcements (Altcoins)
Re: Sia: Siacoin (scn) and Siastock (stk)
by
astor
on 03/09/2014, 09:20:55 UTC

Just read your whitepaper.  I am impressed by the guts, but not by your solution.

Maybe some of these issues have been discussed in this long, long thread, but:

- Your quorum is not a quorum when put in a tree!
-  Assuming that attackers are randomly distributed is nonsense (sorry).  The sybil attack is as old as time.
- Thus your binomal distribution calculations are simply wrong, because the assumptions are wrong (sybil attack).
- The whitepaper does not describe what the consensus tree looks like.  Judging from the calculations in section 10, it seems like it could be a binary tree.
- A honest party cannot prove dishonesty with a properly programmed attacker using a simulated storage and controlling the (attacked) random generator (section 10).
- The number of messages required to keep consensus is very high.  
- Did I mention sybil attacks?  There is no protection!
- Section 6, what the cost of fetching a block from another participant needs to be is completely wrong in the whitepaper.   It is off by 5 orders of magnitude! (by 100.000x!).  This p0wns the consensus protocol, or this will indeed be an incredibly expensive storage platform.
- You allow changing the voter set in the consensus protocol without having consensus it seems.
- The proof of storage algorithm is way too naive when much, better algorithms exist.
- Nothing in the protocol requires a node from EVER SERVING DATA!
- Who is going to "fine" misbehaving nodes?  The only thing you will see are invalid quorums where data is held hostage.

This is like a swiss cheese!  Who reviewed this?


Alright lets go through this bit by bit. First off, the whitepaper hasn't been updated since May, so there are a few things I'll say here that are probably in conflict with what's actually written in the whitepaper. But most of the problems you bring up are not issues, you've merely misunderstood how we've addressed the problem.

First, and most important, the sybil attacks:

We don't assume that attackers are randomly distrubuted. We randomly distribute nodes as they enter the network. I actually don't see where this is discussed in the whitepaper- though it was in a previous version I may have forgotten to add it to this one. When a sibling joins the network, they replace a random existing sibing. The sibling that got replaced goes into the new quorum. This ensures that attackers are randomly distributed throughout the network - you have no control over where you are added when you join.

This is one of the reasons you have to pay a fee when joining the network. It makes it expensive to join multiple times and pick only the random slots that favor you. A large attacker with lots of resources can get lots of rerolls, but each reroll will be expensive and they need exponetentially more rerolls as they try to stack a particular quorum with a higher and higher percentage of corrupt nodes. Does this make sense? The attacker needs the down payments to keep rerolling, but they also need enough storage once they decide to stay in a quorum, because they will be performing storage proofs.


My simulation says otherwise.  Simulating an 8TB attack on a 8PB storage (1%), I could get a quorum majority using a 1% attack with only 43.7 trials per participant.  For a 0.1% attack, I need 480 trials per resource.

To avoid this attack, you're going to have to make it so expensive to join that nobody will be able to afford it ;-)

This is not a normal binomial trial, but a process where the attacker chooses *where to withdraw* a participant.  You only control the random placement.

Besides, the whitepaper states that the fee will be returned for well-behaving participants, so the sybil attack is essentially free.  You might want to update that.

Quote

====

What does the consensus tree look like? It'll probably be a binary tree, but that hasn't actually been decided. Could be 4 children per parent, or more. But probably just a binary tree.


I don't see a description of how the quorum works for the tree.  What is described is a gossip protocol, but how will the tree reach *global* consensus on, say, the random generator?


Quote
====

For section 10, I'm not exaclty sure what problem you are discussing, but if an attacker creates a dishonest block, then an honest host inside of the attackers quorum will be able to prove that the block is dishonest (by showing a snapshot, and the previous honest blocks). An honest host can prove that a particular block is dishonest once a dishonest block has been created.


How?  Can you spell out how the honest host will prove this?  I'm saying that an attacker that controls the quorum can redefine what users store so that any proof of storage can be trivially calculated.  For example the attacker simply defines that the users all store a long string of 0s.  Calculating any merkle-tree challenge is then trivial.

Just so I understand, you're doing merkle-tree proofs on the reed solomon parts?


Quote

====

The number of messages required to keep consensus is high: yes unfortunately. At 128 nodes per quorum, assuming ~4kb per heartbeat, each participant will be doing on average somewhere around 512kb of bandwidth, and in attack cases could be doing up to 64mb of bandwidth per block. These are both bounded in ways that make consensus possible, but it's pretty expensive. I'm expecting the block rate to end up at around 1 per day, so participating nodes would be looking at consuming around 15mb of bandwidth per month, per 64GB of storage they are contributing. (The 64GB is a flexible number, we may up it to 256GB or something larger to reduce the total bandwidth the network is consuming).

Attack conditions are pretty severe, but we have a set of (undiscussed) approaches to the problem. DOS attacks are probably Sia's biggest weakness right now.

====

Section 6 has a dated way of doing proof of storage. Today, we use merkle trees + a saved-hash structure. It ends up adding a total of about 700 bytes per message to the consensus algorithm. Each heartbeat will have ~1kb of mandatory stuff, leaving 3kb for optional stuff. 3kb may end up not being enough, but remember that's 3kb _per sibling_, _per quorum_, which means that each quorum has a total of around 350kb per block that can be used for transactions, and there are going to be many quorums.



Let me guess... if you still prove 64k blocks, then 700/16 = 44 levels of you have a 60bit addressable storage system (might be a bit excessive?).  If you have something like that, I don't see how that affect my comment.  I'm saying that if you prove 64k out of 8GB, then fetching that 64k must be 125.000 times as expensive as the reward for storing those 64k for the same amount of time.

Let's say a participant can choose to fetch the 64k from some other participant for cost 125.000, or store 64k*125.000 = 8GB for cost 125.000.

Let's assume a user is accessing random blocks, and churning through 8GB of storage once a month.  With a block frequencey of 1/day, there is a 3% chance that the user will fetch the 64k block that is being proven, and where accessing the block must cost > the cost of storing 8GB for the block interval.  So for a block interval of 1/day, the increased cost for this user is 3%/month.

(To offset this, I will do my own 31:30 reed salomon on top of your system so I can avoid touching the "poisoned block" during that day and avoid the cost)

But this assumes that you're only proving 64kB per day.  That's a pretty low figure. 

Quote

====

"You allow hanging the voter set in the consensus protocol without having consensus"

I'm not sure what you mean by this.


Sorry, *changing*.  Letting participants leave or join a quorum outside of the quorum protocol itself typically breaks the protocol.



Quote

====

Nothing in the protocol requires a node from ever serving data:

this is something that isn't discussed in the current whitepaper. There will be monetary incentives for serving data, and barring that, there will be a proof-of-data-transaction, which is a complicated and expensive process but forces a node to either serve data or be kicked. This currently isn't a high priority, I want to make sure the storage stuff all works before we move onto things like bandwidth, cost, and actually uploading files to users.

====

Fining misbehaving nodes:

a node that misbehaves will be kicked from the network, and have it will not recieve it's initial "down payment" as a refund. This is how nodes are fined. If a node gracefully leaves the network (there are a few cleanup things it needs to do - not fully discussed yet).


====


I realize that a lot of the details are left out. We're planning on releasing another paper in the next few months, namely an explicit specification for single-quorum consensus. (IE what the alpha v2 is going to look like). There's a lot of work left to do. Things that we are consciously leaving out for now:

+ People downloading wallets
+ Storing files that the network can't automatically repair (to defeat storage pool concerns)
+ The explicit way that things are priced
+ The explicit way that nodes in different quorums can look each other up

These are all important, and will be fully and formally defined eventually, but we're focusing on the more core problems first.

The things that we care about most right now:

 + Maintaining consensus in a way that is fully fault-tolerant
 + Preventing sybil attacks
 + preventing random number manipulation
 + secure proof of storage
 + transaction malleability
 + scalability

It's going to be much easier for me to discuss Sia with you if we focus on one problem at a time. I think the one you are most worried about is Sybil attacks, so lets focus on that until you are convinced that Sia is secure against them. (or until I am convinced that I've missed something important). Or if you want to focus on something else specifically (like total bandwidth consumption), we can do that. But just 1 problem at a time so the discussion can be more focused.
Post
Topic
Board Announcements (Altcoins)
Re: Sia: Siacoin (scn) and Siastock (stk)
by
astor
on 02/09/2014, 21:24:39 UTC

Just read your whitepaper.  I am impressed by the guts, but not by your solution.

Maybe some of these issues have been discussed in this long, long thread, but:

- Your quorum is not a quorum when put in a tree!
-  Assuming that attackers are randomly distributed is nonsense (sorry).  The sybil attack is as old as time.
- Thus your binomal distribution calculations are simply wrong, because the assumptions are wrong (sybil attack).
- The whitepaper does not describe what the consensus tree looks like.  Judging from the calculations in section 10, it seems like it could be a binary tree.
- A honest party cannot prove dishonesty with a properly programmed attacker using a simulated storage and controlling the (attacked) random generator (section 10).
- The number of messages required to keep consensus is very high. 
- Did I mention sybil attacks?  There is no protection!
- Section 6, what the cost of fetching a block from another participant needs to be is completely wrong in the whitepaper.   It is off by 5 orders of magnitude! (by 100.000x!).  This p0wns the consensus protocol, or this will indeed be an incredibly expensive storage platform.
- You allow changing the voter set in the consensus protocol without having consensus it seems.
- The proof of storage algorithm is way too naive when much, better algorithms exist.
- Nothing in the protocol requires a node from EVER SERVING DATA!
- Who is going to "fine" misbehaving nodes?  The only thing you will see are invalid quorums where data is held hostage.

This is like a swiss cheese!  Who reviewed this?
Post
Topic
Board Altcoin Discussion
Re: Monero Economy
by
astor
on 12/06/2014, 01:08:27 UTC
I don't really see how moving coins to yourself is good for the economy. In fact it seems like a waste of resources, though the benefit of certainly over lost coins might be worth it.

It's not.  But keeping coins moving is.  Any waste of resources in this instance is negligible.  But I am more likely to spend coins if I am consciously aware of them as a resource, as would be required in order to move them.  The good for the economy part is emission which compensates for lost coins.  They will have higher velocity than average.

Inflation is not an incentive to spend unless you are forced into using only that currency, like governments do to their own people.

Do you have plans on forcing everyone to use Monero? Because if you don't, this will fail. I love everything about this coin, except for the inflation. And I talked to many bitcoiners and they independently arrived to the same opinion.

One of the main uses for Bitcoin that a lot of people like, is as a store of value. It rewards saving, like gold, as opposed to what fiat does, which punishes saving and responsible spending.

This also has ethical implications, like supporting or not consumerism and its ecological impact. Why do you want to force people into buying things they don't need? The economy can't grow undefinitely, sometimes it has to shrink for the benefit of the world and all of us. If someone is selling a product that people don't need anymore, what's wrong with him moving into something else? Why not "force" him into building things we need (if anything at all), instead of forcing us into buying them anyway? Inflation goes against the free market in that sense.

Also, if you want the price to go up, there's nothing better than having people use it as a store of value. Being able to use the currency (utility) also drives the price up, though not immediately (but the good news can have a fast effect). Forcing people into spending it won't. And it will certainly not attract new savers.


On the ethical side, you need to look at the equilibrium between the cost of electricity and the value paid out to miners.

Let's use CPI, consumer price index as the unit.

If we assume for simplicity that mining power per CPI is flat over time (no new CPU tech), then mining equipment can be bought once and after some time it is the business of converting eletricity to coins.

Therefore it is an equilibrium between the value of electricity and what miners are paid.

In a society where the M1 money supply consists mostly of XMR, spending 1% on miners a year means that of the total money supply, the equivalent to 1% of that money supply is exchanged for electricity, and wasted.

This can be a significant part of the power produced in the world.  Therefore, the ethical solution is not to fix this as a percentage of the total money supply.

There is no logic to having a linear correlation between the value of the money supply and what miners are paid.  Having 100x as many miners does not make the system 100x as secure.  Having 2x the miners and spending 98x on developing mathematical proofs for the code base is probably a much better proposition.

The only sensible action is for miner profits to go down, in percentage of the total money supply, almost to zero.  This is based on the assuption that XMR increases in value.  There is simply no point in having 100k miners to secure the ledger.   That's like chasing insignificant risks when the big elephant in the room is the fact that the code base is written in C++ instead of Haskell.
Post
Topic
Board Altcoin Discussion
Re: Operation Shitcoin Cleanout and Clean Up Has Begun- Join the Revolution
by
astor
on 23/04/2014, 12:18:20 UTC
Add bitcoin to the list.

It doesn't solve distributed consensus.

The equilibrium between energy use in mining and market cap means it cannot scale.  The only way the market cap can grow significantly is by having centralized miners that have access to private energy efficient mining technology, which makes the "distributed" part meaningless.

All in all, it's a total scam.
Post
Topic
Board Altcoin Discussion
Re: Regarding Auroracoin TW exploit (Fix included)
by
astor
on 23/04/2014, 11:44:13 UTC
You should start with some control theory when adjusting difficulty.

I suggest looking at a Kalman filter first.  It is provably the optimum when the noise is random.  It is just a few multiplications and is easy to implement in a few lines of C.

But at a high level, don't try to write this in a small C function.  You have trillions of clock cycles between blocks, fork out some $$$ and write a decent high level implementation.

Why not add something like liboctave or R to the source code?  Then you could use ready-made implementations of these things.

In order to create a kalman filter, you need to create a model of how the dynamics of the system should behave.  If the goal of the control system is to keep the block output at a fixed rate, then the distance from that rate is the error you want to correct.

In addition to this error, you have a noise generator which represents your inability to control correctly.  The kalman filter will over time adjust and learn the standard deviation for the noise and thus apply the optimum error correction (adjustment to difficulty).

What you generally need to estimate is the correlation matrix between the variables in your model.

You want your underlying model to be as simple as possible, but also as correct as possible.  Some variables in a model could for example be:  the % increase in issued coins by a block, the difficulty, the difficulty error (difference from ideal inter-block time), the estimated hashing power of the network (which requires a separate model to estimate), the relative exchange value wrt bitcoin, etc.

You also need to estimate the correlation matrix between these variables, but this is mostly to make the filter more efficient.  You can set the correlations to 0 if you want.


A last point I want to make is that hard forks are not bad.  It has been shown again and again that bitcoin does not solve distributed consensus.  Both because the amount of computing power is unknown, and more politically because hashing power is already too concentrated.  Changing the algorithm on a deployed coin is something the users/developers of the coins control, not the miners, unlike what people tend to believe.  It doesn't matter how much hashing power an attacker has if he refuses to run the same algorithm as the users of a coin requires.
Post
Topic
Board Announcements (Altcoins)
Re: [ANN] Ethereum: Welcome to the Beginning
by
astor
on 27/03/2014, 11:30:24 UTC
This coin looked really exciting, but after thinking about this for 5 minutes, I have some questions:

1. The VM is too low level, efficient algorithms cannot be used.

It seems that contracts will have to use a fixed number of instructions.  If a contract tries to use any randomized data structure or any structure that is not completely deterministic, then it is vulnerable to DoS.  Any contract that tries to keep some ethers stashed away in order to use algorithms that work well on average is vulnerable to DoS.

This indicates to me that the VM should be at a higher level where concepts such as collections of items, priority queues etc. are available.  The implementation can then use efficient data structures, making contracts more versatile and cheaper for everybody.

This doesn't just move the DoS problem to miners.  Miners can change the implementation of these data structures dynamically or at will.

This inefficiency means that a competing implementation of this idea will have better applications.


2. How are contracts updated when resource pricing changes?

When the developers choose to change the fees, how can contracts be updated?  If a business is started based on a given contract, and the developers change the base fee, the business might be killed.  This makes the setting of the base fee a highly controversial issue, potentially with lawsuits from businesses relying on this.

This is complicated by contracts carrying state.  An incumbent gets an advantage by knowing the current resource prices.

3. Extra pricing for reading foreign memory runs counter to a robust security architecture for contracts.

For complex services implemented as contracts, it would be desirable to isolate subcomponents or services as separate contracts.  The extra cost incurred by doing proper isolation of the memory space means that a competing service with a worse security architecture needs lower fees.  This is bad.

4. Is reliable time available to contracts?

Without reliable time, no specific time can be given for elections, which renders them useless.

Post
Topic
Board Mining
Re: The game of selective temporary block chain splits
by
astor
on 30/11/2013, 21:45:54 UTC

Just noting that this now well known paper explains the exact attack I discussed here.

http://bitcoinmagazine.com/7953/selfish-mining-a-25-attack-against-the-bitcoin-network/?utm_source=twitterfeed&utm_medium=twitter
Post
Topic
Board Development & Technical Discussion
Re: Forked block chain
by
astor
on 22/04/2013, 04:50:23 UTC
Your fork will have coins pre-distributed so you don't have the problems with early adaptors.

You might be overlooking the obvious. 

The spend transactions from the "pre-distributed"  coins would be valid on both sides of the fork.  Thus if bitcoin is trading at $90, let's say, and you are asking me to pay 10,000 ?TC for a pizza then I'm certainly not going to be using my pre-distributed coins and instead would only be using ones whose coinbase occurred post-fork.

And even putting that aside, you've got a fork that is extremely vulnerable to 51% attack.

I don't understand your objection.  The coins that are valid on both sides of the fork have nothing to do with each other.  They have no effect on each other.  If you spend 10.000 ?TC of pre-forck ?TCs, it has no effect on your bitcoins.
Post
Topic
Board Mining
Re: The game of selective temporary block chain splits
by
astor
on 20/04/2013, 06:53:29 UTC
What you describe is the reason for the eventually consistent chain.  What I am looking for is a reason for not temporary splitting the block chain.

I can see several seemingly profitable temporary attacks.  These are essentially variations of timing attacks on when and in what order to release information to the rest of the network.
Post
Topic
Board Altcoin Discussion
Re: Escrow attack on Proof-of-Stake
by
astor
on 20/04/2013, 04:09:04 UTC
The reason for compensating miners (with fees, subsidy, or anything at all) is that because in a PoW scheme they provide a service that is vital to the entire market.

In a scheme where solving progressively complex cryptopuzzles does not serve to secure the ledger against doublespends and other shenanigans, mining is, frankly speaking, a waste and should have been replaced with a more reasonable initial wealth distribution routine - of which there are many options (including collusion-proof cryptographic lotteries)

In fact, mining provides outright perverse initial wealth distribution in pure PoS because you are essentially rewarding folks for the investment they have made into another, different crypto-currency scheme (by buying BTC mining equipment), an investment that has been likely already paid off via that other scheme.

That's like if Microsoft started paying me money for the fact that I own Google shares Wink

Interesting point, and I agree with the wealth distribution argument.  However this can be fixed by not using SHA256 which is not designed to be a technology-neutral algorithm.

Regarding a crypto lottery, where is the collusion-proof cryptographic lottery that is immune to a sybil attack?
Post
Topic
Board Development & Technical Discussion
Re: Would faster block creation give lower security?
by
astor
on 18/04/2013, 18:51:48 UTC
This is not true. While some security is established by the amount of time required to get a confirmation, an attacker with a given hashrate will have a much higher probability of double spending a 1-confirmation transaction in a 10 minute block-time chain than a 10-confirmation transaction in a 1 minute block-time chain. Meni Rosenfeld showed this mathematically: https://bitcoil.co.il/Doublespend.pdf

TL;DR:
"The probability of success depends on the number of blocks, and not on the time constant T0."

These statistics are in a network latency-free statistics environment. Multiscale Monte Carlo simulations would need to be performed to find where propagation times on fast-confirmation (or huge block size) networks detectably increase the number of blocks required for the same resistance against blockchain reorganization.


This all assumes that the optimal strategy is full propagation.  I fear that miners today already have incentives to prohibit propagation in order to induce the exact same conditions that happen during fast block creation.
Post
Topic
Board Development & Technical Discussion
Re: Proposed solution to "lost coins"
by
astor
on 18/04/2013, 18:48:59 UTC
To me it seems that just declaring them unspendable is the option that changes incentives/rules the least.  Giving the coins to miners changes the rules.

Imagine that this situation happened when 99% of the coins were mined and suddenly 10% of coins were going to be given to miners, giving them 10x as much as before this decision.

Doesn't make much sense to me.

Edit: The change that does the least change in incentives is to announce that there will be a window of spendability that reaches X years back at all times, where X > the oldest coin.  Then no coin is invalidated now, but a rule that keep uncertainty bounded has been introduced.
Why exactly do you feel it's so wrong to change the incentives in this fashion? If recycling was added now with a 100 year shelf-life on coins, there would be PLENTY of time to account for the added mining incentive coming way down the road. I know some are concerned that transactions fees won't be enough incentive to secure the network down the road and this would add to the incentive without increasing the intended supply of coins. Again, I no longer think this is needed but like to play devil's advocate...


This isn't really a big deal, but it doesn't give a predictive income for miners.  If the early Satoshi coins are recycled during one year, it will be an enormous boost for miners and then a gradual drop.  There is no reason to have such an irratic payback curve.  People would invest in rigs like crazy that year and throw the rigs in the garbage the next year.

Fixing the transaction issue can be done by either increasing the transaction costs, or as a general tax, called demurrage.  This depends on whether people think it is ok to have "freeloaders" own bitcoins without paying for the maintainance of the network, or not.
Post
Topic
Board Development & Technical Discussion
Re: An idea on how to reduce the risk of a 51 % attack
by
astor
on 18/04/2013, 18:28:05 UTC
Isn't this more like an continuous integration test?
Post
Topic
Board Development & Technical Discussion
Re: Bitcoins biggest vunerability
by
astor
on 18/04/2013, 18:17:54 UTC
A solution to this is to apply control theory to the adjustment.
Post
Topic
Board Beginners & Help
Re: Is bitcoin mining environmentally responsible?
by
astor
on 18/04/2013, 18:09:31 UTC
Mining compared to 2 years ago is more "efficient" given that the amount of transistors we fit on a die doubles almost every 18 months, decreasing power usage.

Think of it this way, Quad Core processors upon initial release were running on 125W to 150W (if I remember correctly), and now Intel and AMD are averaging 75W to 95W for twice the power. Now GPU's, given the way that they are developed (and are the primary tool of the current miner), can practically double their transistor count and cut their power usage in half within this time period.

My point in mentioning this (if it wasn't mentioned before, sorry I skimmed) is that even though miners are HEAVY users of power, the efficiency of all hardware is increasing while the performance is increasing as well. Seeing as it is clean, it's environmentally "friendly" if you're not considering every outside source of power production (.i.e. oil, coal, natural gas, etc.).

For many of you, like myself, have no need to turn on the heat during the winter because of all of the hot air my rig blows out!

Of course, if you would otherwise use the excess heat produced by your rig, then the energy isn't wasted.   That might have been true for the last months, but not any longer  Grin

But stop thinking about the hashing efficiency.  It has zero effect on the energy usage of the hashing fleet.  When someone finds a way to mine more efficiently, others are forced to do so as well to avoid earning less, but that's the point of this competition.  The energy usage is the number of BTC created per day * USDBTC.
Post
Topic
Board Altcoin Discussion
Re: List of all cryptocoins
by
astor
on 18/04/2013, 18:05:04 UTC
It's not even ASIC hostile. You seem to be under the impression that ASICs are somehow incompatible or inefficient with Scrypt.
It seems that you haven't read my post before commenting it. I'm talking only about ideology, not technic details. It's obvious that it's impossible to develop a real ASIC-proof algo, and this guy said more than enough about this: https://en.wikipedia.org/wiki/Alan_Turing

Scrypt coins are asic-hostile systems due to ideological reasons. That's all that we can say.

The more general version of "asic-hostile" is minimizing barrier to entry in a market.

Minimizing the barrier to entry is a very good idea, because it increases competition.  If competition is important for the safety of the network, using a problem with the lowest barrier to entry is the best choice.

Low barrier to entry can be translated to "no need to invest in asics or any specialized equipment".
Post
Topic
Board Beginners & Help
Re: Is bitcoin mining environmentally responsible?
by
astor
on 18/04/2013, 17:42:34 UTC
Another thought, that often enters my mind, "What if by mining, at or above the cost of electricity, I'm just buying BTC at the cost of consumption?  Every other form of revenue has energy costs, why is media harshin' me?  Not trying to sound over-Libertarian posed, but I find myself hard-pressed to consider what my energy costs are, when driving to work and working on PCs anyways, as a systems analyst...

I don't think you should feel bad.  When bitcoin uses too much energy, a more energy efficient version like ppcoin will outcompete bitcoins.

You are helping advance technology and the energy issue will be solved.  It just might be that it won't be called bitcoin, but it will be crypto currency.
Post
Topic
Board Altcoin Discussion
Re: List of all cryptocoins
by
astor
on 18/04/2013, 17:37:25 UTC

Just to give some context.  What scrypt tries to do is to implement a sequential memory-hard function.  The definition is:

a) can be computed by a memory-hard algorithm on a Random Access Machine in T(n) operations; and
b) cannot be computed on a Parallel Random Access Machine with S'(n) processors and S'(n) space in expected time T'(n) where S'(n)*T'(n) = O(T(n)^(2-x)) for any x>0.

where a memory-hard algorithm has the following properties:

A memory-hard algorithm on a Random Access Machine is an algorithm which uses S(n) space and T(n) operations, where S(n) ∈ Ω(T(n)^(1-eps))

From www.tarsnap.com/scrypt/scrypt.pdf
Post
Topic
Board Altcoin Discussion
Re: Escrow attack on Proof-of-Stake
by
astor
on 18/04/2013, 17:26:27 UTC
Yes I've read the paper.

Maybe you didn't understand the attack.  The attack is that the escrow service cooperates with a miner to destroy coin days.
Post
Topic
Board Altcoin Discussion
Topic OP
Escrow attack on Proof-of-Stake
by
astor
on 18/04/2013, 17:12:31 UTC

In a Proof-of-Stake system similar to bitcoin, a large number of coins could lie dormant and accrue 'coin days'.   If these coins are in escrow, like on Mt.Gox, their 'coin days' could be used to do an attack on the network.

Thus any large escrow service would be a threat to the network, in addition to large miners.

Thus either escrow services must pay interest, or the need for escrow should be eliminated by a better block chain design and p2p exchanges.