Pages:
Author

Topic: Bitcoin's Decentralized PKI (Public Key Infrastructure) - page 2. (Read 7796 times)

hero member
Activity: 630
Merit: 500
This would be a legitimate use of the namecoin blockchain.

Why?
hero member
Activity: 630
Merit: 500
Biometric identity is an interesting way to do it. Hashing your fingerprint into a blockchain I never thought of.

One weakness I can now see in my idea (which admittedly just came off the top of my head) is that if someone did manage to get your fingerprint then they would be able to work out who you had voted for (as the public key would be easily traced).

Are you sure? AFAIK fingerprint scans do not always produce the same string of bytes. Each scan produce a particular "image", and there are algorithms that allow you to compare two different images and tell with a high certainty whether they were produced by the same finger. I guess all biometric scans (retina, DNA etc) work like that actually.

So, if all that's public is a hash of the fingerprint, unless you're really lucky to get the same string that was used to generate such hash, I don't think you'll be able to locate it.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Dont let anyone cut your fingers off either Cheesy

Yeah - the idea of having 2 keys (or a 2 part private key) would be to stop any usage of the fingerprint key without also having the other private key.

Although I guess if you were about to get your fingers cut off you might end up divulging your other key. Grin
sr. member
Activity: 350
Merit: 250
Per aspera ad astra!
This would be a legitimate use of the namecoin blockchain.

You could add a function to allow somebody to sign another person's ID, and add a VALUE for gpg key...
hero member
Activity: 686
Merit: 500
Wat
Biometric identity is an interesting way to do it. Hashing your fingerprint into a blockchain I never thought of.

One weakness I can now see in my idea (which admittedly just came off the top of my head) is that if someone did manage to get your fingerprint then they would be able to work out who you had voted for (as the public key would be easily traced).

It may be possible, however, to circumvent this problem by using the sort of combining private key stuff that etotheipi has described before for safely being able to generate vanity addresses for other people (this needs some more thought).


Deffinatly want to bring your own fingerprint signing hardware Wink

Dont let anyone cut your fingers off either Cheesy
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Deffinatly want to bring your own fingerprint signing hardware Wink

Yup - complicated private key issues aside the hardware would be a much more difficult trust issue for such a system (but necessary in the approach I was outlining to ensure that no-one can cheat).
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
Biometric identity is an interesting way to do it. Hashing your fingerprint into a blockchain I never thought of.

One weakness I can now see in my idea (which admittedly just came off the top of my head) is that if someone did manage to get your fingerprint then they would be able to work out who you had voted for (as the public key would be easily traced).

It may be possible, however, to circumvent this problem by using the sort of combining private key stuff that etotheipi has described before for safely being able to generate vanity addresses for other people (this needs some more thought).


Deffinatly want to bring your own fingerprint signing hardware Wink
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Biometric identity is an interesting way to do it. Hashing your fingerprint into a blockchain I never thought of.

One weakness I can now see in my idea (which admittedly just came off the top of my head) is that if someone did manage to get your fingerprint then they would be able to work out who you had voted for (as the public key would be easily traced).

It may be possible, however, to circumvent this problem by using the sort of combining private key stuff that etotheipi has described before for safely being able to generate vanity addresses for other people (this needs some more thought).
hero member
Activity: 686
Merit: 500
Wat
How do you limit a single ID to a single person?

One idea that came to my mind was the following:

SHA2( fingerprint information ) == private key 1
SHA2( some password or personal info ) == private key 2

1) Import the private keys into your wallet then send perhaps a specific BTC amount to public key #1 (the sending could be done from anywhere to hide IP). The purpose of this is to be able to find the public key of all registered voters (and to be able to prove you have registered to vote).

2) To prove identity a fingerprint scan would be performed and public key #2 would need to also be provided (of course you need to trust that the device checking the fingerprint only actually outputs the public key and does not keep the fingerprint raw data and that you were not photographed using the device, etc.).

3) A voting token (say BTC0.001) is sent in a tx requiring that will require two sigs (for the 2 keys).

4) Some time later (and most likely at a different physical location) you can "spend" your vote.


Biometric identity is an interesting way to do it. Hashing your fingerprint into a blockchain I never thought of.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
How do you limit a single ID to a single person?

One idea that came to my mind was the following:

SHA2( fingerprint information ) == private key 1
SHA2( some pass phrase or personal info ) == private key 2

1) Import the private keys into your wallet then send perhaps a specific BTC amount to both addresses (the sending could be done from anywhere to hide IP). The purpose of this is to be able to find the public key of all registered voters (and to be able to prove you have registered to vote). Also to ensure that no other public key #2 can be used with public key #1 (i.e. identity theft).

2) To prove identity a fingerprint scan would be performed and then public key #2 would be determine from the registration txs in the block chain (of course you need to trust that the device checking the fingerprint only actually outputs the public key and does not keep the raw data and that you were not photographed using the device, etc.).

3) A voting token (say BTC0.001) is sent in a tx that will require two sigs (for the 2 keys).

4) Some time later (and most likely at a different physical location) you can "spend" your vote.
hero member
Activity: 630
Merit: 500
I understand your sentiment about bloating the bitcoin chain with non-financial data, but if the person creating the transaction was willing to pay for it (via tx fee) then why not?
Bitcoin is the first ever decentralized secure database that has potentially huge applications beyond just financial transaction (Decentralized ID being one of them).
If the core developers and community can expand the bitcoin technology to determine fair TX fee for non-standard transaction and size then it would benefit everyone.
If the proper fee can be managed in a decentralized way then we've really improved bitcoin; however, without this advancement essentially free non-standard transactions that are relatively big will not be favored at all. I have hopes that something will work out.
Remember: every additional use bitcoin has besides financials will ultimately add value to the entire system.

It's not a matter of "sentiment", but a matter of using the appropriate tool for the appropriate task. Also properly separating concepts makes understanding and evolving them easier.

There's absolutely no need to go through ugly hacks to insert this data inside the blockchain if you can create an alternative chain with merged mining. It would be worse for developers of your system, since they would have to find a way to fit their data into bitcoin instead of defining their own database as they please. It would be worse for miners that just want to mine one of the chains, since they would have to store both databases. Anyway, summarizing, these are different purpose databases, there's no need to fuse them. Just do it like namecoin people did it.
Plus I'm still not convinced you really need a blockchain....

The time stamp would be useful for an ID system as it could describe how someones ID evolved over time; however, the real appeal for using the blockchain is that it is a database that cannot be altered or controlled by anyone.

Why is it important to know which modification happened first, and why is it so important that you are able to know this without trusting anyone? As long as you can gather all data that there is about an ID, I suppose you're fine. Maybe I'm failing to see something, but I don't understand why a blockchain would be preferable over a distributed database which can't order things in time without trust.

Perhaps one of your motivations to use a blockchain is that the monetary incentives in mining helps guaranteeing that multiple copies of the database will exist. Plus it also adds an incentive against bloating it with unnecessary data, since it costs money to add data to the chain. I'm not sure how other distributed databases provide such incentives (anyone knows?). But if it's just for that, I guess you can come up with some sort of monetary incentive for those who "seed it", and some sort of monetary costs for those who add data to it, all that without using mining itself, which is very expensive. Blockchains come at a cost, and carry their own vulnerabilities.
hero member
Activity: 630
Merit: 500
How do you limit a single ID to a single person?

See my reply to hazek above.
hero member
Activity: 686
Merit: 500
Wat
It might work if you could give the government a gpg key and they encrypted it in your drivers license. Then you could actually prove you owned it by signing a message with the private key that belongs to the public key on it. I think a decentralized bitcoin database could enhance such things if done correctly.

This system would largely prevent false ID problems because its relatively easy to steal identities. Its not so easy to steal someones private keys as well. This would also work for voting to prove you are an actual person and not a fake or dead voter since politicians dont have the private keys to the dead persons identity.

legendary
Activity: 3598
Merit: 2386
Viva Ut Vivas
How do you limit a single ID to a single person?
sr. member
Activity: 455
Merit: 250
You Don't Bitcoin 'till You Mint Coin
Also, identity management is part of PeerPoint:

PeerPoint
An Open P2P Requirements Definition and Design Specification Proposal
 - https://docs.google.com/a/digicoast.com/document/pub?id=1TkAUpUxdfKGr_5Qio2SlZcnBu_sgnZWdoVTZuD_Regs

Identity Management and Complementary Currency (specifically referencing Bitcoin) are both "first tier" services and applications of PeerPoint.

On Google Groups:
 - https://groups.google.com/forum/#!topic/building-a-distributed-decentralized-internet/CQBhaEcqGUc/


Wow! Again, very great resource. I'm reading it right now. Thanks
sr. member
Activity: 455
Merit: 250
You Don't Bitcoin 'till You Mint Coin
  1) Some developers have mixed feelings about non-standard transactions because it puts "garbage' in the block chain.

Oh but you should definitely not add this to the bitcoin chain. You should create an alternative chain, with merged mining if you will.


The idea of a decentralized ID system is interesting. OpenID itself is interesting. But I have a question.

The main technological advance Satoshi provided, IMHO, is the means to order events in time in a decentralized database, without having to trust anyone to say "this is the correct order".
Why is such a feature important for a decentralized ID system? I mean, why do you need to order events in time? Isn't just a decentralized database enough?

I understand your sentiment about bloating the bitcoin chain with non-financial data, but if the person creating the transaction was willing to pay for it (via tx fee) then why not?
Bitcoin is the first ever decentralized secure database that has potentially huge applications beyond just financial transaction (Decentralized ID being one of them).
If the core developers and community can expand the bitcoin technology to determine fair TX fee for non-standard transaction and size then it would benefit everyone.
If the proper fee can be managed in a decentralized way then we've really improved bitcoin; however, without this advancement essentially free non-standard transactions that are relatively big will not be favored at all. I have hopes that something will work out.
Remember: every additional use bitcoin has besides financials will ultimately add value to the entire system.

The time stamp would be useful for an ID system as it could describe how someones ID evolved over time; however, the real appeal for using the blockchain is that it is a database that cannot be altered or controlled by anyone.

 



hero member
Activity: 630
Merit: 500
The idea of a decentralized ID system is interesting. OpenID itself is interesting. But I have a question.

The main technological advance Satoshi provided, IMHO, is the means to order events in time in a decentralized database, without having to trust anyone to say "this is the correct order".
Why is such a feature important for a decentralized ID system? I mean, why do you need to order events in time? Isn't just a decentralized database enough?

Actually, expanding a little bit on this question: what are the advantages of a fully decentralized ID database over a federated model like OpenID?
I guess one could answer "not having to trust an ID provider to store my data, nor having to rely on its uptime etc". But then, couldn't such problems be avoided by (1) having an OpenID provider which only stores encrypted data about yourself and (2) having the possibility of mirroring it for free?
EDIT: Derp, rereading OP I realize that the wish here is precisely to implement a decentralized OpenID provider. I guess the main motivation is not trusting your data to a centralized ID provider.
The question of "why a blockchain?" remains open though.
hero member
Activity: 630
Merit: 500
No, I disagree. The who idea is to put the power in the hands of those who want to know who they're dealing with. Right now anyone can have an unlimited amount of digital IDs and there are zero repercussions for bad behavior, you burn one ID and you create a new one. The idea is to stop that, meaning that once you burn your unique ID, that's it you're done, not able to scam anyone ever again.

The system may allow the addition of arbitrary data to an ID. Ideally, this data would be encrypted and only the owner would have the ability to provide unencrypted copies of it to somebody requesting them.
You could add, for example, your fingerprint or a picture of you, data that could be checked against your meatspace self.
Parties scammed by you could (with proper contracts foreseeing it) share such personal data with others, in anti-scam effort.
To create a new ID you'd have to do it like Tom Cruise in Minority Report and change pieces of your body.... not so simple! Smiley


Now, I wonder what would motivate big players to ever use such system, since they can already use government provided IDs when they need, for free. For instance, in Brazil companies use your CPF (national taxvictim number) to "taint" you in case of debt default. There are big shared databases. Once your CPF gets in there, it becomes nearly impossible to contract more debt. The system works fairly well right now. Why would they ever want to switch to a new system?
Perhaps the international reach of such system would be a strong incentive. You have to be a Brazilian resident to have a CPF, what wouldn't be the case of the proposed system of course.
hero member
Activity: 630
Merit: 500
  1) Some developers have mixed feelings about non-standard transactions because it puts "garbage' in the block chain.

Oh but you should definitely not add this to the bitcoin chain. You should create an alternative chain, with merged mining if you will.


The idea of a decentralized ID system is interesting. OpenID itself is interesting. But I have a question.

The main technological advance Satoshi provided, IMHO, is the means to order events in time in a decentralized database, without having to trust anyone to say "this is the correct order".
Why is such a feature important for a decentralized ID system? I mean, why do you need to order events in time? Isn't just a decentralized database enough?
legendary
Activity: 2506
Merit: 1010
Also, identity management is part of PeerPoint:

PeerPoint
An Open P2P Requirements Definition and Design Specification Proposal
 - https://docs.google.com/a/digicoast.com/document/pub?id=1TkAUpUxdfKGr_5Qio2SlZcnBu_sgnZWdoVTZuD_Regs

Identity Management and Complementary Currency (specifically referencing Bitcoin) are both "first tier" services and applications of PeerPoint.

On Google Groups:
 - https://groups.google.com/forum/#!topic/building-a-distributed-decentralized-internet/CQBhaEcqGUc/
Pages:
Jump to: