project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Signary

Signary is a hub of blogs made to benefit from any protocol. Your favourite protocol does ensure reliability or security? Integrate it to Signary and make it accessible to your community or anyone you want. Build customizable blogs with their own rules but with the same UX.

Signary

Created At

ETHGlobal Paris

Winner of

πŸ”“ Ethereum Foundation β€” Open Track

πŸ₯ˆ DFNS β€” Best Use

Project Description

Signary has been designed with the purpose to bring together in a same place several discussion channels in the format of blogs. Social coordination is a very important subject in many different ways, and there's a bunch of protocols in the Ethereum ecosystem that can help it. Some bring reliability, other anonymity, all of them having distinct characteristics, and all of them can now be found on the same place: Signary. With Signary you will be able to create customizable groups, from private ones with your own joining requirements to public read-only groups where only you can write some content, but also anonymous private groups where the access is restricted, and even members of the group can't know who is the author of the messages. Possibilities are endless as there is constantly new protocols with new properties. Signary takes advantage of the fast-growing Ethereum ecosystem to make it possible to grow evenly fast! The product is a platform where you can create your custom channels or deploy standardized ones. Some properties of channels are built-in, like private channels where you need to meet specific requirements in order to join them, or anonymous ones in which you will be able to talk in a total anonymity thanks to the Semaphore Protocol and our DFNS & Quicknode based transaction relayer. In a single word, Signary is the place where protocol communities can build real-case applications and make everyone benefit from it.

How it's Made

The core of Signary is it's registry contract where the contract address of every channel linked is stored. Each channel contract must fit an interface, so even if their functionalities and rules are different they will be computed in the same way by the core application.

Private on-chain channels: To manage a privacy layer on channels while keeping every message fully on-chain, we are maintaining an oracle. The role of the oracle will be to distribute the symmetric cypher key used to encrypt and decrypt the messages of the group. When a private chat is created, the oracle will generate a random secure cypher key that will be used to secure the privacy of the channel. When a user is authorised by the rules of the channel to join it, the oracle will emit an on-chain log (event) containing the channel cypher key encrypted with the new user's eth public key. With this scenario, the user and only him will be able to use this log to decrypt the channel cypher key and will now be able to chat with the other (past and future) members of the group. This ensure privacy of the exchanged messages while keeping its content publicly on chain.

Full anonymity with Semaphore: The first protocol to be integrated to Signary is Semaphore. This protocol will ensure the anonymity of a channel. In a first place, the member will need to join the semaphore group associated with the channel. This join will be classic in the case of public groups but it will need to meet the channel defined requirements for private ones. Once the user joined the group he will be able to submit some proofs to our relay, so that he will keep its anonymity but still be able to talk in the channel. Obviously the submitted proof will be verified on-chain so it will be certified that the user meets the requirements to join the semaphore group in a first place.

Signary is built to be composable, private channels and anonymous ones can easily be used together and create some interesting designs, the more protocol will be integrated to the hub, the more we will see interesting mixes like this one, here is one of the key values of Signary.

Every data stored on-chain are IPFS CIDs, pinned by our application, it would have been too heavy to store complete data on-chain so we still use it to ensure security and integrity of the data but rely on IPFS to store it.

background image mobile

Join the mailing list

Get the latest news and updates