---
title: "Johan Nygren"
description: "Named a proof of public key scheme Teikhos and put ETH behind five Ethereum contracts in 2018 to show nobody could open them without the key."
canonical_url: "https://puzzles.agntn.dev/authors/johan-nygren"
---
# Johan Nygren

> Named a proof of public key scheme Teikhos and put ETH behind five Ethereum contracts in 2018 to show nobody could open them without the key.

<author-facts author="johan-nygren">



</author-facts>

## Who this is

The GitHub account is `resilience-me`. Its repositories run from basic income and Ripple experiments to proof of personhood, Bitpeople and panarchy. The [TeikhosBounty](https://puzzles.agntn.dev/collections/teikhos) contracts were a side quest in early 2018. One address deployed all five in under three weeks and funded each one. teikhos/3 calls that address `bipedaljoe` and sends the ETH back to it if nobody wins.

What ties the account to the contracts isn't a claim, it's the code. A gist on `resilience-me` holds `ProofOfSymmetricKey.sol` with the same stored proofs as teikhos/2, posted 48 minutes before that contract went on chain. And the scheme got its name on the EIPs tracker a few days after the last deploy: `proof_of_public_key = keccak256(nextPublicKey)`, Teikhos, from the Greek for "wall" or "fortification".

## What the record says

Three facts. The Bitpeople whitepaper signed with the name, the gist, the EIPs issue. The deployer address goes on the record too, because on Ethereum it's the only signature the contracts carry. Three of the four paying contracts still hold their ETH.

## The record

```ts [src/collections/teikhos.ts]
static readonly author = party("Johan Nygren", {
  key: "johan-nygren",
  kind: PartyKind.Person,
  aliases: ["resilience-me", "bipedaljoe"],
  about: "Proof-of-personhood tinkerer who named a proof of public key scheme Teikhos and put ETH behind five contracts to show it holds.",
  addresses: ["0x4c5d24a7ca972aea90cc040da6770a13fc7d4d9a"],
  profiles: [profile("github", "https://github.com/resilience-me")],
  facts: [
    fact("Signs the Bitpeople whitepaper in the resilience-me panarchy repository as Johan Nygren.", BITPEOPLE),
    fact("Published ProofOfSymmetricKey.sol as a gist with the same stored proofs as teikhos/2, …", GIST, { date: "2018-02-27" }),
    fact('Proposed proof_of_public_key = keccak256(nextPublicKey) on the EIPs tracker and named it Teikhos, …', ISSUE, { date: "2018-03-19" }),
  ],
});
```


## Sitemap

See the full [sitemap](https://puzzles.agntn.dev/sitemap.md) for all pages.
