Concise Research Topics


#1

Hi cryptoeconomics people!

Here’s the question. I’m going back to school and have the opportunity to do economics research for a class. Are there any pieces of problems which could be bitten off by a novice researcher in about 10 weeks?

I was at CESC and there were talks about the decentralized oracle problem, but it’s hard to find a concise question to answer. Though probably being a good researcher involves asking a good question as much as answering it no?

Any advice is appreciated.

Much love.


#2

Hmmmm well I’m not an expert but from what I know the decentralized oracle problem is Hard (with a capital H). Auger and similar crowd sourced intelligence/sentiment platforms are addressing this for various use cases.

That being said, if you’re doing purely economics research I’d say that incentive alignment in positive sum games would be a great place to start. Arguably, the superpower of blockchains is that they incentivize people to do stuff, but in a way where everyone pursues their individual interests. This creates positive sum games without altruism or the need for trust beyond trusting that people are selfish and economically motivated. This ties into blockchains and cryptoeconomics directly because for this to work:

  • the economic rewards/punishments need to be salient for people to actually want them and work for them
  • the enforcement and verification of following the protocol (and thus receiving said rewards/punishments) needs to be unquestionable.
    This is why it works so well in blockchains (but less so in meatspace) where the protocol is written cryptographic code which can be checked rather than trusting people’s promises. Blockchains aren’t “trustless”, but they compress trust in the small game (blockchain protocol) to just the code. Of course there’s always factors and incentives outside of the protocol that can influence on and off chain behavior, but getting the cryptoeconomics of the protocols right is a good start.

Happy to jam on that anytime if you want to talk/explore more :slight_smile:


#3

Hey, thanks for your response. You hit it better than I could’ve.

Yeah it’d be great to chop it up some time and boil down what you posted into a researchable form.

Economics research in general is new to me, so not sure what we could go for. I mean there’s mechanism design. I guess there’s predictions about what the blockchain based incentives will do for society in the long term.

You could maybe research ways to make the incentives more, as you said, salient.

Just spitballing here, but I’m happy to talk. What medium works for you? Zoom?


#4

As I see it, all of the different “gadgets” being used and explored in the blockchain space contribute to designing mechanisms that align the incentives of all parties involved in a positive sum game. How to best do that is often circumstantial and based on the community and it’s goals, and best practices are constantly evolving. The key thing is to keep exploring and testing (in a safe environment) so that you avoid man w hammer syndrome and innovation gridlock. The ethereum community is great at that so I’m excited to see how projects develop. I think the first step would be cataloging all of the “tools” that are being used into a “toolbox” that people can reference to better understand the space. That would be a great research endeavor (and one I’m sadly a little too overwhelmed to pursue atm).

Regarding affects on society long term, I think there’s more to be learned from things that don’t change than the things that do (history > tech). Societies that have learned to cooperate and resolve disputes have evolved and succeed, and those that haven’t failed. Blockchain technology has the potential, but not guarantee, to create mechanisms that allow people to pursue their own interests while also preserving and supporting the commons: things that benefit all parties involved. If this can be achieved many zero-sum games would become positive-sum games, many “markets” that are currently closed due to a lack of trust could be opened, and many altruistic actions could be incentivized and measured directly. What gets measured gets managed though, so this begs the question: what are we optimizing for? Those who design systems and their rewards/punishments will be setting norms and expectations, which requires understanding human desires and biases while also shaping them. This is also a Hard problem (with a capital H), and why it’s so important to focus on making systems resilient so that they don’t become captured by a specific parties interests at the detriment of all others involved.

Not a fan of any programs that have any type of remote access to devices lol. Happy to talk on here though, and hopefully the rest of the community will jump in too. Not sure what happened to @karl and the rest of the crew that started the forum tho ¯_(ツ)_/¯


#5

Sweet. This is super helpful. Compiling a list of incentive gadgets sounds plausible. I guess they would be value neutral. Like they would be tools but not for specific human values, like no tools for incentivizing climate change action. Or maybe that would work as long as they were categorized as such.

So what’s an example of a gadget? I’m watching Karl’s talk about Programmable Incentives via the Awesome List you posted. He gives examples like hash functions and digital signatures, voting rights, and tokens. I guess those are some building blocks. He cites certain values as good, (open access, trusted execution, even a more equitable world), but maybe those are implicit in blockchain systems.

I like the idea of breaking down the tools. Obviously, putting them together may not result in a sum of the incentive parts. Complex systems…


#6

Like what’s an example of a positive sum game? Bitcoin is, I guess. Miners make money, users get a permissionless way to keep and send money across borders.

I’m wondering if smaller scale ones can be made. Like a market for trash pickup in a city or something. That takes us to the meatspace though.


#7

Oh man… so much to unpack here. Sorry for the rant, but it’s my best attempt at sharing ideas that aren’t just dismissive and pessimistic but aren’t overly optimistic either. Hopefully as more research and experiments are carried out theories on cryptoeconomics will become much more actionable and articulate!


Regarding gadgets and stuff that can be used as building blocks to do stuff in the real world, let’s try to break it down by first principles and then build it up from there.

Tools: things like hash functions, encryption algorithms, tokens (note: a toke by itself is not an incentive, but simply an exchangeable entry in a ledger), random number generators, etc…

Tools can be used to build things, often called mechanisms or gadgets: commit/reveal schemes, signature attestation, public/private key systems, state machines, zero knowledge proofs, PoW/PoS games, etc…

Protocols are then small mechanisms/gadgets that can be composed into bigger things (just like sheet rock, doors, and concrete are combined to make a house): digital signatures + hard puzzles = PoW, random oracle + committed stakes = PoS, commit/reveal schemes = voting, public/private key systems enable secure accounts and messaging / data transfer, etc…

These examples are EXTREMELY simplified and not to be used as a ground truth for any type of analysis or categorization, but the idea I’m trying to communicate is that larger outcomes like “save the world” are made up of lots of moving parts that are made up of moving parts that are made up of moving parts, etc… This is often why people refer to the blockchain space as being in the infrastructure phase and not the end user or world changing phase; people are still figuring out the basics and building foundations for more to come.


Regarding smaller markets for charity type stuff, I recommend these:

My current thinking on charity through marginal price discrimination is that while it’s awesome (literally my favorite post in the blockchain space, ever) any mechanism that enables you to give discounts to something like a charity or those who contribute to a public good can also be used to promote censorship and cartel like behavior. Since all transactions and accounts on Ethereum are public, it would be trivial to create an “in” group and an “out” group to make prices higher or restrict access for anyone you don’t like (say if your account holds a competitors token – all the way up to a Chinese Citizen Score, but for the blockchain). A large player in the space (like Consensys) could do this. Not that I think they will anytime soon, but they could… Networks that have privacy on by default (future Zcash, Monero, and Grin) have a chance to resist a lot of this censorship type behavior, but cartels can still form in any environment that promotes collusion, albeit less effectively and with more information asymmetry.

This is sad… and I’m hoping that by studying and exploring cryptoeconomics we can contribute to creating outcomes that are win/win for all parties involved (positive sum), rather than a win for a few parties who control power/norms and a loss for everyone else (zero-sum). I really really like positive sum games and would like to find better ways to promote collaboration and innovation in the commons, but as you can see with the ethresear.ch discussion, it’s much harder motivate a group to do something that benefits them all than it is to motive an individual to respond to a bribe/reward, esp at scale: and Ethereum is all about scaling lol.
Btw, in any positive sum games participants create value whereas in zero-sum games participants compete to control value that is already there. I strongly believe that any successful blockchain community needs to be positive sum and directed towards innovation, otherwise the energy will be directed inwards resulting in a civil war and fork (as we see all to often).

While the outlook for altruism within the Ethereum (or any blockchain) community is not rosey… there is work that was done that shows that collective maintenance of the commons is possible! but only in small groups that establish reputation and hold each other accountable (consequences not just for today but the future as well). This was explored in the idea of Common Pool Resource groups, which earned Elinor Ostrom a nobel prize:

Conditions necessary for a stable CPR:

  • Clearly defined boundaries
  • Congruence between appropriation and provision rules and local conditions
  • Collective-choice arrangements allowing for the participation of most of the appropriators in the decision making process
  • Effective monitoring by monitors who are part of or accountable to the appropriators
  • Graduated sanctions for appropriators who do not respect community rules
  • Conflict-resolution mechanisms which are cheap and easy to access
  • Minimal recognition of rights to organize (e.g., by the government)
  • In case of larger CPRs: Organisation in the form of multiple layers of nested enterprises, with small, local CPRs at their bases.


    If you can figure out how make this scale, you might just have a billion dollar idea :wink: but in order for it to scale you’ll have to understand the various tools you can use to build gadgets, which you can then combine into systems, which… if people actually use them beyond mere speculation, can then slowly change people’s thinking and actions over time… which is where the real scaling happens.

#8

Hey, thanks again. Super interesting. I also got interested in organizational behavior from personal experience and the feeling that, damn, there has got to be a better way to organize people. There’s often little incentives for individuals to optimize a system, and often even a disincentive because they would have to ruffle feathers, and make people adapt to their proposed changes.

I’m reading the Evonomics article. Yeah, scale is so important right? I read Nassim Taleb’s Skin in the Game recently and he also talked about how different rules work at different scales, so simply adopting the same protocols at larger and larger scale is probably not the solution. Meaning you’d have to have certain triggers, probably not as simple as group size, but some somewhat correlated milestone, which would change the rules of the game as the organization scaled or people slid between organizations.

I’m still digesting Vitalik’s articles. But yeah, any way to leverage giving discounts based on stickers cuts both ways right? Maybe that’s just part of the deal though.

Oh I started a web app, which very primitively hoped to address some of this stuff.

http://happenif.com

I worked on it before I realized that of course, ideas surrounding bottom-up organizational behavior has been discussed for decades on decades. Also I figured out how hard it is to do stuff alone and also how damn sophisticated it would need to be. Meaning the gadgets outlined above would need to be used intelligently.

But hey, let’s keep kicking this stuff around.


#9

Cool idea! I like how it’s simple and intuitive: X happens if Y amount of people vote on it. Frankly, while there’s no code, and a million attack vectors, the idea and branding are solid. This relates to cryptoeconomics because security at the cost of usability comes at the cost of security; people won’t participate in voting systems or complex market games if they don’t understand what’s going on. Your idea makes it easy and also has immediate real world use cases rather than trying to jump to world governance on step 1 (as many projects claim to be doing, sigh…). I think that’s the key for adoption honestly, rather than saying you’re going to revolutionize x, y, or z just start with a simple problem, and solve it.

If it’s helpful, here’s the current value prop I see for happenif: solve simple problems. Life would be 10X better if we could solve the simple little things, but often either we don’t have the time/energy, or we bikeshed them to death and nothing happens. HappenIf could reduce that friction so that you can move forward and focus on what matters.

Have you thought about adding anonymity to the system so that ideas can be proposed, discussed, and voted on publicly, but in a way where people focus on the issues and solutions, rather than each other?

Also, have you explored believability weighted voting? It’s what Ray Dalio and Bridgewater Capital do to make effective decisions in a relatively transparent and honest way. It’s implemented in the context of a hedge fund, but the main idea is that people have circles of competence and their votes in the areas they know a lot about should count more than those who don’t. For example: the marketing team has much more of a say on what font the logo is (even if developers hate it), and the developers have much more of a say on what language the software is written in (even if the marketing team thinks Rust sound “off brand”). Projects like Colony are working on an Ethereum implementation of this.

Furthermore, all of the tools you need to build the app are avialable, now. I’d recommend:

  • jumping over to https://ethresear.ch and checking out all the discussions on voting and governance there
  • reading Vlad Zamfir’s blog posts
  • and exploring the cryptoeconomics of small games vs large games, where bribes and censorship outside the protocol can and will be exploited. Nick Szabo’s post on small vs large games is a good start.
  • oh, also if you don’t want to reinvent the wheel Substrate will (hopefully soon) have templates for a lot of the boilerplate stuff that goes into rolling a blockchain, (theoretically) allowing you to focus on the unique properties of your implementation and protocol. You could also extend this out as much as you wanted into the future which is a nice option if you realize you made a mistake and need to upgrade/change something core to the protocol.
  • You could also roll it as a contract on Ethereum, but… there’s a lot of security vectors to consider such as solidity contract code, IP leakage via tx submissions, and just generally the fact that everything’s public and expensive (gas). I’m not an expert though, so DYOR!
  • as a mimblewimble/grin implementation, it might look like a paired down mechanism where you have a KYC to verify 1 person 1 vote (the same way that Signal verifies contacts without leaking information), and then that user can submit a vote to the network via a zero knowledge mimblewimble tx. Everyone has a share of the ledger and the network verifies that all votes are valid. Voting could end once all inputs are spent, or after a certain amount of time/blocks. You can roll this out as a web app that faces users where they trust the nodes that are running (yay, node collusion and 51% attacks), but also have the option to run their own node to verify the process is valid. Of course miners would have to be incentivized to participate, and secondary markets would form for vote trading, and all sorts of other problems that come with decentralized networks. Eventually you might be able to get around that via consensus hub and spoke models like Polkadot, but that’s a ways out.
  • You could also just implement this as a regular old database with zero knowledge crypto applied to verify identity/voting as well as that the result is authentic. This is possible, but I don’t know enough about STARKS/SNARKS to sketch it out. This might be the best scenario for a limited application, but would be limiting if you want to scale it up.

Regarding anonymity and all the points that can (and will) leak data and why that ruins markets, consent, and censorship resistance… it’s complicated. Péter Szilágyi had a talk at devcon4 starting to explore this, and other projects like Zcash, Grin, and Monero are creating solutions too. Frankly I think this is the most important and underrated aspect of the space right now because censorship resistance and cryptoeconomics go out the window once large entities like miners, exchanges, or app/service platforms decide to perform network analysis and block some users/tokens but let others through. Then it just becomes a decentralized blockchain protocol with walled gardens built on top. In a more concrete sense, for this voting application, if votes are public people will feel social pressure to vote in ways that might not align with their inner desires, and then outside forces could monitor such a scenario providing incentives or punishments for acting or voting in a certain way (at an extreme like the Chinese Citizen Score or voting in Venezuela, but free coffee might work too).


To bring this full circle to your original post on concise research topics… it’s tough because everything to do with cryptoeconomics is very interdisciplinary combining protocol development, cryptographic tools, game theory, and so much more. If your goal is to choose 1 thing to focus on for a few weeks, I’d say work on a project. You can spend years doing research going off on tangents (as I do), but with a real usecase you’ll start to understand how these abstract ideas fit into a real world scenarios, what works and what doesn’t work, and all the new problems and edge cases that general discussions don’t address. There’s lots of white papers and theories out there, but making it real is the hard part so I’d focus on that and you’ll learn what you need to get it done. Things will make a lot more sense through the lens of real goals and incentives vs abstract armchair philosophies.

Hope that helps (and makes sense). Happy to jam on (or try to explain) any of this that’s interesting :slight_smile:


#10

Man Burrrata you’re everywhere! Saw you on a USV post too. This one.

http://www.usv.com/blog/looking-for-syllabus-20

Thanks for thinking about the application I worked on.

Yeah anonymity would have to be part of it. I also thought votes could come in the form of micropayments. Like you vote with a little payment, if some threshold was crossed the payments would go to the person who proposed to be compensated for their good idea. If the idea doesn’t “pass” then the payments would go back to voters. So it’d be a win-win for voters.

The threshold for when a vote passes, what that means, its permanence, what information is available to which users and when, are issues that need to be worked out.

Then there’s tons of technical stuff as far as rigging a blockchain into the whole thing. Definitely never done that before.

Weighted voting is definitely relevant. Another solution would be to have some light barrier for entry for some groups. Or both those things could be employed.

I’m going to try and digest the links you sent. But it’ll take awhile.

So much work to do.

This is plenty to chew on.

Thank you so much for putting in the effort in responding to me. It is so encouraging. Hopefully we will keep interacting on this forum! Or I will see you in random corners of the Internet!


#11

I like this! People are encouraged to propose things they know people actually want, and people are only encouraged to vote for things they actually want that they’re willing to pay a little for. Also disincentivizes spamming the system with random votes. Sounds like a win/win :slight_smile:

Trying to think if there’s easy ways to game that system… but if the vote proposals, voters, and individual votes were private then that stops most of the potential manipulation. The one thing that’s coming to mind atm is that someone could publicly announce that if X passes they’ll give everyone Y amount of free stuff/tokens. Of course this wouldn’t tell them who voted for what and who did or didn’t vote at all, so they’d have to pay out everyone and not just those who supported their proposal, but it still might be annoying.


#12

That’s true about a person publicly advertising something passing. I can’t really think of a solution off the top of my head.


#13

If you’re still interested in exploring the voting systems, these resources might be a good way to understand and cap downside risk associated with vote buying, signaling, and general manipulation of the small game (voting protocol) in the larger game of life (economic incentives, marketing, etc…):


#14

One question from me would be : what qualifies an individual to be a “decentralized” oracle?


#15

Thanks burrrata. I read the coindesk one.

Becoming an expert is like in football when you leave the ground to catch a pass. You can get crushed with your feet off the ground. That’s what it feels like to me. It’s scary.


#16

@rouslan In what context? Can you please be more specific?


@owenfernau Join the club! Hard things are hard, but you’ve gotta break a few eggs to make an omelette. Sometimes you’re the egg, but you might also metamorphosis into a beautiful butterfly :bug::sunglasses: => :boom::dizzy_face: => :face_with_head_bandage::cry: => :thinking::bulb: => :rainbow::butterfly:. A quick search for “The Dip” or “Trough of Sorrow” might help. From my experience the concept applies not only to individual endeavors but larger market cycles as well. As Ray Dalio of Bridgewater ~says: “pain + reflection = learning”.


#17

Okay @burrrata. You’re my guardian angel now.

Yeah, got to make sacrifices in other areas of life to free up the time.

The most fun is the thinking about saving the world part. But 99%, for me, is grasping the technical tools, and gadgets, framing, better smaller questions, from the big, idealistic ones.

Hopefully I can push the app, and some of the research required, forward this summer.

ありがとうございます。後でまた話しましょう!


#18

Cool! :slight_smile: (not the guardian angel part, but the learning part lol)

Regarding time, have you explored the Tim Ferris show or the 4 Hour Workweek? If not I recommend giving them a good search. They have tons of resources on optimizing time management by either automating repetitive tasks or just saying no to stuff that’s irrelevant.

If you’re into Rust I’m rolling a bunch of tutorials that will hopefully help make the technical tools easier to understand. My goal is to make them as simple as possible so that they’re easy to understand and can be explored in the browser. I just started on them last week so they’re a WIP, but if you’re so inspired I’d love feedback! There’s also a TON of resources available in the Rust community to get started with that language in general and people are usually super friendly (which is honestly the main reason I love Rust so much).

Also if you’re into JS and/or want to dive right into the standard Ethereum libraries the Cryptoeconmoics.Study code is great, as is the Consensys developer tools list here and here. The “official” or production ready Ethereum tools change, fast, so if you’re rolling something for production always double check to make sure your libraries/tools/best practices are up to date. If you’re just building stuff for education/entertainment purposes then you get to roll your own which I think is infinitely more fun lol (and also helps make ideas more concrete)

Oh! and regarding saving the world, I just stumbled across this post by Paul Graham that you might appreciate. Btw, his website’s content is as awesome as it is old school, so I highly recommend exploring beyond just this post too if you like it. Many of the posts are framed in the early 2000s, but the ideas are timeless. Bonus points because you can compare his ideas and predictions made back then to what actually happened and learn from people’s mistakes. The “don’t be evil” part in this post is a great example.


#19

Hey Burrrata,

Thanks as always.

Okay, yeah I did read 4 Hour Workweek, but could probably review it, and Tim’s show for the first time. Another hangup might be trying to do it all myself. It’s discouraging and leads to wheel spinning, at least for me.

I don’t know much at all about Rust and am reluctant to spend the time learning a new language, but maybe if it’s a more permanent way to work it’s worth it. By permanent I mean, feeling like an app you make could have similar code 10, 20 years from now, instead of working with JS, it felt like everything I was writing was based on the framework and would mean sh*t once the framework changed.

Maybe that’s just the way the web works though. It’s only going to get easier to make applications. I’m ranting now, but for some reason the impermanence of web development is dispiriting. I like the blockchain because it gives a sense of history to the web. The web right now feels like a place where you can litter and it doesn’t matter. No definitive consequences. I think web3 will change that feeling we have. Like maybe if you do have to retool your app at least it’s hanging on permanent distributed information, instead of something that could disappear.

What do you mean “roll your own”? Just use whatever tools you want and then deploy and hope it works for awhile? Or just get it to work locally to learn something?

Regarding Graham, I thought I’d read all the good ones! But that one looks awesome. His writing is so content rich. Thank you!


#20

What do you mean?

SAME. Those were my thoughts exactly, but that’s actually why I’m learning Rust too. All my favorite projects seem to be using Rust or moving towards it and all the developers I’ve talked to have great things to say about it. Bonus points because:

  • Rust forces you to understand a lot of the computer science concepts that also apply to systems like Ethereum (whereas with Python and JavaScript just abstract that stuff away and you would never know).
  • Rust is a compiled language, so as far as I know, if you write something that works and compile it, it’s set as a working piece of code that any computer can use. If you want to upgrade it you’ll have to recompile it, but as far as it working in the future everything it needs to function should be self contained in the compiled build.
  • There’s also a great Rust community and vibe, and frankly that matters more and more to me because it’s where I’m investing most of my time. You’re right that everything’s constantly changing and people are, well… people (fancy monkeys), but I just see that as even more reason to do something you like with people you like.

So I’ve been reading about a lot of stuff for a long time, esp regarding blockchains and Ethereum. It wasn’t until I started building things, and lately rolling a “blockchain” demo, that it really started making sense on a deeper level. Theory is great, but building stuff from scratch just makes it real in a way that nothing else can. There’s (almost) always going to be better production libraries out there for anything you want to do, and if you’re building something for production it’s probably best to use those, but if you’re learning nothing beats rolling it yourself from first principles. The more you mess up the more you’ll learn. There’s minimal downside and infinite upside :slight_smile: