Truthcoin: The Second of Two Blockchains?

Previous topic - Next topic

psztorc

Assuming it ever happens, which it won't.
Nullius In Verba

zack

Do people ever lose their social security number?

https://answers.yahoo.com/question/index?qid=20071110064211AAxQ7vk
It looks like you have to go to a place like the DMV to get a new card.

With a blockchain of this sort, several government officials would use their separate private keys to build transactions capable of more powerful things. They will make you a new address with your new password, and delete your old address.

I hope that citizencoin will not exist. I am willing to go to great lengths to stop it from happening.
I think our best chance is to build really good pseudo-anonymous blockchains like bitcoin first. They will be hard to compete against.
The bigger head-start we get, the better.

delulo

Quote from: zack on June 13, 2014, 01:38:49 PM
Citizen coins give a horrifying amount of power to the government.

Since you cannot get a new address, it is possible to attach a criminal record to your address.
It is possible for government to turn off a person's ability to spend money, or confiscate it all.
With bitcoin-like systems, you can only count votes based off of how invested a person is. Similar to a privately owned business, if you own 1/13th of a business, it makes sense that you should have 1/13th of the say in what happens. This type of voting is essential for private property and liberty.

With citizencoin it is possible to count one-vote-per-person. There is no object that is owned between everyone this way, and there never will be. This type of voting is not done to make decisions on our own property, rather this type of voting is done to decide how we should use someone else's property.

For example, with one-vote-per-person they might vote on how much taxes to gather from each social class.

Bitcoin is to anarchy what citizencoin is to statism.
I know what you mean now. Thanks

delulo

#18
I read your OP and agree with the majority of the statements. It is a good basis for a discussion.

Here is my feedback:

QuoteA service provided by blockchain has two key differences from other service-providers: the service is codeable (digital information only, no physical products or services) and it is reliable (performs the same way regardless of the country, time of day, the user's age, race, religion, criminality, or morality).
Other services/products are codeable as well. The key difference is that there is no counterparty that users have to trust so that the service is provided as suggested. "codeable" is a limitation (as opposed to an enabling/positive feature like reliability is) of blockchain based services. But you said that (indirectly) later anyway...

How would you want to realize a currency exchange with truthcoin?

A lottery seems to be codeable completely so there would not be a need for a prediction market. No?

QuoteSome feel that these designs are cheaper, but this is hard to see.
To me this comes down to whether the costs for securing and updating the tx ledger or the costs that result from counterparty risk (compensation for credit card fraud and regulatory costs) are higher.

QuoteSoftware development/maintenance requires a great deal of highly-skilled work, and then the software "rots" as it gradually becomes obsolete.
If it "rots" then either because the incentive system of the respective is weak or because there has been another project that realized the same service more efficiently. This doesn't seem to me like a structural argument against the use of blockchain technology in general. Or are you just implying that the costs for maintaining a decentr. network of software instances is high? The question would be whether it would be higher than if the system is not decentralized.

QuoteBitcoin's unique status as money not only incentivizes development/maintenance but also co-opts money's-status-as-a-network-effect to onboard and coordinate programmers.
By unique do you mean money as the prominent use case for blockchain technology? ....and because this one use case is the most relevant many will work to realize a projects (e.g Bitcoin) that successfully realizes this use case? I would agree to this. But there is more than that necessary for get the incentives right.

psztorc

Quote from: delulo on July 16, 2014, 03:33:53 PM
How would you want to realize a currency exchange with truthcoin?
You can build a replicating portfolio, where the shares themselves are worth the exchange rate itself. See this excel (Scaled Claims tab) for more on this.

Quote from: delulo on July 16, 2014, 03:33:53 PM
A lottery seems to be codeable completely so there would not be a need for a prediction market. No?
A PM could (somewhat awkwardly) be a lottery, but a lottery can't be a PM.

Quote from: delulo on July 16, 2014, 03:33:53 PM
QuoteSoftware development/maintenance requires a great deal of highly-skilled work, and then the software "rots" as it gradually becomes obsolete.
If it "rots" then either because the incentive system of the respective is weak or because there has been another project that realized the same service more efficiently. This doesn't seem to me like a structural argument against the use of blockchain technology in general. Or are you just implying that the costs for maintaining a decentr. network of software instances is high? The question would be whether it would be higher than if the system is not decentralized.
Yes, I'm saying the maintenance costs are high, and in many instances these costs are comparable to the operating costs of a firm (payroll, COGS, PPE).

Quote from: delulo on July 16, 2014, 03:33:53 PM
QuoteBitcoin's unique status as money not only incentivizes development/maintenance but also co-opts money's-status-as-a-network-effect to onboard and coordinate programmers.
By unique do you mean money as the prominent use case for blockchain technology? ....and because this one use case is the most relevant many will work to realize a projects (e.g Bitcoin) that successfully realizes this use case? I would agree to this. But there is more than that necessary for get the incentives right.
I mean that there can only be one digital currency, and it looks like it will be Bitcoin or use Bitcoin's ledger. So people have an incentive to maintain it because it is so valuable to them.
Nullius In Verba

delulo

#20
Quote from: psztorc on July 17, 2014, 02:18:17 PM
Quote from: delulo on July 16, 2014, 03:33:53 PM
QuoteBitcoin's unique status as money not only incentivizes development/maintenance but also co-opts money's-status-as-a-network-effect to onboard and coordinate programmers.
By unique do you mean money as the prominent use case for blockchain technology? ....and because this one use case is the most relevant many will work to realize a projects (e.g Bitcoin) that successfully realizes this use case? I would agree to this. But there is more than that necessary for get the incentives right.
I mean that there can only be one digital currency, and it looks like it will be Bitcoin or use Bitcoin's ledger. So people have an incentive to maintain it because it is so valuable to them.
Agreed that the Bitcoin LEDGER has the highest chance of becoming the one crypto currency ledger even though it is completely an open question (https://bitsharestalk.org/index.php?topic=4942.msg72542#msg72542). As for the maintenance and innovation happening in Bitcoin as it is today: https://www.youtube.com/watch?v=9jbMopz8Jtw Min 39:45- ~ 45

psztorc

#21
Just a quick update to this thread:

[1] Still, no serious blockchain-competitors have arisen. Some seem to have potential, for example BitSharesX, which (in support of this thesis) is functionally similar to Truthcoin (ie, they have similar design goals).

[2] Ethereum would represent a counterexample to this thesis. However, looking at their forum's Project and Smart Contract sections, I don't see any actual projects at all. Am I missing something? Which of these projects might actually become valuable, and able to compete with the broader human-managed entrepeneurial tech economy over a significant timeframe?

I think that the lack of Ethereum projects is extraordinarily strong evidence in favor of my thesis: an extremely-conservative falsification attempt (any counterexample at all could appear, in only minimal-effort design format), yet it does not. For researchers: we look very carefully for the null hypothesis, and reject at a very low p-value (ie the test has high "statistical power").
Nullius In Verba

zack

p2p games of perfect knowledge, particularly games which are resistant to artificial intelligence: go, chess, 6-in-a-row, amirra, goofspiel, civilization

I have become more certain of this over time.
I discovered a way to enforce all the rules in an entire chess game with a single transaction on the blockchain.
The whole game is played off-chain.

off chain transactions can be much faster. 100 tx per second is reasonable, which is fast enough for frame-rate in animated videogames. I think we will see first-person-shooter video games on a blockchain within a couple decades.

martinBrown

Continued from here.

Quote from: zack on September 02, 2014, 03:06:35 PM
3) I don't want to start over from scratch if Ethereum should die.

This is a good reason to have TruthCoin as a separate alt-chain. As much as I disfavor meta-coins, one thing I like about them is their ability to be ported to a separate blockchain in a worst-case scenario (MasterCoin has a contigency plan to move onto Litecoin, should bitcoin suffer some catastrophic failure). Similarly, I wouldn't argue that Ethereum should be the one-and-only blockchain. Some diversification is good (too much, though, is bad).

Quote from: psztorc on September 03, 2014, 02:51:13 PM
I don't see Ethereum and Truthcoin as competitors. If Ethereum were to implement Truthcoin as an Eth-contract, then that Eth-contract would compete with any Truthcoin blockchain(s). In the original whitepaper of January, I mentioned that Truthcoin may require Ethereum in order to exist.

Separately, I think that Ethereum, while hyped today, will not be very popular in the future. In fact, I believe that it is possible that Truthcoin will be the second of two blockchains, and that programmers will stop using Blockchains once they exist for money, namespaces, and data.

An eth-contract wouldn't necessarily have to compete with an alt-chain. If Truthcoin supported sidechains/treechains, then the eth-contract could host a TC sidechain instead of competing. This would get the benefits of both worlds: advantages of the eth-blockchain and seamless compatibility with other Ethereum contracts, without a competing chain/coin supply to dilute TC digital scarcity. Suppose there's technical progress on sidechains/treechains, but political blocks preventing a necessary bitcoin hard-fork. If a TruthCoin alt-chain launched with the script features needed for sidechains, then an Ethereum implementation could be a TC sidechain. Additionally, it would be easy to experiment with other TC variants: lower block times, different voting schedules, different branching schemes, enhanced market-maker algos, etc., all while maintaining coin supply/interchangability. How about that for a "second of two blockchains" scenario? (My two pet favorites, Ethers and Truthcoins, dominating the crypto 2.0 market ;D).

If ethereum is actually realistic, then maybe mere alt-coin side/treechains is within the realm of possibility.

martinBrown

Quote from: psztorc on September 03, 2014, 02:57:24 PM
[2] Ethereum would represent a counterexample to this thesis. However, looking at their forum's Project and Smart Contract sections, I don't see any actual projects at all. Am I missing something?

You're looking in the wrong place. The forum is full of "ideas for projects", its hard to sift out the projects with code. Try the github instead. You can find five functional clients in different programming languages: cpp-ethereum (C++ - aimed at developers), go-ethereum (Golang - aimed at users), pyethereum (python - vitalik's client), ethereumj (Java - aimed at an android version), and node-ethereum (unofficial but quite functional). All have screenshots and/or screencasts somewhere.

There are three higher-level language compilers, written by their respective client authors. Each compiles contract code (LLL in cpp-e, Serpent in py-e, and Mutan in go-e) to EVM (ethereum virtual machine) bytecode. Cpp-e also incorporates serpent (serpent->LLL->bytecode), and so does go-e. All five clients have a different EVM implementation that can run the same bytecode.

Additionally, there's a new, fourth high-level language at the concept stage, codenamed Solidity. The purpose of this fourth one is to provide formal descriptions of contract interfaces. These formal descriptions will be the basis for a DApp permission system, to provide wallet security without sacrificing usability. It will do this by translating formal interface descriptions into english language permission requests:

Quote
Untrusted ÐApp "Foo Sprocket DApp" attempting to transact in your name:
Send 45.780 GAV from the account of Your Name Here to an account accessible only by Foo Sprocket DApp.
Do you wish to allow this?

This will enable use of DApps seamlessly with user wallets. Should be a much improved experience over the tedious, error-prone task of copy/pasting deposit, payment, and withdrawal addresses between users' wallets and the third-party services they wish to use. (QR codes aren't much better)

Also in the official repo is an initial, proof-of-concept "randomized" proof-of-work mining algo. It generates a new circuit/problem every so many nonces (a nonce is a hash attempt - ie 100k hashes per second is 100k nonces per second). So every 512, or 1024 nonces, a new random hash function is generated. The parameter balances the time-spent-generating with the time-spent-evaluating. Too large and FPGA's would have an advantage over CPUs (an FPGA takes time to reprogram, but after reprogramming would be faster at evaluating than a CPU). Too small then there's more time spent generating than evaluating. Obviously, the mining algo is at a very early stage and who knows if they'll actually succeed at ASIC/FPGA resistance (the reason its desirable is a debate in itself), but at least its an active project.

These are all lower-level projects, at the platform/backend level. There are also projects at the user-level, i.e. DApp contracts with front-end interfaces. The most prominent of these would have to be GAVcoin and the exchange (these need to opened from within an ethereum client to work properly). The exchange is demoed here. There are plenty of example contracts, but not so many DApps with in-your-face front-ends just yet. One reason is because the clients are still alpha, so the contract compilers and javascript api's are unstable. This means progress on DApp contracts and front-ends is often frustrated by the need to do some amount of lower-level debugging. Another reason is probably due to DApp authors who hope to monetize their work on launch of the genesis block. They may not see incentive to publicize their work, nor share their code, prior to launch of the genesis block (the obvious concern is that doing so would only attract competition, and help them create clones/forks that would be competing DApps on launch day).

psztorc

#25
If a system has zero user-level projects, all of the projects at lower levels will be useless. Surely you agree? Moreover, one could build a 'lower level' to X (ie "something which enables better/faster X") even if X had no users. I could build a zeighuerf which makes lolifretturs easier to create, even if those are words that I just made up right now.

So my argument rests entirely on the NON-existence of a single user-level app.

The exchange is not a user-level app, as it is used (according to them) to trade different coins. "The purpose of these coins" would be the true user-level, and I doubt that any of these coins would be useful, in a way that couldn't be copied today with colored coins.

The GAVcoin part seemed to touch one non-monetary thing which I think WOULD benefit from a blockchain: namespace/data. However, this doesn't by itself merit a general-purpose blockchain software. Data could easily be one or all of (BittorrentSync, clearskies, dropbox/Wuala, MaidSafe), having nothing to do with Ethereum.

However, your point about hiding-source for business-strategy does weaken my evidence. I would still expect marketing/brands to appear, though. Firms would want to establish a user base in some way that didn't leak the code, wouldn't they? And I don't see any marketing, do you?
Nullius In Verba

martinBrown

#26
This user-level project is 5 months old already: Denny's Lotto. Here's a screencast/walkthrough. Its a decentralized lottery - provably fair, with no central operator.

Dennis is also the programmer behind Eris, which was runner-up to the $100k bounty that Mike Hearn won for lighthouse. code,  screenshots, build instructions.

The EtherEx brand was announced in May. They at least have a whitepaper.

cryptocoinwatch is another project with a decent front-end.

DNSEth shows how to connect a namereg contract to a DNS daemon.

edit: corrected EtherEx announcement date.

psztorc

Lotto is an example of value-storage. As I point out in my OP, that makes it blockchain-friendly, but you can do similar things with Truthcoin, as I also point out. My argument is that blockchains store ownership of value (and, possibly, names/'real estate').
Quote from: psztorc on June 10, 2014, 04:50:32 AM
The prediction market concept is flexible enough to contain functions for gambling, insurance, and portfolio replication (currency exchange), as well as other functions.

So that particular project, while indeed user-lever, (I would say) "doesn't count" in favor of a 'third' general-purpose blockchain. It is still the 'second' Truthcoin blockchain.

Surely Eris and EtherEx are not user-level.

cryptocoinwatch would be an example of something a user might use - triggering a payment with a transaction, or as a function of a transaction. However, if a user had to use a machine to send a transaction, and have something else running (the Ethereum network?, another computer?), it isn't clear to me why a user wouldn't just authorize "whatever he was trying to trigger" directly.

For DNSEth...I admit there is a market for a Namecoin (or improved version). Instead of storing digitally-scare value it stores digitally-scarce 'real estate'.
Nullius In Verba

