Skip to content

Instantly share code, notes, and snippets.

@johncantrell97
Created April 23, 2019 16:45
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save johncantrell97/4a58d9505ff11df9f4c42cf1e3215c96 to your computer and use it in GitHub Desktop.
Save johncantrell97/4a58d9505ff11df9f4c42cf1e3215c96 to your computer and use it in GitHub Desktop.
Announcing Ordo: A Satoshi's Treasure Bot for Team Management, Decision Making, and Puzzle Solving

Hello again.

Today I am announcing a project I have been working on to help those on the Hunt for Satoshi's Treasure. Watching the first few teams of Hunters develop I saw the same discussions happening over and over again.

The first question on everyone's mind was how are we going to fairly distribute the prize money if we win? It seems like one of the most obvious ways would be to just distribute the prize equally between all 400 keys. The main problem with this approach is that many team members will likely contribute to the discovery of a single key. The other potential issue is that some keys are easier to find than others and you might want to weight them differently.

The next question I often heard discussed was what about people who contribute to the teams in ways that are not directly related to finding a specific key? There are so many different ways someone can contribute to a team. What if someone helps recruit an amazing hacker or the person who lives in that missing geographic region? What about the person who organizes and maps team member locations? What about the person who builds that tool that everyone finds useful? As you can see there's a lot more to running a team than just finding the keys.

Another major issue I heard was about the actual sharing and verification of the keys themselves. How do teams manage this? Do we have a trusted leader who holds all the keys and then we hope they do not run away with them at the end? Do we all withhold our keys and only submit proof to verify we hold them as we go along? Do we invent and implement some kind of complicated trustless cryptographic solution? This still feels like an open problem and there might not be a truly trustless solution. Regardless, the ability to verify to a team that you found a key seems like an essential tool for any teams toolbelt.

Finally, one of the other things I noticed was that teams were full of people with very diverse backgrounds. People were extremely knowledgeable in so many different fields including things like literature, music, arts, philosophy, science, cryptography, etc. This means a lot of people are not familiar with many of the tools and cryptography that might be needed or at least extremely helpful when solving many of the puzzles in this adventure.

Introducing Ordo

Ordo was built with the intention to address as many of these concerns as I could. You can think of Ordo as having four main features that all work together to efficiently run a team.

Democratic Decision Making

Don't let a single trusted leader make all the decisions for the team. Anytime there is a question that should be decided by all members on the team just create a new vote and let the team decide. Easily let members cast their vote publicly in a channel or privately via a DM to Ordo.

Contribution Tracking

Track any worthy contributions made by team members. Can be useful for distributing a portion of the prize pool based on contributions or to rid your team of freeloaders who never contribute anything. Use this in combination with team votes to decide on contributions in a democratic way.

Key Verification & Sharing

Use this to prove ownership of a key without revealing it to anyone. This will also record a timestamp of when the proof was provided and by who. This will help your team distribute the prize pool based on who contributed which keys. Ordo also supports sharing credit for a key with other team members. This feature is currently unavailable until the Satohi's Treasure team releases Pedersen commitments or public keys for each share so that I can implement a verification scheme.

Puzzle Tools

Currently, Ordo only supports sha256 calculation as an example of what is possible. I will be quickly adding dozens of tools to be easily accessed directly by Ordo. This can include anything from running steganographic analysis on an image to a simple xor operation. Give your team access to the best tools without needing to leave the discussion.

FAQs

  • What platforms does Ordo support?
    • Currently, Ordo only works on Discord. Support for Telegram and other platforms are coming soon.
  • How much does Ordo cost?
    • Ordo is free! It is my contribution to the Satoshi Hunt community.
  • Who can start a team vote?
    • Currently, only the owner of the Discord channel can start a vote. This can easily be extended to any members with certain roles and permissions.
  • Can I cast a vote without other members seeing my decision?
    • Yes! Just cast your vote directly to Ordo in a private message.
  • Can I vote more than once?
    • Each member can only vote once. If you cast a second vote it will override your original vote. You can continue to edit your vote until the team vote is closed by the administrator.
  • Who can log contributions?
    • Currently, only the owner of the Discord channel can record a contribution. This can easily be extended to any members with certain roles. It will also be possible to have a contribution recorded as the result of a team vote!
  • How do I know when new features for Ordo are released?
    • Follow @johncantrell97 on Twitter. I will be announcing new features as soon as they are released. You can also ask Ordo with the help command: ordo.help()
  • I have a great idea for a feature or I found a bug, what do I do?
    • For now, you can send any feedback to me directly on Twitter @johncantrell97.
@davendrabear
Copy link

This is awesome, excited to present this to my group and try it out! Thank you for all your hard work :)

@SamSamskies
Copy link

SamSamskies commented Apr 24, 2019

@johncantrell97 how do we get on your team? 😁

@kirit93
Copy link

kirit93 commented Apr 24, 2019

This is fantastic! Thank you :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment