Community Project - Ideas


#1

Hi Everyone!

In the community call I floated the idea of a community project. Separate from the course project/exercises, this would be an ambitious implementation of cryptoeconomic design patterns where community members can apply what they learn. Potentially, there could be multiple ongoing projects at any given time for people of various skill levels and interests to contribute to. I’m going to list off a few ideas to get this going, but would love to hear what the community thinks.

Examples

  • Cryptogerbils

    • ERC721 collectible gerbil game
    • Can be used to incentivize course participation
    • Plasma cash for scaling
  • ZK Plasma

    • Plasma chain with private transactions (ZK snarks)
    • I have heard some people are working on this already, but maybe we could do better :slight_smile:
  • Plasma Contracts

    • Plasma operator stakes ETH and submits block headers containing the state of different smart contracts
    • Users can watch contracts they care about, and submit challenges if an invalid state is submitted
    • If a challenge succeeds, Plasma operator loses stake and the contract is forked the last valid state
  • Incentivized Casper Staking Pool

  • DAICO Contract

  • Smart Contract Library


#2

Yeah sounds like a good idea.

Not sure if this fits the domain of crypto-economics, but I have been thinking about using incentive design to get a better curation of content - may be Curation markets applied to curating content, especially news.

I think this is a big problem in today’s world as news is often sensationalised or is written to favour a particular side. And since what you read is what you think and believe, it shapes public opinion. The decentralised protocols which have been tried don’t seem to be working - case in point, SteemIt.

Is there a better way to do this? Might generate a lots of interesting discussion on designing incentive mechanism for this


#3

I like this idea a lot! I’m still trying to get my head around curation markets and token curated registries, but the whole notion of curating content seems super important to me.

I’ve long felt that the internet was broken in that nowadays it’s really hard to get past all the self-promotional pseudocontent and find real information (e.g., it can take like a whole afternoon to get a sense of what $30 earbuds I should buy to replace the ones my dog chewed up; I usually end up having to do google searches limited to a particular subreddit that seems relevant), and the idea that things don’t need to be that way is one thing that really excites me about crypto.

I also dunno if this is the right place to explore that, but I hope it is.


#4

I work at one of the Big4 accounting firms, and today I was asked to have a session about blockchain technology and the future of the audit and accounting profession. And I really wanted to think about how I truly felt about it. For some reason, when it comes to thinking about the future of accounting, I have a very tough time thinking how it will look.

Any insights or anything would be interested in hearing them. To me, it seems like structures around governance and DAO’s could be very interesting in pairing together. Would be interested in hearing other thoughts though as I’m in a loop.


#6

I think most of it will be automated. Tipple ledger accounting style. I think more and more organizations will forum to run on blockchain via projects like Aragon. And those organizations will keep track of all their customer’s eth addresses. I think software will be developed to automatically gather all transactions from the blockchain per any given company and be made into accounting reports, automatically. In the reports, you’ll have the hash of said transactions as the “receipt”… cause triple ledger accounting.

One day the organizations themselves will be programmed to run all by themselves too.


#7

Sounds a bit like Ocean protocol! It definitely counts as cryptoeconomics, and could become an interesting project.

Current DAO/governance implementations leave a lot of room for innovation (nice way of saying they suck). I’d love a DAO that goes a bit further than locking tokens and using them for voting.

Maybe people from this forum will be the ones who programmed them!


#8

:slight_smile: I am going to experiment with this over the weekend. All experiments will be public. I want to see how far we can push it now.

Here is what I am thinking:

Step 1. Create an Aaragon DAO
Step 2. Issue tokens to everyone who wants to help out
Step 3. Use OpenBazaar to sell something.

So you have the organization as a DAO, the product on the OpenBazaar store, and cash flow in Crypto. The outflow (buying raw materials and such) will have to be bridged someone. Don’t want to exist out of crypto.


#9

Cool! I’ve been thinking about organization/structure of group projects. Here are some options, curious about feedback!

  1. Separate GitHub org (cryptoeconomics-projects), where community members can create separate repos each group projects.

  2. Individual repo for each project in the cryptoeconomics-study github org

  3. Single repo that houses multiple projects in the cryptoeconomics-study github org. Kind of open-zepplin style. Personally I would want one for Vyper/pytest and one for Solidity/Truffle since I want to get more people on the python/ethereum ecosystem.


#10

Maybe you can pull request it. My idea/project is simple. Have “Bitcoin Energy Drinks” on the openbazaar to sell. One drink will come with a prize of… say $2K. To get the $2K that drink will have the private to a plasma contract containing the 2K in pETH.

Today I made some progress with it.

Just gotta create the DAO for it. Most projects are software based. I want to integrate something physical. :smiley:


#11

Left the library today and noticed a trash bin such as this:

image

You never know where you’ll find inspirations around mechanism design. Sometimes you even have to think the opposite of how you’d normally think would be the best way to go about things.

I know this isn’t the place for this. Just an interesting note…


#12

Not the worst mechanism design if your goal is to promote recycling :smiley:


#13

Does anyone else notice the potential similarities between neural networks and blockchains? Is that what people mean on a high level when they talk about “Stateless Validators”?

  • It seems like AI and blockchain are meant to go together one day. As long as the AI is inherently decentralized and not owned by anyone. I suppose this is what gets Karl so excited when he talks about using cryptoeconomic design mechanisms to have AI want to do good things for us? Do you think he’s specifically talking about these Stateless Validators? I need to look more into what they actually mean by that, i have not yet.

:slight_smile:


#14

@padpad

I think you are referring to is stateless clients as described here:

I believe the main idea is that in a sharded blockchain, every node cannot store the full state of every shard without the state getting prohibitively large. However, every node does need to be able to validate on every shard. With stateless clients, nodes that are randomly sampled to validate on a shard might not have the relevant state, but can download the relevant state from a node that does have it. Since nodes are no longer forced to hold the full state of every shard, users might need to keep track of their own state or pay others to do so (rent).

If you want to read up more on AI and blockchain, here’s an interesting article from Trent McConaghy:


#15

wow that’s amazing. Thank you. So in a sharded blockchain, there does not exist a “general state” that can anchor all of the different states to a global consensus? I wonder if that would be something that would be most optimal, but very hard to figure out I’d imagine.


#16

@padpad There is still consensus on the global state (ie the state merkle root). In current designs, full nodes store the full state of the chain such as the balances of all accounts. When someone wants to make a transaction, mining nodes can easily do a merkle proof to verify the users balance and check that it is included in the merkle root, since they have all the relevant data.

In stateless designs a node validating a tx might not immediately have the state data required to make the proof. However, if that data is provided by another node or the person making the transaction, they can still construct the necessary proof.

Thats my current understanding of it at least!


#17

So the Stateless Client… yea, that was not a 6-minute read lol! :laughing:

My mind goes Explain like I am 5 (ELI5). So this what I get from it.

Dude, we can separate state and witnesses into separate pieces of data. Then some people (nonregular full nodes) would only store state data, and miners would only store the witnesses. Of course, some regular full node would also store both state and witness data.

So in this scheme, you would have 4 parties. Regular full nodes (we store all the data guys!). Minners (we mine blocks and witnesses). And Stateless nodes where they would only store the root state (not all states). Translator nodes (we are a go-between regular and stateless full nodes).

To get the full data, you’d need to input witnesses + the root state. If you are a stateless node, you’d go to your friendly neighborhood translator node to get witness data and then broadcast it on the regular network.

At the end Vitalik is like, “In practice, we expect the number of “archival nodes” that simply store everything forever to continue to be high enough to serve the network until the total state size exceeds ~1-10 terabytes after the introduction of sharding, so the above may not even be needed.”

Either this means, “gang, no need for this, with sharding, we no longer need archival nodes” or "gang, with sharding we don’t even need stateless clients since every client is basically a mini minner/validator of a small piece of the blockchain (the shard) relevant to them.

Not entirely sure which one he means… :confused:


#18

He’s responding to the concern that if nodes don’t have to store the full state, eventually there won’t be enough “archival nodes” (nodes that continue to store the full state for the main chain and all shards) to guarantee data availability for stateless clients. He’s saying he thinks it won’t be a problem because there will be enough people willing and capable of being archival nodes.

That said this thread is getting pretty off topic. Unless you guys want to build a stateless client implementation :smiley: it might be a good idea to start a new topic for stateless clients.


#20

True that! I made an off-topic / random thread! :smiley: I am a minimalist. Don’t want to clutter the forum with too many topics for each conversation we have.