Pages:
Author

Topic: The Ethereum Paradox - page 57. (Read 99876 times)

sr. member
Activity: 420
Merit: 262
February 13, 2016, 06:47:19 AM
#54
However TPTB, I see you added it to the last category meaning you see it becoming centralized.

I am not challenging you here. I would like to understand how their project will become centralized.

Refer to the same thread which the "Stellar SCP" link leads to.
sr. member
Activity: 419
Merit: 250
February 13, 2016, 06:45:55 AM
#53
Iota seems to solve the scaling problem.

However TPTB, I see you added it to the last category meaning you see it becoming centralized.

I am not challenging you here. I would like to understand how their project will become centralized.
I find Iota very exciting from what I have learned so far, so this news sort of "burst the hope bubble".

Thanks
sr. member
Activity: 420
Merit: 262
February 13, 2016, 06:36:17 AM
#52
I've viewed information/presentations etc about Eth's proposal for partitioning/sharding and its quite interesting.  If you really dig into how they set it up, it seems to apply some similar ways of thinking as my channeled ledger proposals, and applying them to a block chain.  That is, no UTXO, instead tracking of "account balances" (which they already have in V1.0) and accounts "living" in a particular partition.  They fall short by trying to apply this to a block chain.

[...]

With a channeled ledger, transactions are "independent" elements and can be transmitted directly to the nodes that need them...

[...]

There is still the matter of the cross-partition problem, and it seems that the Ethereum proposals intend to solve it by way of Merkle receipts and Patricia trees.  This approach may be successful, I had a similar solution in mind if the preferred implementation of compact global state using zk-proofs to prove an account has sufficient balance was impossible.  It hasn't hit any show stopper problems as yet though, so I've not looked deeper into the alternative solution/s and their implementation.

[...]

I want to set aside the performance issues for the moment and focus on the impossibility of granting both Partition tolerance and retaining Consensus/Consistency and Availability/Access, which the CAP theorem states is impossible. I know many developers want to delude themselves into believing the CAP theorem only applies at the a lower level semantic layer of the distributed network, but I intend to challenge your explanation in order to prove that is a delusion.

It is my understanding from evaluating possible designs, that if transactions are allowed to span partitions (a.k.a. shards), then it is impossible to prevent a double-spend by spending on two or more partitions (i.e. maintain Consistency) unless all partitions verify each other, which of course defeats the scaling benefits that partitions were intended to provide (and really just eliminates the partition tolerance). And if transactions are not allowed to span partitions (i.e. they can only transact to the validators in their partition), then it is impossible for a transaction to become unstuck (i.e. regain Availability) if all the authorized validators for the partition are censoring the transaction, are unreachable or have stopped being validators. It is possible to change the set of validators periodically such as based on the progression of the block chain (e.g. Dash Evolution quorum), but this makes it impossible to objectively detect a 51% attack (which is one of the aspects my design attempts to improve). I solved this issue by allowing BOTH partitioned transactions and spanning transactions where the latter conforms to the normal Satoshi longest chain rule (but with my unprofitable PoW improvement). Also there remains the issue that there must be a global consensus that all partitions were validated correctly, yet if all partitions validate each other, then the scaling advantage of having partitions is lost. You mention Merkel and Patricia trees to provide cross-partition transactions? I think it is impossible to achieve my solution and provide security without a (either PoW or PoS) chain, i.e. that Partion tolerance must be limited to intra-block because there still needs to be a consensus around whether a transaction has spanned a partition and thus if we introduce partition tolerance interblock then we will lose either Consistency or Availability. Also note PoS has Nash equilibrium failure modes which PoW doesn't have, so I chose PoW but improved it by making it unprofitable.

Afaics, Ethereum has an additional insoluble challenge which eMunie, Iota, and my design do not have to solve. That is they have to guarantee ordering of contract execution is Consistent even within a partition, which afaik (from Computer Science fundamentals) is impossible unless the scripts are 100% dependently typed; because otherwise they are not commutative and the permutations of orderings with the unbounded recursion of general scripting results in the block chain state being indeterminate. If one instead argues that any partial ordering will suffice (just chose one arbitrarily), this is equivalent to arguing that contract ordering doesn't matter, i.e. that they are commutative. It is a circular logic. So I really have no idea what the designers of Casper are thinking  Huh

Serenity is intended to have two major feature sets: abstraction, a concept that I initially expanded on in this blog post here, and Casper, our security-deposit-based proof of stake algorithm. Additionally, we are exploring the idea of adding at least the scaffolding that will allow for the smooth deployment over time of our scalability proposals, and at the same time completely resolve parallelizability concerns brought up here – an instant very large gain for private blockchain instances of Ethereum with nodes being run in massively multi-core dedicated servers, and even the public chain may see a 2-5x improvement in scalability.
sr. member
Activity: 420
Merit: 262
February 13, 2016, 05:06:37 AM
#51
sr. member
Activity: 454
Merit: 250
This industry is pure fiction
February 12, 2016, 10:57:12 PM
#50
legendary
Activity: 1260
Merit: 1000
February 12, 2016, 09:42:10 PM
#49
Remember Dash was once traded at 25 dollars.

Darkcoin was a dysfunctional product and Anonymint gave the Duffler step by step instructions on how to make it kinda work haha.  So thank Anonymint for your Duffler profits.
mkc
hero member
Activity: 517
Merit: 501
February 12, 2016, 09:07:30 PM
#48
Something not feasible in the long run doesn't prevent some special interest group from pumping and dumping it. Remember Dash was once traded at 25 dollars. If you have ETH, it will be good to take some profit around 10 dollars, then some at 15 dollars, just don't marry to it.
In my case, I don't own it, and I probably will not own it in the future.
sr. member
Activity: 462
Merit: 250
February 12, 2016, 04:00:06 PM
#47
But will ETH reach 10 USD?

10 or 12 max. After price will drop again.
sr. member
Activity: 420
Merit: 262
February 12, 2016, 12:57:00 PM
#46
It was the following linked post where I linked to the post I had made on Vitalik's blog about the Consensus-by-betting plan for Ethereum's future version named Casper:

https://www.reddit.com/r/ethtrader/comments/42rvm3/truth_about_ethereum_is_being_banned_at/czcpoez

I explained at the linked post above that Consensus-by-betting is essentially a proof-of-stake/share algorithm in the sense that the financial penalty mechanism is based on deposits (stakes). And PoS has failure modes which don't have a Nash equilibrium (some of which Vlad is not aware of!) and here follows I described how longest chain rule does have a Nash equilibrium:

Thus I have explained there is no Nash equilibrium in Monero's penalty feature (unlike for Satoshi's longest chain rule where there is indeed a Nash equilibrium because if miners don't converge on the longest chain then all their chains are invalid/orphans and worthless without consensus). ArticMine is probably thinking that since miners have different costs, the equilibrium point for transaction fees will be the weighted average but I have explained the holistic economics by which this weighted average is driven by the costs of the largest hashrate miners until they control all the hashrate[1].

Greg Meredith talks technobabble for 15 minutes about the design of Casper.

Greg is talking about the math that says if the bets are rationally motivated by the penalties, then it should be possible to get them to converge on a consensus as to which block from all the validators (i.e. verifiers) is correct and chosen, i.e. that convergence of consensus can be mathematically guaranteed.

Vlad Zamfir had a video presentation and an audio presentation about Casper. I had also seen a video presentation by Vitalik which explained more about sharding and an overview.

But what all three Vitalik, Greg, and Vlad are failing to grasp is a MORE FUNDAMENTAL INSOLUBLE FLAW which is what I wrote in the prior post that consensus requires the the underlying state transformations for contracts are/is bounded on recursion, otherwise the partial orderings diverge and it is impossible to unify them into one block chain ordering. Bob McElrath explained on Vitalik's block the consensus requires fungibility of contracts. By fungibility what he is really wanting to say is commutativity of ordering, which is achieved (other than a double-spend) in Bitcoin by the UXTO history having the directed acyclic graph property.

Edit: Vlad's conceptualization of the CAP Theorem at the 15:17 slide of his video presentation is incorrect! Once you allow Partitioning of the block chain state, it is then impossible to regain both Consistency and Availability. Vlad seems to think you can regain Consensus consistency after waiting for a vote, but that is incorrect because the partitioned state is then irrevocably in conflict and can be reconciled any more! Also Vlad makes many other errors as well.


These three guys are clueless. They are making so many mistakes.
sr. member
Activity: 420
Merit: 262
February 12, 2016, 11:21:57 AM
#45
monsterer is wrong again. Even within the block there is no way to attain commutativity of ordering. Any particular choice of arbitrary orderings of script executions for a block result may achieve a different result for contracts than another ordering (unless the scripts are invariant to ordering but that basically means the scripts can do nothing). That is the definition of indeterminism.

Perhaps I should have said 'within one script execution within one block'. Block ordering is eventual, just like bitcoin. In ethereum this has scope for more dire consequences than it does with bitcoin; it depends on the application.

Specifically the generative essence distinction is that Bitcoin's UXTO history is a directed acyclic graph, which by definition means it has no recursion (i.e. no cycles).

Has anyone proven that Bitcoin's scripts maintain this property?

Whereas, only perfectly dependently typed programs have bounded recursion and can be proven to halt. It may be possible to model commutative scripts that are 100% dependently typed, but this by no means can open (to composition and open) the block chain state to every script that someone wants to create.

If Vitalik even had a clue about Computer Science, the first thing he would have done is model the scripting in a purely dependently typed language such as Epigram or Coq.

I must admit I hadn't really expended more than 5 minutes (cumulatively) thinking about it until today.


Edit: this blog post explains a bit about the insoluble synchrony problem. And not surprisingly he uses the same terminology as I did above.
legendary
Activity: 1050
Merit: 1016
February 12, 2016, 10:46:58 AM
#44
Good topic roach, though its grown fast!

Fuserleer has been working on one for years and has been unable to release something.

Indeed I have been working on it for years, because its a feckin hard problem! Smiley

That said I have our solution functioning, I've ran numerous local and small scale WAN tests so far and it all functions well.  The next step is a large WAN test, which is what our upcoming Open Beta will provide.

I've viewed information/presentations etc about Eth's proposal for partitioning/sharding and its quite interesting.  If you really dig into how they set it up, it seems to apply some similar ways of thinking as my channeled ledger proposals, and applying them to a block chain.  That is, no UTXO, instead tracking of "account balances" (which they already have in V1.0) and accounts "living" in a particular partition.  They fall short by trying to apply this to a block chain.

I tried a similar approach initially with block chains, and it wasn't too efficient as a block chain's structure doesn't lend itself very well to being "split up", nor would it allow a great deal more scalability in the long term due to propagation.  I ditched it after about 3 months of fighting with it and not getting anywhere near the desired performance and went back to the drawing board.

The problem lies with the fact that the blocks contain transactions from ALL the partitions, and so the propagation of the transaction data is not really improved at all.  A node at the opposite end of the network that is only interested in transactions within P5 has to wait for that block to propagate all the way across the network, with each relaying node storing the information from it that modifies partitions they are holding.

In the case of Ethereum, the block times are quite short, so its at least feasible that each block only contains information for a subset of partitions.  Here though it still can run into trouble as the underlying structure is still a chain, if you have say 32 partitions and the block time is 10 seconds, then on average transaction confirmation times will increase to 320 seconds and beyond.  If you decrease the block time too much, you'll find yourself in a network with a lot of orphans being constantly produced.

There are probably other techniques that could be employed to speed up partitioned transaction propagation using blocks, but at the cost of additional added complexity.

With a channeled ledger, transactions are "independent" elements and can be transmitted directly to the nodes that need them, typically within less than 3 hops from the producing node.  Nodes that are interested in transactions that reside in P5 will receive them almost immediately from other P5 holding nodes, rather than have to wait for a full block.  As there is no mining, transactions are valid and "confirmed" in very short time span (usually instant providing the creator is honest), in the worst case a transaction can be held processing for ~10 seconds until the next ledger state is created if the node processing it has discovered discrepancies.

There is still the matter of the cross-partition problem, and it seems that the Ethereum proposals intend to solve it by way of Merkle receipts and Patricia trees.  This approach may be successful, I had a similar solution in mind if the preferred implementation of compact global state using zk-proofs to prove an account has sufficient balance was impossible.  It hasn't hit any show stopper problems as yet though, so I've not looked deeper into the alternative solution/s and their implementation.

Fundamentally the main cause of issues with partitioning/sharding is the data structure itself, blocks and chains just do not play nice with partitioning.  This is the primary reason why I've taken a different approach, removed blocks and replaced them with independent channels and compact global ledger states that are similar in principle to Ripple's but with the added support of partitioning.

Ethereum is going to have a hard time implementing partitioning on a block chain, and I doubt they will see anything like the 100,000k tx/s that the presentation states they will.  The best that my partitioned block chain implementation could achieve was ~1000-1500 tx/s, and adding additional partitions at that point actually slowed it down.  I doubt that Ethereum will be able to do much better, and certainly not 2 orders of magnitude worth.
sr. member
Activity: 420
Merit: 262
February 12, 2016, 09:43:58 AM
#43
I do not think Bitcoin will be crashed by Ethereum. Bitcoin has much bigger community. Its value will increase with time.

Bitcoin has users. I use Bitcoin. You use Bitcoin. Not just for speculating.

Ethereum has precisely 0 users and will never attain 1 user. A fake $600 million market cap with $21 million in fake daily volume today on Poloneix and not even 1 real user more than a year after the ICO raised $millions (which has all been spent).

It isn't even a joke to compare the two. It is fraud to even remotely insinuate that Ethereum is any where near Bitcoin's level.

And even considering that the perhaps 100,000 serious users of Bitcoin is nothing in terms of millions of serious users adoption compared to even Corel Painter which I was involved (in a minor role) with creating, further exemplifies the pitiful ridiculousness of the Ethereum shills.

And poof it's gone.
legendary
Activity: 966
Merit: 1006
February 12, 2016, 09:38:54 AM
#42
I do not think Bitcoin will be crashed by Ethereum. Bitcoin has much bigger community. Its value will increase with time.
legendary
Activity: 1008
Merit: 1007
February 12, 2016, 09:23:17 AM
#41
monsterer is wrong again. Even within the block there is no way to attain commutativity of ordering. Any particular choice of arbitrary orderings of script executions for a block result may achieve a different result for contracts than another ordering (unless the scripts are invariant to ordering but that basically means the scripts can do nothing). That is the definition of indeterminism.

Perhaps I should have said 'within one script execution within one block'. Block ordering is eventual, just like bitcoin. In ethereum this has scope for more dire consequences than it does with bitcoin; it depends on the application.
sr. member
Activity: 420
Merit: 262
February 12, 2016, 09:00:58 AM
#40
Eth whales seem to think crashing BTC to nothingness would actually be beneficial to them.

That has been their theme in several threads, that Bitcoin is too limited and doomed by a scalecopalyse so therefor buy ETH. They don't tell you that ETH was doomed from the first time I spoke to Charles in Skype before Ethereum was formed and advised him none it would work. The lure of money is too much for some people. I like money too, but only if I produce something worth while. I also love the satisfaction of creating something real that helps people. These fucking scammers really boil my blood. This forum feels like it is infested with scammers and/or really naive speculators.

What happened to the ideology of Bitcoin and creating a better world  Huh How can these people look in the mirror and respect themselves  Huh

What happened to meritocracy. I still remember the first time I earned $5 cutting a very thick and large lawn at maybe age 12 or thereabouts. I worked hard physical labor in my youth to earn money. I worked hard programming in my adult life to earn money for real products that were used by millions of users. These scammers take $millions for doing nothing useful and sip their lattes.

All of you who bought ETH are contributing to this unethical cesspool.
legendary
Activity: 1260
Merit: 1000
February 12, 2016, 08:57:08 AM
#39
Now this is really interesting, for months on end, maybe a year, there's been automated bots spamming the Bitcoin speculation forum with things like "BTC PONZI SCHEME, SELL EVERYTHING, COIN GOING TO ZERO".  They create dozens of accounts per day with 5 jibberish letters in the username.  Even in obvious trades where you can easily tell the price is going to increase and you should get in on a long trade, they still want the price to go down, so I'm sitting here thinking, wow, these are some kind of annoying government sponsored Cointelpro/JIDF bots.

Just now the same bots started posting "Sell BTC Long Eth".  Even when the people running these bots could easily make money on BTC, they did not want to, they only wanted BTC to go down, yet now they want the price of Eth to go up when it's clearly dumb to buy in right now.  Very fucking fishy.  Large Eth holders seem to think crashing BTC to nothingness would actually be beneficial to them.

Here's one of the accts doing it, his last post was already deleted:  
https://bitcointalksearch.org/user/vxygw-769120
sr. member
Activity: 420
Merit: 262
February 12, 2016, 08:55:41 AM
#38
But never mind. I'll promise that next time when I dare to open my mouth
in your presence it will be in a trembling, hushed voice with my garments rent
and covered with dust.

I don't want you to stop asking questions. I want you to stop asserting statements that you don't know enough about. Because readers misinterpret your assertions as facts. Which then forces me to untangle the mess you made (since you were replying to what I asserted).

I am amicable as I was to you in the past many times, but I have a limited time and resources. I simply ask you to respect my limitations as I will respect yours.

Right. That's not why Ethereum is indeterminate - within one single block things are fine. The problem is across multiple blocks - if execution is dependant on block order, orphans and re-orgs can cause big problems.

Thanks. I think I now see where the potential problem
is and so I have guidelines for further investigation.

monsterer is wrong again. Even within the block there is no way to attain commutativity of ordering. Any particular choice of arbitrary orderings of script executions for a block result may achieve a different result for contracts than another ordering (unless the scripts are invariant to ordering but that basically means the scripts can do nothing). That is the definition of indeterminism.
sr. member
Activity: 420
Merit: 262
February 12, 2016, 08:46:48 AM
#37
Can Etherium price ever drop down to 1$?
Is still aprox 3 mio etherium need to be mined?

One might imagine the price can drop to $0 if Ethereum runs out of funding (i.e. if they can't sell their ETH at high prices) and/or the speculators wake up and realize that Ethereum has been a grand lie.
legendary
Activity: 996
Merit: 1013
February 12, 2016, 08:43:17 AM
#36
Laymen let me attempt to explain this to you.

Putting Smart Contract data on a global block chain means that as those contracts interact, it is impossible to prove that the order that the contracts are run is commutative and that the contracts will halt.

I'm not sure where commutativity applies here. Contracts call public methods of
other contracts, so it is an ordered sequence.

You've admitted to me before that your knowledge of Computer Science is limited. And your reply here makes that obvious.

It would be more truthful to yourself and others if you phrased your lack of knowledge as a question than as a statement. I am more respectful when answering questions than when n00bs effectively are slandering the facts I have written when they write false statements as you have done.


Well... I don't think I was "slandering facts" or that either of the sentences
I wrote was false. The first one of them simply expresses my uncertainity of where
the commutativity problem comes from, and the execution of the calls does happen
in order.

But never mind. I'll promise that next time when I dare to open my mouth
in your presence it will be in a trembling, hushed voice with my garments rent
and covered with dust.


Right. That's not why Ethereum is indeterminate - within one single block things are fine. The problem is across multiple blocks - if execution is dependant on block order, orphans and re-orgs can cause big problems.

Thanks. I think I now see where the potential problem
is and so I have guidelines for further investigation.
sr. member
Activity: 420
Merit: 262
February 12, 2016, 08:21:51 AM
#35
Laymen let me attempt to explain this to you.

Putting Smart Contract data on a global block chain means that as those contracts interact, it is impossible to prove that the order that the contracts are run is commutative and that the contracts will halt.

I'm not sure where commutativity applies here. Contracts call public methods of
other contracts, so it is an ordered sequence.

You've admitted to me before that your knowledge of Computer Science is limited. And your reply here makes that obvious.

It would be more truthful to yourself and others if you phrased your lack of knowledge as a question than as a statement. I am more respectful when answering questions than when n00bs effectively are slandering the facts I have written when they write false statements as you have done.

Why don't you go learn Computer Science at the university before you expect that you should even be capable of knowing "where commutativity applies here".

Making methods public has nothing to with the consistent ordering of transactions amongst all full nodes. If you had even understood my Decentralization thread, you would have understood that I explained that synchrony can't exist in distributed systems.

Please don't make me repeat myself. Just because you don't comprehend Computer Science, doesn't mean it is my responsibility to cram 4 years of education in a forum post for you.

You may feel I am not being nice, but how nice is it that you cram your ignorance down my throat forcing me to teach you what you didn't learn.

Ethereum responded by inventing gas, so that scripts would halt by failing once their gas is exhausted. This is horrific because it means the state machine is put into an indeterminate state.

If there is not enough gas, EVM is supposed to roll back to the pre-execution state.
It is the responsibility of the caller script to take precautionary measures.

The state of the script doesn't exist in isolation because again there is no global ordering and no global synchrony in our universe. Rolling back the different arbitrary partial orderings results in an indeterminate state, i.e. random disorder and divergence.

The block chain becomes one big tape in a Turing machine... please go learn Computer Science...



I think Ethereum and Bitcoin are complementary. One is a currency, the other is a currency as well as a trading platform.

One sort of works (Bitcoin) and the other one can't possibly work and is a lie.

Do you mean the bitcoin will work and the Ethereum does not work in its present form? Will further development change that?

Ethereum can't be fixed. No general purpose programmable smart contract block chain can be fixed. One might be able to design some very limited hard-coded contracts that are carefully studied, but even these  are very likely to produce the fundamental errors around commutativity, deadlocks, and other issues that plague distributed systems. It is simply impossible to have different people coding scripts and not have them blow up in pile of disorder.

The universe will not tolerate a total ordering, else our universe would not exist because the future would be predetermined by the past. Or stated another way, the speed-of-light would be infinite and the past and future would collapse into an infinitesimal point.

Bitcoin's scaling problem has potential technical solutions that aren't perfect but may work well enough in practice. However, the politics around Bitcoin suggests to me that the solution will come in an altcoin not in Bitcoin, but we will have to wait and see on the outcome.

Note the math wizard behind Synereo (Greg Meredith) has proposed a design for contracts that is enforced by social engineering (the cascade of individualized actions/partial orderings are expected to adhere to some social function) rather than by an enforced global ordering. I have my doubts about the applicability of this idea and it is certainly no where near what people mean now when they say "smart contract" on a global ledger.
Pages:
Jump to: