{"id":22724631,"url":"https://github.com/mottla/solidity-ringsignature","last_synced_at":"2025-09-12T23:32:20.519Z","repository":{"id":41243412,"uuid":"139965449","full_name":"mottla/Solidity-RingSignature","owner":"mottla","description":"Ring-Signature using secp256k1 in Solidity","archived":false,"fork":false,"pushed_at":"2018-07-06T14:56:13.000Z","size":1639,"stargazers_count":12,"open_issues_count":0,"forks_count":6,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-06-21T15:36:34.343Z","etag":null,"topics":["ring-signature","solidity","solidity-ringsignature","vote"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mottla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-06T09:43:04.000Z","updated_at":"2024-03-23T05:53:04.000Z","dependencies_parsed_at":"2022-09-16T02:41:11.168Z","dependency_job_id":null,"html_url":"https://github.com/mottla/Solidity-RingSignature","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mottla%2FSolidity-RingSignature","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mottla%2FSolidity-RingSignature/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mottla%2FSolidity-RingSignature/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mottla%2FSolidity-RingSignature/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mottla","download_url":"https://codeload.github.com/mottla/Solidity-RingSignature/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229082311,"owners_count":18017251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ring-signature","solidity","solidity-ringsignature","vote"],"created_at":"2024-12-10T15:07:22.425Z","updated_at":"2024-12-10T15:07:22.973Z","avatar_url":"https://github.com/mottla.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Solidity-RingSignature\nRing-Signature using secp256k1 in Solidity for educational purpose.  Allows untracable voting and coin transfer within the EVM environment.\nFirst implementation of \"Linkable Spontaneous Anonymous Groups Signature [REF](https://bitcointalk.org/index.php?topic=972541.msg10619684#msg10619684).\"-Verification in solidity.\nsecp256k1 is forked from [jbaylina](https://github.com/jbaylina/ecsol)\n\n##Note\nLSAG-signature voting with 3 cosigners requires ≈ 12.34 mGas. ECC operations are costly^^ use a testnet!\n\n\n## Guide\n1. Deploy secp256k1.sol on an ethereum chain\n2. Deploy UntraceableVoting.sol (pass the secp256k1 contract address in the constructor)\n3. Run main.go, to create a random set of \"n voters and m candidates\" and \"signatures for each voter, to vote on on of the randomly selected candidates\"\n4. copy the newly generated text in solargs.txt and pass them as arguments for the creation and setup a voting on the chain\n5. in vote.txt you'll find randomly generated valid vote parameters, pass them as argument for AnnonymousVote(..) function in UntraceableVoting.sol\n\n\n\n## Requirements\n\n[Go](http://golang.org) 1.9 or newer.\n\n## Getting Started\n\n- Solidity-RingSignature (and utilities) will now be installed in either ```$GOROOT/bin``` or\n  ```$GOPATH/bin``` depending on your configuration.  If you did not already\n  add the bin directory to your system path during Go installation, we\n  recommend you do so now.\n\n## Updating\n\n#### Windows\n\nInstall a newer MSI\n\n#### Linux/BSD/MacOSX/POSIX - Build from Source\n\n- **Dep**\n\n  Dep is used to manage project dependencies and provide reproducible builds.\n  To install:\n\n  `go get -u github.com/golang/dep/cmd/dep`\n\nUnfortunately, the use of `dep` prevents a handy tool such as `go get` from\nautomatically downloading, building, and installing the source in a single\ncommand.  Instead, the latest project and dependency sources must be first\nobtained manually with `git` and `dep`, and then `go` is used to build and\ninstall the project.\n\n**Getting the source**:\n\nFor a first time installation, the project and dependency sources can be\nobtained manually with `git` and `dep` (create directories as needed):\n\n```\ngit clone https://github.com/mottla/Solidity-RingSignature.git\ncd $GOPATH/src/github.com/Solidity-RingSignature\ndep ensure\ngo install . ./cmd/...\n```\n\nTo update an existing source tree, pull the latest changes and install the\nmatching dependencies:\n\n```\ncd $GOPATH/src/github.com/Solidity-RingSignature\ngit pull\ndep ensure\ngo install . ./cmd/...\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmottla%2Fsolidity-ringsignature","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmottla%2Fsolidity-ringsignature","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmottla%2Fsolidity-ringsignature/lists"}