Ethereum Classic
$5.60 -7.90%
ETC · 2w

Ring signatures for Pseudonym Pairs — Steemit

Code to add ring signatures to Pseudonym Pairs now finished, based on laundromat.sol from Andrew "blackyblack" Lekar.

How it works, after the pseudonym event, everyone has to mix, the whole global population has to mix their proofs, and do so by joining mixers, incrementally, a new mixer created once the previous one is full. Very simple. There are two sets of mixers, one for NYM, another for registering for the next pseudonym event. Once a mixer group has formed, anyone can finish the transfer of their keys regardless of everyone else, so no risk of getting "locked in". The strays, as in the people who are at the end in case the population size is not evenly divisible by factors of 4, are sorted into a mixer of 3 people, at most three mixers with 3 people.

mapping(address => bool) verified; uint totalVerified; /* Two separate mixers, one for the NYM token and one to register for the next pseudonym event */ mapping(uint => address[4][2]) mixer; mapping(address => uint[2]) mixerIndex; uint[2] mixerCount = [1, 1]; mapping(address => uint[2]) publicKey; uint constant internal Gx = 55066263022277343669578718895168534326250603453777594175500187360389116729240; uint constant internal Gy = 32670510020758816978083085130507043184471273380659243275938904335757337482424; address internal constant arithAddress = 0x600ad7b57f3e6aeee53acb8704a5ed50b60cacd6; ArithLib private arithContract = ArithLib(arithAddress); struct MixerInfo { address sender; uint Ix; uint Iy; uint[] signature; uint[] ring1; uint[] ring2; uint step; uint prevStep; } mapping (address => MixerInfo[2]) private withdraws; mapping (uint => bool) private consumed; event mixingErrorMessage(string message); function attachPublicKey(bytes _publicKey) { require(verified[msg.sender] == true); require(publicKey[msg.sender][0] == 0); require(address(keccak256(_publicKey) == msg.sender); uint pubkey1; uint pubkey2; assembly {...
Continue on steemit.com
Recent news
ETC -7.90% · twitter.com · 13h

We are very close to reaching

We are very close to reaching 100,000 Hotspot Hosts, all of which have completed KYC. This protects the future of our project for both us and our investors. #OPP #tokensale #KYC #freewifi #ICO— OPP Op...
ETC -7.90% · twitter.com · 14h

"I like to work in #ETC because I like to work in something important. Our goal as #ClassicGeth developers is to clean the code, make it even more stable, more modular and to make it run as smooth as possible" ~ Tomasz Zdybał - @tzdybal - Go Developer - #ETCDEV

"I like to work in #ETC because I like to work in something important. Our goal as #ClassicGeth developers is to clean the code, make it even more stable, more modular and to make it run as smooth as ...