martinBrown

Quote from: psztorc on September 06, 2014, 12:03:48 AM
Lotto is an example of value-storage. As I point out in my OP, that makes it blockchain-friendly, but you can do similar things with Truthcoin, as I also point out. My argument is that blockchains store ownership of value (and, possibly, names/'real estate').

A lottery mechanism needs the value to be transferred conditionally (or "purposefully" stored, as stated in your OP). SatoshiDice uses blockchain hashes to operate with provably-fair outcomes, but it is still centrally operated (so SatoshiDice can still steal funds, but they couldn't deny doing so). It is possible to implement a decentralized lottery in bitcoin script: here's an excellent tutorial.

Though a bitcoin script lottery has no central operator, it has other limitations, inherent in bitcoin script (particularly lack of state and value-blindness, as noted here). The bitcoin script lottery in the linked tutorial pays out 100% to a single winner. How about a lottery that pays out 80% to one winner, and 20% to another? How about a prize pool that rolls over, until some minimum threshold has been exceeded? You would be hard-pressed to do either of these, or any number of other variants, in bitcoin script.

The Ethereum argument is that a blockchain should store arbitrary state, ie. a blockchain should be viewed as a decentralized state machine. And with a powerful scripting language, the value can be transferred conditionally (conditional on the state of any variable stored in some contract).

How would TruthCoin support a wide variety of decentralized lotteries, without a scripting language?

Quote from: psztorc on September 06, 2014, 12:03:48 AM
Surely Eris and EtherEx are not user-level.

The a difference between an EtherEx exchange, and TruthCoin portfolio replication, is that on EtherEx the user would be able to actually buy/sell various crypto-coins. So EtherEx would be preferable to a user who is actually seeking delivery of DOGE. If all they care about is betting on the price change, then portfolio replication is sufficient. Also, portfolio replication is dependent on a reference price-feed from some other exchange (EtherEx would actually match trades, generating prices independently).

Quote from: psztorc on September 06, 2014, 12:03:48 AM
cryptocoinwatch would be an example of something a user might use - triggering a payment with a transaction, or as a function of a transaction. However, if a user had to use a machine to send a transaction, and have something else running (the Ethereum network?, another computer?), it isn't clear to me why a user wouldn't just authorize "whatever he was trying to trigger" directly.

If the users authorize the payments directly, then the payments are no longer atomic. It leads to the situation where I need to hand you a bitcoin, and you need to hand me a Truthcoin, but neither one of us trusts the other, so neither is willing to hand it over first. That's where a contract would help, by setting up a conditional transfer (only transfer the TRU, given a BTC payment) to be executed by the contract (as an atomic transaction).

psztorc

Re: lottery, I am saying that you'd have to abandon Bitcoin for Truthcoin, in the gambling case. With Truthcoin gambling is easy, instead of betting on far-off real life events (like elections), just bet on short-term meaningless events like whether a block hash is odd or even, or will contain 8 or more 3's, etc. I would imaging this to be on a much 'faster' Branch, which might have much more automation.

Re: EtherEx I agree that what you say is true. However, I feel you're missing my point: I claim all other blockchains and their coins (DOGE for example) are useless at the user-level. If that is the case, then EtherEx is a "zeighuerf which makes lolifretturs" as I described before.

Re: coinwatch My opinion is still that value-exchange is completely different from value-storage. Where I get lunch, they take my money before I get my food, because they are a fixed business with a long-term trusted brand, and I'm just "some guy". After I pay, they could refuse to hand over my sandwich, but then I'll find another place to eat. Moreover, value exchange seems possible already: https://en.bitcoin.it/wiki/Atomic_cross-chain_trading Finally, I am again skeptical that there will be enough useful coins to warrant 'a coin-exchanger' at all (I'm imagining a low-stakes, boring "Namecoin Store" and nothing else).
Nullius In Verba