---
# System prepended metadata

title: Denver Retrospective

---

# Denver Retrospective

Cursive partnered with [IYK](https://www.iyk.app/) at ETHDenver 2024 to put an NFC chip in every attendee's badge and digitize the event experience. Tapping another attendee's badge allowed you to share contact information and send them a digital signature representing the fact that you two met. Tapping NFC discs around the venue allowed you to receive a digital signature proving you visited a location, attended a talk, or partook in an experience. Quests required you to meet certain people or visit specific locations, and upon fulfilling those requirements you could generate a zero knowledge proof to complete the quest without revealing the individual signatures themselves. This was an experiment in data ownership - the signatures are private to you, and without knowing your signatures nobody can pretend to share the experiences you had. Completing quests allowed you to redeem physical items at the [BUIDLShop](https://x.com/iyk_app/status/1764058146459570535?s=20). 

![IMG_2442](https://hackmd.io/_uploads/Hyx1OXJkA.jpg)


Over the course of the event, there were:
- 12,000 people who received NFC badges
- 50,000 total taps (both people and locations)
- 3,000 zero knowledge proofs generated from quest completion.
In addition, the merch store [sold out](https://x.com/iyk_app/status/1764716089554895055?s=20) in 3 days.

## Lessons, Takeaways

#### Digital signatures are the most efficient way to digitize physical interactions
[Digital signatures](https://en.wikipedia.org/wiki/Digital_signature) offer numerous advantages that allow them to be the easiest ways to create secure, verifiable digital representations of physical interactions. First off, they are universal. Any device knows how to generate and verify digital signatures from standard elliptic curves, and this is a universal cryptographic standard that requires no custom knowledge such as a choice of blockchain or specific API. Secondly, they are portable. A signature from the [Baby Jubjub elliptic curve](https://eips.ethereum.org/EIPS/eip-2494) we use consists of 64 bytes (this curve was selected for its friendliness in generating zk proofs - more on this in a future article). It's easy to carry this signature around in local storage, and they can be used offline. Finally, signatures are composable. If you want to build blockchain based representations of physical interactions, you can mint NFTs or POAPs based on digital signatures - but the signatures themselves are the lowest common denominator. 

#### The potential impact of visualizing signatures depends on how directly users interact with them.
A common thread that runs through all iterations of our work is to give users palpable interaction with the technology. For this project, IYK commissioned generative artist [Stefano Contiero](https://twitter.com/stefan_contiero) to create visually engaging representations of attendees' Ethdenver experiences, calling them "stamps" in line with our [ZuStamps](https://cursive-team.notion.site/ZuStamps-Retrospective-09ad0b260088423c8ef52a15ad3d4b8c) project from Zuzalu in 2023. Each stamp, uniquely tied to a person or location, served as a mark of authenticity. Despite our enthusiasm, many users overlooked the interactive feature allowing them to scrub through the artwork's evolution over time and didn't immediately connect each image to a signature. However, when we highlighted this feature, conference attendees relished the dynamic visual experience, motivating us to further explore conceptual directions for signature representations.


#### Data ownership matters a lot to some, but most people stick with defaults
One of the experiments we wanted to run at ETHDenver was related to data custody and ownership. We gave users two options to custody their signatures - either you could choose **server custody** and have us store your data for you, in which case you trust us to not read or share your data but can't verify we didn't. This is the standard data model of the current internet. Or you could choose **self custody**, and only use our backend for storing encrypted backups of your data - the catch was that you would need to set and remember an encryption password. 

To learn about users' data preferences, we randomly decided whether a user would have self custody or server custody selected by default during registration. When server custody was pre-selected, it was chosen as the final option 58% of the time. When self custody was pre-selected, it was chosen as the final option 66% of the time. There was a slight bias towards choosing self-custody overall, but more people just chose whatever option was their default. The takeaway is that data ownership and custody is important, but often times what dictates user behavior is [communication and UX](https://www.notion.so/pse-team/Self-vs-Server-9217b83c87b94a29a3bf492dfb867ce3?pvs=4). 

#### NFC hardware has its tradeoffs
We tried two different chips at Denver: [NTAG424](https://www.nxp.com/products/rfid-nfc/nfc-hf/ntag-for-tags-and-labels/ntag-424-dna-424-dna-tagtamper-advanced-security-and-privacy-for-trusted-iot-applications:NTAG424DNA) chips from IYK for the main ETHDenver event, and NXP [JCOP4](https://www.cardlogix.com/product/nxp-jcop-4-java-card-3-0-5-classic/) chips from [Arx](https://arx.org/) for external activations. NTAG424's and JCOP4's represent two distinct points on the tradeoff spectrum of price, decentralization, utility, and tap experience. 

JCOP4's have a lot to offer when it comes to creating an end-to-end decentralized experience. They are capable of generating digital signatures from within the chip's secure element itself, and is programmable with arbitrary private keys and cryptographic functionality. That means that they are also capable of being crypto hardware wallets. On the flipside, they cost around $5/card at an activation of our scale, and carried a worse tap experience overall - to successfully background tap a JCOP4 for a card-generated signature, you were required to perform more of a "tap and hold", pressing your phone against the card for roughly 2 seconds. The range you could successfully tap from with your phone was also smaller, meaning you had to be more precise about where you tapped, which is difficult for people who have not tapped NFC cards before. The reason for this is because digital signatures are more complex computations, and the card requires a longer power draw from your phone to successfully generate the signature.

NTAG424 are simpler chips. Instead of generating signatures on the chips themselves, they would create a CMAC representing the tap that would be sent to IYK's servers. IYK would verify the CMAC with their own private keys, and then pass a uuid that allowed us to uniquely identify the tap. We would "redeem" this uuid and issue a digital signature to the user ourselves. Note that this creates two dependencies - on IYK's servers to be available and not generate fake taps, and on our servers to only generate valid signatures. However, NTAG424's cost around $.50/card and also offer superior tap UX - because they only generate CMACs, the tap is quite fast and reliable, even if you don't place your phone in the precise place. 

We will continue to explore the tradeoffs in the NFC space and share our findings. Overall, its a testament to the evolution of NFC technology over the past 50 years that we have so many distinct options to choose from.

#### Incentives are king, especially at ETHDenver
One of the main drivers of users going crazy about tapping was the merch store. IYK along with [Matter Labs](https://matter-labs.io/) curated a wonderful array of exclusive chipped goods from various designer brands, NFT collections, and other web3 friendly names that were in hot demand. Using these items as incentives made people run around and frantically find people and places to tap in order to complete the quests needed to claim the items. This in turn got many more people curious about the activation, which created a social loop that made a permanent line to the store. What many people appreciated about needing to complete quests in order to redeem items was that they had to work to achieve their reward. At the same time, the work they had to do (find people to tap) was highly achievable and quite a lower barrier to entry. It's clear that at least at an event like ETHDenver, well-placed incentives are what takes a social experience to the next level. 

![IMG_2429](https://hackmd.io/_uploads/SJ8KvQ1k0.jpg)


## What's Next?
We've got many projects and activations lined up ahead, so stay tuned. We're constantly thinking of new ways to adopt advanced cryptography in practical products, and have many exciting ideas to share with you in the coming months. In the meantime, if you have cryptography-fueled ideas or would like to collaborate, you can reach us at: hello@cursive.team. 

## Acknowledgements
We would like to thank our incredible partners and collaborators for making this experience possible:
- [IYK](https://www.iyk.app/) for finding this opportunity at the beginning and working tirelessly to make sure that every aspect of the experience was perfect
- [Stefano Contiero](https://twitter.com/stefan_contiero) for your brilliant art concept and the sheer amount of effort you put in to make it a reality
- [Matter Labs](https://matter-labs.io/), especially Amy, for coordinating so many different parties and providing us everything we needed to make this work
- [Clave](https://www.getclave.io/) for all your work in making the merch store experience wonderful
- [Summon](https://summon.xyz/) for your help in building the item redemption flow
- [ETHDenver](https://www.ethdenver.com/) for providing us with the stage and audience that allowed so many people to partake in this experience
- [Arx](https://arx.org/), especially Cameron, for your incredible effort in debugging issues we had with NFC cards 
- [Gauss Labs](https://github.com/gaussian-dev), especially Janmajaya, for spending so much time and effort on making FHE practical, and numerous debugging sessions to make it work
- [Mach34](https://mach34.space/) for helping us prototype a Nova integration that will be used at future activations :) 
- [ZK Email](https://github.com/zkemail/email-wallet) for helping us integrate email wallet NFT minting upon location taps
- [Privacy & Scaling Explorations](https://pse.dev/) for funding this work and supporting us through the process