Blockrazor / blockrazor

Absolutely ALL information about EVERY blockchain project in a comparison tool that ANYONE can understand. Administered by @gazhayes
Mozilla Public License 2.0
48 stars 55 forks source link

problem: some data cannot be public #1968

Closed gsovereignty closed 6 years ago

gsovereignty commented 6 years ago

Problem: blockrazor needs to be totally transparent and open, but there are sometimes things that cannot be made public, such as passwords to third party services, server ssh credentials, etc. The problem is that going forward, I am a single point of failure if I'm storing all this data myself and no one else has access to it.

Solution: this is the best I've come up with so far: place an encrypted file stored in the source code which can easily be updated at any time through git. A deadman switch triggers a mongo insert with the decryption key. If a decryption key is found in the database, a vote is initiated allowing the community to vote for who the keys should go to.

anbud commented 6 years ago

I like this one, and the approach is perfectly fine. @emurgobot claim

Just one question about the deadman switch, do you have a suggestion what would it be? For example, it could be failure to login in, let's say, 14 days, failure to respond to a notification or an email, failure to enter a code of some sort every now and then or something similar.

gsovereignty commented 6 years ago

I guess the deadman switch should be independent of blockrazor, since the decryption key can't be stored in the codebase anyway.

What blockrazor should do is look for a decryption key in mongo and if it exists this triggers the voting process. Voting can be super simple but should require users to be in the top 90% of Krazor holders (based on wallet balance) to prevent fuckery. I guess copy the balances to a new collection to make a snapshot and verify against that to prevent people from just quickly buying and depositing krazor to make a vote.

If you get the voting part to work I'll do the rest.

anbud commented 6 years ago

You're right, it would be better if it's independent. Ok, I'll start working on the voting system.

anbud commented 6 years ago

Done in #1971.

Deadman switch should insert a record looking like this:

{
   decryptionKey: 'key'
}

to encryption collection and it'll trigger the voting system. It uses a cron job to check whether the switch was triggered every hour.

@emurgobot done