Cryptonomica / Ethereum-IdentityProof

Smart contract for Ethereum's account owner verification using Cryptonomica.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ethereum Identity Proof

Smart contract for Ethereum's account owner verification using Cryptonomica.net notary verified OpenPGP public key.

Usage:

1.Account owner sends a request for verification, in this request he sends a fingerprint of his OpenPGP key stored on cryptonomica.net

2.This contracts sends back a string to sign.

3.Account owner signs this string with his OpenPGP key and sends back to smart-contract.

4.Information about verification is public visible - who needs to chech can download verified public key from cryptonomica.net and check if owner of stated Ehereum acconts is also known owner of verified OpenPGP key on cryptonomica.net

It's also possible to create a web-inerface using Cryptonomica's API like:

GET https://cryptonomica-server.appspot.com/_ah/api/pgpPublicKeyAPI/v1/getPGPPublicKeyByFingerprint?fingerprint=57A5FEE5A34D563B4B85ADF3CE369FD9E77173E5

(Authorization required)

This smart contract deployed on Ehtereum blockchain at:

0xa60df04F73c2c92542ACc86D178B9fc212F7919b

Interface:

[{"constant":true,"inputs":[],"name":"creator","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":false,"inputs":[{"name":"_signedString","type":"string"}],"name":"uploadSignedString","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"signedString","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"urlToVerifyKey","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"keyFingerprint","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":false,"inputs":[{"name":"_fingerprint","type":"string"}],"name":"getStringToSignWithKey","outputs":[{"name":"","type":"bytes32"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"stringToSign","outputs":[{"name":"","type":"bytes32"}],"type":"function"},{"inputs":[],"type":"constructor"}]

Gist:

Verificator.sol

Solidity Browser-Based Compiler:

Verificator.sol

To test functionality you can check verification for: 0x3b24D5ce666bF060900989E9Bd4E511b7a201AdA

About

Smart contract for Ethereum's account owner verification using Cryptonomica.net

License:MIT License