Gold collapsing. Bitcoin UP.

VeritasSapere

Active Member
Nov 16, 2015
511
1,266
OK fair enough, but it still sounds like complicated too big to fail bail-out to me. Whatever they did, clearly failed, the people who wrote up the contract or setup they DAO, or whatever it was, didn't do a good job and the investors lost their money. There are no guarantee's to investing but now what they're doing is saying, if it's really big, we can't allow such a loss to happen, we're protecting the investors afterall (and really preventing a big black eye to etherium). I think etherium would do better in the long run to let the chips fall where they fall, take the hit, and move on. IMO what they're doing is basically making the same mistakes our own political and central banking systems have made over the years, bailing out poorly run banks and businesses which in the short run saves the investors, jobs and of course all important votes, meanwhile over time the rot sets in and now what do we have?
I also agree with this comment, but I can not help to think that it is nice that people can get their funds back since that is possible with this type of smart contract. I can definitely understand your sentiment @Peter Tschipper I even agree with it but on the other hand being able to retrieve peoples funds without a roll back and with "consensus" from such a theft seems like a very appealing solution. Just like @freetrader said, they are definitely in between a rock and hard place, a moral dilemma, I am glad I am not the one having to make that decision, I suppose now it is up to the miners and large pools what action they will decide to take.
 
Last edited:

cypherdoc

Well-Known Member
Aug 26, 2015
5,257
12,995

VeritasSapere

Active Member
Nov 16, 2015
511
1,266
Oh snap I just realized that I am an Ethereum miner myself presently, I really do not want to make that decision, I think I will leave this one up to the pool. lol

This does highlight some of apathy we might have seen with other miners, when we question how they could be so stupid. Well here I am being a bit apathetic about a rule change in a cryptocurrency that I am actively mining. To be fair at least as a Bitcoin miner the blocksize limit was a much easier decision for me to to make, this is an exceedingly complex question, I suppose I am leaning towards it being justified. In comparison got to love the elegant simplicity of Bitcoin.
 
Last edited:

cypherdoc

Well-Known Member
Aug 26, 2015
5,257
12,995
Have you tried Trezor's password manager yet?

""
The DAO devs decided to make it difficult to take funds out of The DAO. So they did not give people the option to "just take funds out." Instead, a DAO investor gets to create a new "child DAO" and move her funds into the child and keep them there for 27 days -- there is no direct withdrawal."

^ red flag?"

(sorry, screwed up the quoting)

sure it's a red flag. At first I didn't want to eth into theDAO, but when people told me I could "take it back out at any time, so why not park it there", I tried with a token amount. Then I tried getting the token amount back out and discovered it wasn't so easy and quick ;). I left it at that.
 
  • Like
Reactions: Norway

cypherdoc

Well-Known Member
Aug 26, 2015
5,257
12,995
The knives are starting to come out.
 

cliff

Active Member
Dec 15, 2015
345
854
This may have been discussed a million times before, if it has I was unaware and I do apologize for any covered ground:
What happens in a rollback scenario when the rolled-back coins have been spent prior to the rollback? For example, say I unknowingly receive a token in the course of commerce with a thief by selling him a pizza which he immediately eats. Further, imagine that the transaction and pizza consumption happen before the rollback. In a rollback scenario is it that the thief is left satisfied and I'm left w/ no money to show for it and a cluster-f of a quickbooks problem on my hands due to my inventory no longer reconciling w/ my expense account ledger? In most jurisdictions, especially those that have subscribed to the Uniform Commercial Code, the innocent purchaser gets to keep the benefit of their bargain. Consequently, a rollback of a token blockchain may have legal issues if the token is one used in commerce and innocent parties are left injured.
 
Last edited:

kyuupichan

Member
Oct 3, 2015
95
348
Who does Nodecounter? They aren't counting BIP109 votes correctly, probably looking for an exact number rather than a set bit. e.g. block 416768, and so making it look like support is vanishing.
 
  • Like
Reactions: Norway and sickpig

VeritasSapere

Active Member
Nov 16, 2015
511
1,266
@cliff You are correct in pointing this out, rollbacks are a complete mess and cannot be justified exept for cases of a complete blockchain failure, which is certainly not the case here. Fortunately what the Ethereum development team is planning on doing is not a rollback. This is only possible because the thief is unable to spend these coins for another twenty seven days since that was one of the conditions of the DAO smart contract that this thief was unable to get around, none of the DAO has actually been spent allowing for a very clean break where the investors can get all of their Ether back. If it was not for these two things the Ether would have been simply lost and any type of recourse would not have been justifiable if even possible.

I rather like the analogy of the bank robbery, it seems to fit and in this case it seems like it can be justified to interfere in order to stop a robbery from taking place.
 
Last edited:
  • Like
Reactions: AdrianX and cliff

cliff

Active Member
Dec 15, 2015
345
854
@VeritasSapere Thx. And, yes, there are certainly differences between my example and the Dao situation. I totally glossed over that 27 day hold - I knew it was there, just hadn't given it much thought. So, I guess the ledger-wise, a rollback might not be terrible here.

Rollback? Yeah, rollback. I think its rollback b/c the ledger would get rolled back . . . right? The coins went somewhere and a rollback brings them back . . . yes? You're just saying this rollback doesn't hurt innocent third-parties like others do/would when there is no holding feature/child-contract thing. This is a policy argument. Policy-wise, a rollback seems pretty risky w/o first having a set of standards in play for when to employ, which I don't think can be the result of a rush-job. This may have to be a lesson for why community standards are good to have for things like forks and whatnot.
 
  • Like
Reactions: VeritasSapere

VeritasSapere

Active Member
Nov 16, 2015
511
1,266
@cliff I would not consider it a roll back since they are not rewinding the chain. The ledger remains the same. Simply returning the Ether to the origanol investors, at first I said they where invalidating the DAO, but as far as I understand it now that was not entirely accurate, they will be modifying the DAO smart contract through this hard fork, this is what will allow investors to withdraw the Ether they initially put in, essentially reversing the process of how the DAO tokens where created in the first place. So in this sense it is not a rollback at all, since it will be a case of transactions going into the DAO and now transactions moving out of the DAO, not even invalidating the old transactions, or reversing any blocks.

Community standards for hard forks and roll backs are a good idea, if we had that in place today in Bitcoin I bet the blocksize debate would have gone a lot smoother. I think this also links back to the idea that we need to understand and agree to what the governance mechanism actually is, that way change can come about easier without some of the controversy we are seeing today.
 
Last edited:

IstvanZoltan

New Member
Apr 16, 2016
8
37
TL;DR: Bitcoin needs a formal built-in "meta-level" - so that we can vote for rule changes directly on the blockchain.

---

To resolve Bitcoin's apparently intractable governance impasse, I propose:

- We should use the well-known approach of doing a "spinoff" - which, by definition, will preserve everyone's existing balances on the existing Bitcoin ledger.

- This spinoff should also include a crucial new feature called "meta-upgrades" - ie, it should include support for voting directly on the blockchain to make any changes to the protocol rules, the consensus rules and the governance rules.

This approach would constitute a kind of "meta Schelling point" - because it not only guarantees that all investors can preserve their current wealth, but it also guarantees that they will always retain full control over the rules of the system itself, now and forever in the future.

Basically the concept of "meta upgrades" would put certain existing governance proposals (fork futures from /u/ForkiusMaximus aka @Zangelbert Bingledack, or off-chain proof-of-stake governance voting from @awemany) directly on the blockchain, where they belong.

It is time for us to stop wasting our lives arguing about governance on forums infested by sockpuppets and trolls. It is time for us to implement Bitcoin governance itself directly on the blockchain.

Satoshi already created a decent formal on-chain consensus mechanism for choosing the next block to append to the chain. It should be straightforward for us to now extend that - to a decent formal on-chain consensus mechanism for choosing the ruleset used to define the validity of the blocks themselves.

Some existing approaches in this direction include:

- Bitcoin Unlimited - where nodes are able to signal their preferences regarding "max blocksize"

- BitPay's Adaptive Blocksize - where this decision-making process is partially based on examining the median of previous blocksizes

In order to avoid eternal bikeshedding in the future about any additional changes (as well as to get everyone "on board" now with a kind of "meta Schelling point" where everyone feels comfortable that the new system will be able to adequately handle any possible unforeseen rule changes down the road), it is important for us to do a bit of this kind of "meta" thinking right now - focusing on building a system which not only allows changing the rules, but also allows changing the rules for changing the rules - on the blockchain itself.

If people are going to put all kinds of crap onto the blockchain such as colored coins or land deeds or marriage proposals, then it's time for us to harness the blockchain for what we most urgently need to do: on-chain Bitcoin governance.

Feasibility:

Of course, this might sound ambitious - because anything "meta" can be a bit intimidating.

But this approach has a long track record of success in mathematics and computer science, eg:

- the CLOS-MOP: Common LISP Object System Meta-Object Protocol;

- philosopher Peter Suber’s Nomic, a game built around a fully introspective set of rules;

- programming systems such as Spoofax or Maude which include strategy meta-languages, etc.

More importantly: there is also a cryptocurrency in the works which aims to provide "meta updates" (on-chain voting about the rules), called Tezos - see below.

So basically the idea is: let's borrow the "meta updates" feature from Tezos, while using a spinoff to maintain the existing ledger.

A "functional" language like Ocaml is better than a "procedural/imperative" language like C/C++

Voting for "upgrades to rules/algorithms" directly on the blockchain should be quite feasible, given an expressive enough language for encoding the rules/algorithms themselves.

Indeed any decent "functional" programming language can do this.

Recall that one of the main features of a "functional" programming language is that it is able to treat functions as data - eg, it is able to pass a function as an argument into a call to another function, and it also able to return a function as the result of a call to a function.

This is the precisely kind of feature which is needed if we want to be able to "vote on the rules".

In a "functional" language, it is straightforward define rules/algorithms by encoding them as functions, and then pass those functions around as data: using them as input and output for the "main" functions of the cryptocurrency system itself.

In addition, certain mature "functional" language ecosystems (such as the functional language Ocaml + the theorem-prover Coq) also support an even more advanced and more secure approach: we could write a specification (theorem) in Coq, and then we could derive a implementation (proof) for it in Ocaml. The extra benefit here is that a specification is more compact, more human-readable, and thus easier to reason about than an implementation.

Mathematical aside: This formal approach, already used with success for decades, is based on the well-known Curry-Howard Isomorphism, which states that deriving a proof for a theorem (in math) is equivalent to deriving an implementation from a specification (in programming).

We can illustrate the importance of providing a theorem (and not just its proof) by recalling high school geometry: Consider a proof of something like the Pythagorean theorem. There are actually many such proofs - and they are all rather long and involved and confusing and hard to understand. On the other hand, recall the statement of the Pythagorean theorem itself: a^2 + b^2 = c^2 - ie, for a right triangle, the sum of the squares of the shorter sides (the "legs") is equal to the square of the longer side (the "hypotenuse").

This comparison is highly relevant today - the day when Ethereum's "The DAO" got hacked. The problem with The DAO was that its description (specification), while being human-readable, was also informal - and totally disconnected from its implementation, which was long and not very human-readable, and which tragically, contained a flaw which a hacker was able to exploit.

[continued below]
 
Last edited:
  • Like
Reactions: lunar

IstvanZoltan

New Member
Apr 16, 2016
8
37
[continued from above]

Conclusion:

So, this proposal for improving Bitcoin would include the following:

- It should of course be done as a "spinoff", so everyone's existing wealth is preserved;

- Furthermore, to ensure that it can handle any changes in the future, it should support "meta upgrades" - ie voting directly on the blockchain for changes to the rules;

- It should be written in a "functional" language - to directly encode rules as functions;

- A good "functional" language at the implementation level would be Ocaml - which not only has efficiency very close to C/C++, but also works well with the specification language called Coq, to allow formally verifying that a (machine-readable) implementation does indeed satisfy the (human-readable) specification from which it was derived;

- Bonuses: Ocaml already has an implementation of TLS (ie, the Ocaml people have apparently already rewritten libsecp256k - one of the major "achievements" of Core); and Ocaml also supports something called "unikernels" using MirageOS (which would go a bit beyond the Gitian deterministic builds used by Core - because a unikernel such as MirageOS allows building a formally verified "appliance" with tiny memory and diskspace requirements, containing only the OS and client).

Related work:

An alt-coin which aims to do these things is already in the works, called Tezos.

I don't think Tezos is going to be open-source (the people working on it are involved with R3) - but we could probably borrow its ideas for the "meta upgrades" feature.

Some pointers to the literature on Tezos:

https://medium.com/@arthurb/thoughts-on-the-dao-89f07ebcad9d#.i4zmffxnf

Tezos was created first and foremost to address a governance issue in decentralized cryptographic ledgers. It does so by allowing stakeholders to approve updates to the protocol, including the consensus algorithm, and the governance rule themselves. Unlike “the DAO” which merely transfers funds to some development contracts, Tezos can transform itself in incredibly flexible ways.

It is possible in Tezos to go from a simple democratic system of organization to one displaying robust mechanisms inspired by successful governance models such as the Republic of Venice. An even more radical model that can be adopted is to rely on prediction markets for making automated decisions. Updates to the protocol can be required to carry formal proofs indicating that they respect agreed core principles agreed upon by the stakeholders. All of this can be achieved directly, on the blockchain.​


Tezos: A Self-Amending Crypto-Ledger - Position Paper / White Paper

https://www.tezos.com/position_paper.pdf

https://tezos.com/white_paper.pdf

We present Tezos, a generic and self-amending crypto-ledger. Tezos can instantiate any blockchain based ledger. The operations of a regular blockchain are implemented as a purely functional module abstracted into a shell responsible for network operations.

Bitcoin, Ethereum, Cryptonote, etc. can all be represented within Tezos by implementing the proper interface to the network layer.

Most importantly, Tezos supports meta upgrades: the protocols can evolve by amending their own code. To achieve this, Tezos begins with a seed protocol defining a procedure for stakeholders to approve amendments to the protocol, including amendments to the voting procedure itself.

This is not unlike philosopher Peter Suber’s Nomic, a game built around a fully introspective set of rules.

In addition, Tezos’s seed protocol is based on a pure proof-of-stake system and supports Turing complete smart contracts. Tezos is implemented in OCaml, a powerful functional programming language offering speed, an unambiguous syntax and semantics, and an ecosystem making Tezos a good candidate for formal proofs of correctness.​
 

cypherdoc

Well-Known Member
Aug 26, 2015
5,257
12,995
Who does Nodecounter? They aren't counting BIP109 votes correctly, probably looking for an exact number rather than a set bit. e.g. block 416768, and so making it look like support is vanishing.
isn't that /u/hellobitcoinworld who apparently deleted his acct?
 

cypherdoc

Well-Known Member
Aug 26, 2015
5,257
12,995
ppl starting to realize smart contract complexity may not always be good:

 

freetrader

Moderator
Staff member
Dec 16, 2015
2,806
6,088
@IstvanZoltan : Very interesting suggestion and post about Tezos, I wasn't aware of it and must read up on it.

My gut feeling though is that there are big new risks with such mechanisms and it might be better to study such a happily-transformative system elsewhere than on the Bitcoin main chain (I'm quite content for R3 to do it, esp. if they keep their source closed - I can well imagine that attacks on rules can be as imaginative as the DAO hack we just saw).

The fields of smart contracts and "on-chain governance" look pretty intertwined to me, at least from the perspective of complexity and exploitability.
 

Inca

Moderator
Staff member
Aug 28, 2015
517
1,679
If Bitcoin played it's cards right there won't be another blockchain close to Bitcoin.
Well the bitcoin core development team are actively preventing bitcoin scale up from it's meagre number of transactions per second, so bitcoin cannot easily become the base "money" layer for the internet now or ever unless we have a fairly dramatic shift in developer direction for the project.

This guarantees that other chains will try and steal it's throne.

Right now I just want bitcoin to continue to grow in market cap until it's first mover status as an asset is completely without question. I think if it gets beyond 25 - 50 billion dollars it will be impossible to ever catch, and too big to legislate away.*

* Excluding new coin emission: 755 USD = 11.84 billion, 1594 USD = 25 billion, 3200 USD = 50 billion. This whilst sounding utterly crazy is possible if we bubble higher pre-Halving, don't crash too hard after and then bubble later this year or again in 2017.
 
Last edited:

Zarathustra

Well-Known Member
Aug 28, 2015
1,439
3,797
Signed message:

"I reserve all rights to take any and all legal action against any accomplices of illegitimate theft, freezing, or seizure of my legitimate ether, and am actively working with my law firm. Those accomplices will be receiving Cease and Desist notices in the mail shortly.

I hope this event becomes an valuable learning experience for the Ethereum community and wish you all the best of luck."


Yours truly,
"The Attacker"

http://pastebin.com/CcGUBgDG