Skip to content
This repository has been archived by the owner on Nov 5, 2021. It is now read-only.

Decentralart #66

Closed
andytudhope opened this issue Dec 28, 2017 · 5 comments
Closed

Decentralart #66

andytudhope opened this issue Dec 28, 2017 · 5 comments

Comments

@andytudhope
Copy link
Contributor

andytudhope commented Dec 28, 2017

Preamble

Idea: PROC066
Title: Decentralart
Status: Draft
Created: 2017-12-28
Requires: #4 (well, we require the ability scan QRs from a DApp, which is part of that idea).

Summary

Build two pieces that integrate Status into the #ArtProject started by Truebit and Jessica Angel.

Swarm Participants

Product Overview

Truebit is working on a Dogethereum bridge, which will form the heart of the #ArtProject. This work will be about bridging many different things: Dogecoin and Ethereum; ethereal transactions and real world interactions; networked relationships and the people behind them. As Anne-Marie Willis suggests, we create our spaces and, in turn, they create us back. We are organism-environments that are in a constant dialogue, both with ourselves and with the world(s) around us.

Given the emphasis on the idea of unified networks, I think Status can play a big role in this #ArtProject in the 2 ways outlined below.

Product Description

This product will have 2 distinct parts:

  1. Jessica is looking for mini art installations that will live within the structure itself. I think we should put 12 QR codes throughout the physical space that people have to actually walk around/explore/interact with the piece to find. When they find them, they can be scanned with Status. This initiates a simple call() to a smart contract; which is neat because it doesn’t require any gas, so anyone who has just got Status installed doesn’t need to worry about funding their wallet before being able to interact with the piece. Each call will return a string, which can be one of 12 words. Based on these 12 words, we can have 2 different prizes.
  • The twelve words can be used to reconstruct a private key. The words are not stored in order in the smart contract, and the live contract will only be created just before the event starts. The only clues to the correct order will be on the physical art work itself. Seekers will be able to submit the order they think it is to a simple bot, which will either return Sorry, that's incorrect, or provide them with the password required to access the new Status account with the reward in it. This both ensures that there is maximal interaction with the artwork, and shows off a good (but simple) portion of what is possible with Status. Ideally, I'd also like to see each submission to our bot fire off some more lights/interactive pieces, but that is for a later iteration.
  • The 12 words can be used to reconstruct a poem. Whoever reconstructs the most compelling poem can be issued with a reward. Money is again indistinguishable from speech - so let’s leverage that!

1a. Thanks to input from Will King and others, we are extending this part of the DApp to also include the ability to win NFTs with unique and beautiful digital art work made by Jessica Angel et al. You will be able to find digital pieces within the physical structure! :mind_blown: More info can be found here.

  1. The project is all about unified networks, about building and activating bridges. One of the core and most cherished principles at Status is that everything we build is decentralized and that we use only protocols that are native to Ethereum; protocols which are part of the web3 stack so that we can realise the possibilities implied by all the decentralized things.
    We, too, act as a bridge between privacy and personal connection; between self-sovereignty and sustainable communities; between humans and a new class of technology. This means that we have a great opportunity to add to the actual presentation of a unified network.
    I would love to see a web of light intertwined with the transactional Dogethereum bridge that shows off whisper messages being sent with Status. This means that the artwork will present not only transactional data, but also chat messages happening by means of the same technology. This is the power of Ethereum, right? A general purpose blockchain; the decentralized backbone on which we can construct a different way of transacting and interacting with the digital world. A different way of being in the future.
    It’s not only about people sending cryptocurrencies back and forth and interacting with smart contracts, but also about them chatting directly with each other and discovering a new world from their pockets, all in a way that does not require any intermediaries and which cannot be tracked or traced easily.

Requirements & Dependancies

We require some work on the API (most likely by @janherich and @jeluard and maybe @alwx) in order to make sure that we can access the camera through at least a DApp.
Would likely be nice to have a designer's input on any welcome screens/educational content we might want to include in the DApp part of this idea. As it is, I plan to work off some of the designs here.

In case you're thinking that it'll be too easy to decode the smart contract: not only are the words not in order, not only is the account still password protected, but we will deploy from a random account and use different key words so that no-one can easily search bytecode. Even if someone does find the contract, we have approximately 3 hours before they can brute force it.

Minimum Viable Product

Goal Date: 2017-12-28

Description: A very light PoC can be found here. Open Status and, using Console, @browse to https://andytudhope.github.io/StatusSeekers. I have deployed the contract on Ropsten and hitting the button will return you, randomly, one of the 12 words required to reconstruct the reward account.

Dates

Iteration 1

Goal Date: 2018-01-21

Description:

  1. Implement QR code scanning in the DApp.
  2. Make a nice welcome screen/splash page.
  3. Implement ability to store 12 words and move them around easily on the DApp page.
  4. Write bot that accepts 12 word strings, checks them and returns either Sorry, that is incorrect or the required password.
  5. Implement ability to submit 12 word string directly from DApp to bot for intuitive experience.

Testing Days required: ~1 day

Iteration 2

Goal Date: 2018-02-20

Description:
Have any call to the bot fire off an event that can be used to control lights/some other physical hardware that can be incorporated into the artwork itself.

Iteration 3

Goal Date: tbd

Description:
I'm not sure how feasible the 2nd half of this proposal is, in terms of our ability to translate whisper messages into a physical structure given the totally decentralized nature of the beast. I can't imagine how it might work without some element of centralization, which is never going to (and should never) happen. Perhaps we can watch messages over a few of our own mailservers/masternodes, but I am not sure about this.
Require feedback from @oskarth et al before putting a date to this and discussing it's viability. The #ArtProject is only scheduled for mid-2018 though, so we have some time and this might be more sensibly discussed after releasing Beta and when we have fewer moving parts.

Success Metrics

  1. 500 people download Status to interact with the art work.
  2. 1000 people into Riot before and during the exhibition.

(More non-tangible):

  • Can people interact easily with the artwork using Status?
  • Does that interaction show off a wide range of what is possible through our app?
  • Are we able to give a beautiful, captivating and tangible translation of what we are building in digital space?

Supporting Role Communication

Jonny will handle the marketing side of this, in tandem with Hutch and I from the community perspective.

Copyright

Copyright and related rights waived via CC0.

@jeluard
Copy link
Contributor

jeluard commented Dec 29, 2017

I love this idea! I'd like to commit some hours per week.

@alwx
Copy link
Contributor

alwx commented Jan 8, 2018

Amazing idea. If there are still slots left for developers, I would like to join and spend ~20h/w working on it.

@andytudhope
Copy link
Contributor Author

andytudhope commented Jan 8, 2018

@alwx awesome stuff! There is definitely still room left for devs. Currently 2 big things to be worked on.

  1. Perhaps you could help @janherich with status.response no longer works status-mobile#2855 and Cannot Scan QR code from DApp status-mobile#2854. These 2 issues are critical and it would be best, imho, if you started with them?

  2. I want to have a really nice splash screen that is 100vh and, when you tap it, it disappears. Something similar to Onboarding experience #24 (comment), but with some helpful tips to using this particular DApp. Was experimenting with a very naive module on the splash branch: https://github.com/andytudhope/StatusSeekers/tree/splash but am not happy with it at all.

@andytudhope
Copy link
Contributor Author

andytudhope commented Feb 5, 2018

Update on the current state of this swarm:

  1. We have implemented a safer key words contract that sue hashes and nonces and is reusable here.

  2. We have added the idea of levels into our NonFungibleCollectable contract so that each time someone scans a QR code, the contract will check which level they are trying to claim and either revert or issue them a new token at the correct level. Each level is intended to be a dimension (this, after discussions with Jessica). As you move through the physical structure, interacting, exploring and scanning QRs, you can build your own, unique, virtual cryptocreature in 12 dimensions.
    Very excited by this idea, you can see all our unit tests running well (with Ganache, that is - some weirdness in truffle develop handles reverts/exceptions wrongly).

Next steps

We have found someone else to help with some creative direction and tools on how we can procedurally generate images client side on a phone to correspond to each levelToken and render a creature/image in more and more dimensions that nevertheless remains unique (based on 40 bits input initially, then 18 bits for each of 12 levels).

We need to write a light server that can handle some of the signing required for verification etc when claiming these tokens. We need to think and test a little more around gas usage here as well. Obviously, the key words are just call()s and so are free, but the NFT stuff is not and there are a bunch of different ways we could potentially handle it for the smoothest user experience possible.

Oh, we also really need @jeluard to fix the damn Media API so we can actually scan QR codes 😉

@oskarth
Copy link
Contributor

oskarth commented Apr 6, 2018

Closing this issue as part of spring cleaning. If this idea is still relevant, please submit a PR per https://github.com/status-im/ideas/#contributing. If you feel closing this issue is a mistake, feel free to re-open.

@oskarth oskarth closed this as completed Apr 6, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants