
Show HN: CryptoFinalFour – Tradable March Madness brackets as ERC-721 tokens - vincentchu
https://cryptofinalfour.com/
======
bmlevy9
This is actually really interesting when you're dealing with large pools.

Last year, I was in a pool with 10,000+ people and serious $ were on the line
and I actively negotiated with other brackets to buy them, split ownership,
etc.

A few questions/comments: \- Would you also be able to sell a % of the bracket
rather than just all of it? \- Would you also build out tools to predict the
current odds of the entries?

~~~
cslarson
Technically the bracket could be owned by another contract rather than a
normal account so in theory at least it's possible.

~~~
vincentchu
^^ this. The base contract allows only a single owner at a time, but you can
end up with some pretty exotic ownership structures if you want ...

~~~
bmlevy9
That makes sense - cool idea and definitely see the value if and when sports
gaming becomes legalized...

------
filleokus
I know next to nothing about this domain (sports...), but I guess you need to
have the outcome of the matches to make this work? How is that information
entered onto the blockchain? I guess there is a trusted party somewhere that
acts like an oracle?

~~~
vincentchu
The smart contract has a method called updateState that allows a privileged
address to update the brackets. That’s essentially an Oracle.

Aside: in the future where smart contracts are broadly usable, there needs to
be some way (even centralized) to identify who’s trusted in such a contract
and why you should trust them. In a normal office pool, it’s just Dave from
accounting who runs the pool, but on the block chain that breaks down.

~~~
mbil
I was wondering how Augur got around the need for an oracle, since on that
system (iiuc), one can create a prediction market around _any_ publicly-
observable outcome.

 _In centralized markets, one person determines the final market outcomes -
which means there can be mistakes or outright manipulation. With Augur, we 'll
have thousands reporting on market outcomes using a one-of-a kind consensus
based system and a unique token called REPutation. As a reporter, you'll
report on events every two months and, in return, receive half of all fees in
the system multiplied by the percent of REP you own._

via [http://www.augur.net/](http://www.augur.net/)

~~~
thisisit
The answer is within your quote:

 _With Augur, we 'll have thousands reporting on market outcomes using a one-
of-a kind consensus based system and a unique token called REPutation. As a
reporter, you'll report on events every two months and, in return, receive
half of all fees in the system multiplied by the percent of REP you own._

So, what they are relying on is that multiple people reporting a particular
event can avoid manipulation. This is something which is touched upon
extensively in the book "Wisdom of the Crowds" [0].

But, they also know that people might not be interesting in reporting an
event. So, they are provide an incentive which is something like a PoS mining
system - you earn coins for reporting based on the percentage of coins you
hold in your wallet.

Obviously, this can turn out to be very bad because crowd wisdom doesn't
always work. But, it will be an interesting experiment. But, not an experiment
worth a billion dollars - during early Jan.

[0] -
[https://en.wikipedia.org/wiki/The_Wisdom_of_Crowds](https://en.wikipedia.org/wiki/The_Wisdom_of_Crowds)

------
danvoell
Cool idea. Now I need to figure out what Cipher Browser is.

~~~
vincentchu
It’s a ethereum wallet/browser for distributed apps for mobile:
[https://www.cipherbrowser.com](https://www.cipherbrowser.com)

Meta mask is the equivalent for chrome.

Cipher allows you to store some eth (or other ERC20) tokens on your phone,
then use them to play with disturbed apps (like this one).

~~~
danvoell
Cool. I'm in. This reminds me of another business idea that I had. A way to
track down all the places I have ethereum stored. For loved ones. If I get hit
by a truck. I don't understand why a unique browser is needed to store
ethereum. Couldn't there just be an add-on for chrome/firefox/safari? Sorry,
just talking out loud, I'm sure that's for a different post. Let the games
begin!

~~~
vincentchu
There is a chrome extension that also acts as a wallet and allows you to
interact with dApps called meta mask
([https://metamask.io/](https://metamask.io/))

Cipher is interesting because it's built for iOS/Android and allows people to
use dApps on mobile (which Metamask can't do). In fact, CryptoFinalFour was
designed for Cipher/mobile browsing first.

------
deweller
What is the oracle for telling the blockchain which team won? Do we just trust
the person who wrote this contract?

~~~
vincentchu
Yes, have to trust the contract owner. You can imagine other scenarios where
it’s some voting scheme, but generally feel like decentralized != trustless
for a lot of things. You have to trust _something_ at some point. What’s cool
(imo) about smart contracts is that the terms (ie, code) are transparent and
that enforcement of those terms is automatic.

------
thisisit
This is an interesting experiment. I have been interested in building a
derivative of sorts using tokens but never got around to learning ERC-721
token. Any good tutorials out there?

------
PabloOsinaga
How do you get the actual results into the Blockchain? And how can we trust
that part?

------
LAMike
Link to the smart contract?

~~~
vincentchu
Source:
[https://gist.github.com/vincentchu/a4429de38ae15419f3b08c86c...](https://gist.github.com/vincentchu/a4429de38ae15419f3b08c86c2bffd84)

Contract address:
[https://etherscan.io/address/0x100cc2fa0ea14bf9b0740aeb8f66f...](https://etherscan.io/address/0x100cc2fa0ea14bf9b0740aeb8f66f7cc6c37165b)

~~~
chandraonline
Can you please verify your contract on etherscan.io. It makes it clear that
the code is what you say it is and people can interact with your smart
contract too.

[https://etherscan.io/verifyContract2?a=0x100cc2fa0ea14bf9b07...](https://etherscan.io/verifyContract2?a=0x100cc2fa0ea14bf9b0740aeb8f66f7cc6c37165b)

~~~
vincentchu
I spent 10 minutes before work today trying to get it working, but couldn't do
it. Any hints? The contract was developed using truffle and the solidity files
for the contract, ERC721, and ERC165 interfaces are split apart.

~~~
chandraonline
[https://etherscan.io/verifyContract?a=0x100cc2fa0ea14bf9b074...](https://etherscan.io/verifyContract?a=0x100cc2fa0ea14bf9b0740aeb8f66f7cc6c37165b)
This page does not work for truffle deployed contracts. You will see a new
Beta Source Code Contract Verifier link on that page (thats what I linked to
above) , this will allow you to verify. Set the Optimized to No and Runs
(Optimizer) to 0. This is how I got my hello world contract verified on the
rinkeby test chain: [https://github.com/Tri-Valley-Blockchain/blockchain-
playgrou...](https://github.com/Tri-Valley-Blockchain/blockchain-
playground/tree/master/ethereum/hello_world)

------
camjohnson26
Is there an interface for trading these?

------
tshanmu
is this a sports sweepstakes but with cryptocurrency? is the contract itself
implemented in Ethereum?

~~~
vincentchu
Not quite a sweepstakes- it’s just a standard March madness pool. The one
interesting thing is that each bracket confirms to the ERC721 token standard,
which means you can trade, buy, or sell brackets.

In that sense, using the ERC721 standard allowed me, a simple dev, to
assertive/tokenize a simple digital good. Pretty fascinated by that
possibility.

And yes, all written on ethereum. I can post the solidity source of people are
interested.

~~~
jordanab
Hi, looks great! Yes, can you please post the solidity source code? I've just
started learning solidity last week, and I like any understandable real world
example I can get my hands on. Thanks!

~~~
vincentchu
Source:
[https://gist.github.com/vincentchu/a4429de38ae15419f3b08c86c...](https://gist.github.com/vincentchu/a4429de38ae15419f3b08c86c2bffd84)

Contract address:
[https://etherscan.io/address/0x100cc2fa0ea14bf9b0740aeb8f66f...](https://etherscan.io/address/0x100cc2fa0ea14bf9b0740aeb8f66f7cc6c37165b)

~~~
jordanab
Awesome, much appreciated!

------
PabloOsinaga
IS this legal?

------
nailer
Not crypto related.

HN is a technical forum. Maybe 'March Madness on Ethereum' might be a better
title / name.

~~~
vincentchu
Agree that “crypto” is generally short for “cryptography” and not
“cryptocurrencies”— i myself have been annoyed by that in the past. But now
that I’ve drunk the Kool Aide .... ;)

