secure assigned bitcoin address directory

secure assigned bitcoin address directory
2014-03-31 10:49 ` Natanael
                   ` (3 more replies)
  
From: vv01f @ 2014-03-31 10:21 UTC (permalink / raw)
  To: bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 798 bytes --]

Some users on bitcointalk[0] would like to have their vanity addresses
available for others easily to find and verify the ownership over a kind
of WoT. Right now they sign their own addresses and quote them in the
forums.
As I pointed out there already the centralized storage in the forums is
not secury anyhow and signed messages could be swapped easily with the
next hack of the forums.

Is that use case taken care of in any plans already?

I thought about abusing pgp keyservers but that would suit for single
vanity addresses only.
It seems webfinger could be part of a solution where servers of a
business can tell and proof you if a specific address is owned by them.

[0] https://bitcointalk.org/index.php?topic=502538
[1] https://bitcointalk.org/index.php?topic=505095


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 897 bytes --]

 permalink raw reply	[|nested]
2014-03-31 10:49 ` 
                   ` 
  
From: vv01f @ 2014-03-31 10:21 UTC (permalink / raw)
  To: bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 798 bytes --]

Some users on bitcointalk[0] would like to have their vanity addresses
available for others easily to find and verify the ownership over a kind
of WoT. Right now they sign their own addresses and quote them in the
forums.
As I pointed out there already the centralized storage in the forums is
not secury anyhow and signed messages could be swapped easily with the
next hack of the forums.

Is that use case taken care of in any plans already?

I thought about abusing pgp keyservers but that would suit for single
vanity addresses only.
It seems webfinger could be part of a solution where servers of a
business can tell and proof you if a specific address is owned by them.

[0] https://bitcointalk.org/index.php?topic=502538
[1] https://bitcointalk.org/index.php?topic=505095


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 897 bytes --]

 permalink raw reply	[|nested]
* 
  2014-03-31 10:21 [Bitcoin-development] secure assigned bitcoin address directory vv01f

  2014-03-31 11:14 ` 
                   ` 
  3 siblings, 0 replies; 16+ messages in thread
From: Natanael @ 2014-03-31 10:49 UTC (permalink / raw)
  To: vv01f;  bitcoin-development

Does't BIP70 cover this already via Certificate Authorities?

On Mon, Mar 31, 2014 at 12:21 PM, vv01f <vv01f@riseup•net> wrote:
> Some users on bitcointalk[0] would like to have their vanity addresses
> available for others easily to find and verify the ownership over a kind
> of WoT. Right now they sign their own addresses and quote them in the
> forums.
> As I pointed out there already the centralized storage in the forums is
> not secury anyhow and signed messages could be swapped easily with the
> next hack of the forums.
>
> Is that use case taken care of in any plans already?
>
> I thought about abusing pgp keyservers but that would suit for single
> vanity addresses only.
> It seems webfinger could be part of a solution where servers of a
> business can tell and proof you if a specific address is owned by them.
>
> [0] https://bitcointalk.org/index.php?topic=502538
> [1] https://bitcointalk.org/index.php?topic=505095
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>



^ permalink raw reply	[|nested] 16+ messages in thread
2014-03-31 10:21 [Bitcoin-development] secure assigned bitcoin address directory vv01f
  2014-03-31 10:49 ` Natanael
  2014-03-31 11:14 ` Chris D'Costa

  2014-03-31 17:07 ` Jeff Garzik
  
From: Peter Todd @ 2014-03-31 11:21 UTC (permalink / raw)
  To: vv01f, Natanael;  bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 1993 bytes --]

On Mon, Mar 31, 2014 at 12:21:03PM +0200, vv01f wrote:
> Some users on bitcointalk[0] would like to have their vanity addresses
> available for others easily to find and verify the ownership over a kind
> of WoT. Right now they sign their own addresses and quote them in the
> forums.
> As I pointed out there already the centralized storage in the forums is
> not secury anyhow and signed messages could be swapped easily with the
> next hack of the forums.
> 
> Is that use case taken care of in any plans already?
> 
> I thought about abusing pgp keyservers but that would suit for single
> vanity addresses only.
> It seems webfinger could be part of a solution where servers of a
> business can tell and proof you if a specific address is owned by them.

Good timing! I'm at a hackathon right now working with a group to come
up with a standard for adding Bitcoin addresses to OpenPGP keys. You're
correct in thinking that doing so with standard Bitcoin addresses is a
privacy problem, however we can also define new types of Bitcoin
addresses that address the privacy issue; stealth addresses can handle
the case where you want to pay someone without a formal payment request,
and integrating OpenPGP into the payment protocol handles the scenario
where you want to send or pay to a formal payment request.


On Mon, Mar 31, 2014 at 12:49:14PM +0200, Natanael wrote:
> Does't BIP70 cover this already via Certificate Authorities?

Incidentally on my todo list is to come up for a reasonable standard for
taking X.509 certificates and using them to sign OpenPGP user IDs.
Essentially the certificate authority is then making the statement that
a keypair is authorized to sign on behalf of a domain-name, and in turn
that keypair signs that the email address on the user ID is correct.
It's a best of both worlds option in the same spirit of keybase.io

-- 
'peter'[:-1]@petertodd.org
0000000000000000f4f5ba334791a4102917e4d3f22f6ad7f2c4f15d97307fe2

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 665 bytes --]

 permalink raw reply	[|nested]
2014-03-31 11:14 ` Chris D'Costa

  2014-03-31 16:53     ` Chris D'Costa
  2014-04-01 11:32   ` Jeff Garzik
  
From: Natanael @ 2014-03-31 11:46 UTC (permalink / raw)
  To: Chris D'Costa;  bitcoin-development

This sounds like Namecoin. You can already register profiles with it,
including keypairs. onename.io is a web-based client you can use to
register on the Namecoin blockchain.

On Mon, Mar 31, 2014 at 1:14 PM, Chris D'Costa <chris.dcosta@meek•io> wrote:
> Security of transmission of person-to-person pay-to addresses is one of the use cases that we are addressing on our hardware wallet.
>
> I have yet to finish the paper but in a nutshell it uses a decentralised ledger of, what we refer to as, "device keys".
>
> These keys are not related in any way to the Bitcoin keys, (which is why I'm hesitating about discussing it here) neither do they even attempt to identify the human owner if the device. But they do have a specific use case and that is to provide "advanced knowledge" of a publickey that can be used for encrypting a message to an intended recipient, without the requirement for a third-party CA, and more importantly without prior dialogue. We think it is this that would allow you to communicate a pay-to address to someone without seeing them in a secure way.
>
> As I understand it the BlockChain uses "time" bought through proof of work to establish a version of the truth, we are using time in the reverse sense : advanced knowledge of all pubkeys. Indeed all devices could easily check their own record to identify problems on the ledger.
>
> There is of course more to this, but I like to refer to the "distributed ledger of device keys" as the "Web-of-trust re-imagined" although that isn't strictly true.
>
> Ok there you have it. The cat is out of the bag, feel free to give feedback, I have to finish the paper, apologies if it is not a topic for this list.
>
> Regards
>
> Chris D'Costa
>
>
>> On 31 Mar 2014, at 12:21, vv01f <vv01f@riseup•net> wrote:
>>
>> Some users on bitcointalk[0] would like to have their vanity addresses
>> available for others easily to find and verify the ownership over a kind
>> of WoT. Right now they sign their own addresses and quote them in the
>> forums.
>> As I pointed out there already the centralized storage in the forums is
>> not secury anyhow and signed messages could be swapped easily with the
>> next hack of the forums.
>>
>> Is that use case taken care of in any plans already?
>>
>> I thought about abusing pgp keyservers but that would suit for single
>> vanity addresses only.
>> It seems webfinger could be part of a solution where servers of a
>> business can tell and proof you if a specific address is owned by them.
>>
>> [0] https://bitcointalk.org/index.php?topic=502538
>> [1] https://bitcointalk.org/index.php?topic=505095
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Bitcoin-development mailing list
>> Bitcoin-development@lists•sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development



 permalink raw reply	[|nested]
2014-03-31 11:46   ` Natanael

  
From: Chris D'Costa @ 2014-03-31 16:53 UTC (permalink / raw)
  To: Bitcoin Dev

The idea was not to register profiles or any human identity, or associate it with any other identity directly. Neither was it to have a massive BlockChain, or use proof of work. In this case proof of work is detrimental to security - you want as many people to know about your keys as quickly as possible. I want to add that this implies a shadow p2p network.

Also it's just a point if view, but I thought it better not to have any specific link to a person's identity, or their Bitcoin "identity" by which I mean no connection to their public addresses. The device keys are not meant to be a permanent identity or to store encrypted data either (think what happens if the device changes hands), so the use case is only to establish secure communications, and to verify signatures whilst still in use by the owner. A new owner would need to establish a new device key - again this is in the details and probably more specific to the project.

Regards

Chris D'Costa




> On 31 Mar 2014, at 13:46, Natanael <natanael.l@gmail•com> wrote:
> 
> This sounds like Namecoin. You can already register profiles with it,
> including keypairs. onename.io is a web-based client you can use to
> register on the Namecoin blockchain.
> 
>> On Mon, Mar 31, 2014 at 1:14 PM, Chris D'Costa <chris.dcosta@meek•io> wrote:
>> Security of transmission of person-to-person pay-to addresses is one of the use cases that we are addressing on our hardware wallet.
>> 
>> I have yet to finish the paper but in a nutshell it uses a decentralised ledger of, what we refer to as, "device keys".
>> 
>> These keys are not related in any way to the Bitcoin keys, (which is why I'm hesitating about discussing it here) neither do they even attempt to identify the human owner if the device. But they do have a specific use case and that is to provide "advanced knowledge" of a publickey that can be used for encrypting a message to an intended recipient, without the requirement for a third-party CA, and more importantly without prior dialogue. We think it is this that would allow you to communicate a pay-to address to someone without seeing them in a secure way.
>> 
>> As I understand it the BlockChain uses "time" bought through proof of work to establish a version of the truth, we are using time in the reverse sense : advanced knowledge of all pubkeys. Indeed all devices could easily check their own record to identify problems on the ledger.
>> 
>> There is of course more to this, but I like to refer to the "distributed ledger of device keys" as the "Web-of-trust re-imagined" although that isn't strictly true.
>> 
>> Ok there you have it. The cat is out of the bag, feel free to give feedback, I have to finish the paper, apologies if it is not a topic for this list.
>> 
>> Regards
>> 
>> Chris D'Costa
>> 
>> 
>>> On 31 Mar 2014, at 12:21, vv01f <vv01f@riseup•net> wrote:
>>> 
>>> Some users on bitcointalk[0] would like to have their vanity addresses
>>> available for others easily to find and verify the ownership over a kind
>>> of WoT. Right now they sign their own addresses and quote them in the
>>> forums.
>>> As I pointed out there already the centralized storage in the forums is
>>> not secury anyhow and signed messages could be swapped easily with the
>>> next hack of the forums.
>>> 
>>> Is that use case taken care of in any plans already?
>>> 
>>> I thought about abusing pgp keyservers but that would suit for single
>>> vanity addresses only.
>>> It seems webfinger could be part of a solution where servers of a
>>> business can tell and proof you if a specific address is owned by them.
>>> 
>>> [0] https://bitcointalk.org/index.php?topic=502538
>>> [1] https://bitcointalk.org/index.php?topic=505095
>>> 
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> Bitcoin-development mailing list
>>> Bitcoin-development@lists•sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>> 
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Bitcoin-development mailing list
>> Bitcoin-development@lists•sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development



 permalink raw reply	[|nested]
2014-03-31 10:21 [Bitcoin-development] secure assigned bitcoin address directory vv01f
                   ` (2 preceding siblings ...)
  2014-03-31 11:21 ` Peter Todd

  2014-03-31 18:57   ` Roy Badami
  
From: Jeff Garzik @ 2014-03-31 17:07 UTC (permalink / raw)
  To: vv01f;  Bitcoin Dev

namecoin + SIN[1] or namecoin + PGP identity.

[1] https://en.bitcoin.it/wiki/Identity_protocol_v1

On Mon, Mar 31, 2014 at 6:21 AM, vv01f <vv01f@riseup•net> wrote:
> Some users on bitcointalk[0] would like to have their vanity addresses
> available for others easily to find and verify the ownership over a kind
> of WoT. Right now they sign their own addresses and quote them in the
> forums.
> As I pointed out there already the centralized storage in the forums is
> not secury anyhow and signed messages could be swapped easily with the
> next hack of the forums.
>
> Is that use case taken care of in any plans already?
>
> I thought about abusing pgp keyservers but that would suit for single
> vanity addresses only.
> It seems webfinger could be part of a solution where servers of a
> business can tell and proof you if a specific address is owned by them.
>
> [0] https://bitcointalk.org/index.php?topic=502538
> [1] https://bitcointalk.org/index.php?topic=505095
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>



-- 
Jeff Garzik
Bitcoin core developer and open source evangelist
BitPay, Inc.      https://bitpay.com/



 permalink raw reply	[|nested]
2014-03-31 17:07 ` Jeff Garzik

  2014-04-01  8:13     ` Chris D'Costa
  
From: Roy Badami @ 2014-03-31 18:57 UTC (permalink / raw)
  To: Jeff Garzik;  Bitcoin Dev

On Mon, Mar 31, 2014 at 01:07:46PM -0400, Jeff Garzik wrote:
> namecoin + SIN[1] or namecoin + PGP identity.

Is namecoin actively maintained these days?

roy





 permalink raw reply	[|nested]
2014-03-31 18:57   ` Roy Badami

  
From: Chris D'Costa @ 2014-04-01  8:13 UTC (permalink / raw)
  To: Bitcoin Dev

[-- Attachment #1: Type: text/plain, Size: 1616 bytes --]

On 31 Mar 2014, at 20:57, Roy Badami wrote:

> Is namecoin actively maintained these days?

That's a very good quest. It was one of the reasons why we ruled out namecoin, but not the only one.

Although in principle it is a similar concept to namecoin + PGP, in practice at least for our device, that felt like a hammer to crack a nut, "How could this operate if the device was carried to one of the non-3G countries i.e. with no direct internet access? How could we syncronise the chain in a low bandwidth environment, if at all? Could at least some of the chain be pre-loaded at the factory? What would the risks be if it was?". 

These are just a few of the practical considerations that we are addressing, and our feeling is that when we can get the proposed distributed ledger to work properly at "the lowest common denominator" level, then everything above is easier. 

On one other point, I don't ever see the Bitcoin software using a second blockchain, like namecoin, in order just to provide safe communication of a non-face-to-face, person-to-person, pay-to address (far too many hyphens), but I do see some other standard emerging that provides the equivalent of BIP70 for this use case.  

In this context, when we posed these questions, "Why do we have to provide a reward for a ledger of information? Why do we have to wait for confirmation when no money is at risk? What is the worst that can happen if your device key is discovered or replaced?", it did not make sense to include all the incumbent coin stuff just to arrive at a distributed ledger for a set of ultimately disposable keys.

[-- Attachment #2: Type: text/html, Size: 2506 bytes --]

 permalink raw reply	[|nested]
2014-03-31 11:14 ` Chris D'Costa
  2014-03-31 11:46   ` Natanael

  2014-04-01 12:20     ` Chris D'Costa
  
From: Jeff Garzik @ 2014-04-01 11:32 UTC (permalink / raw)
  To: Chris D'Costa;  bitcoin-development

Re-reading this, even with the most recent message, is still isn't
clear _precisely_ how your technology works, or why it is better than
namecoin.  User profiles (and distributed ledgers) need to reflect the
latest updates, and a stream of updates of over time is precisely what
bitcoin technology secures.

Keys expire or are compromised, and the public ledger needs to reflect
that.  There is a lot of computer science involved in making sure the
public ledger you see is not an outdated view.  A log-like stream of
changes is not the only way to do things, but other methods need less
hand-wavy details (show the code) before they are well recognized as
useful.



On Mon, Mar 31, 2014 at 7:14 AM, Chris D'Costa <chris.dcosta@meek•io> wrote:
> Security of transmission of person-to-person pay-to addresses is one of the use cases that we are addressing on our hardware wallet.
>
> I have yet to finish the paper but in a nutshell it uses a decentralised ledger of, what we refer to as, "device keys".
>
> These keys are not related in any way to the Bitcoin keys, (which is why I'm hesitating about discussing it here) neither do they even attempt to identify the human owner if the device. But they do have a specific use case and that is to provide "advanced knowledge" of a publickey that can be used for encrypting a message to an intended recipient, without the requirement for a third-party CA, and more importantly without prior dialogue. We think it is this that would allow you to communicate a pay-to address to someone without seeing them in a secure way.
>
> As I understand it the BlockChain uses "time" bought through proof of work to establish a version of the truth, we are using time in the reverse sense : advanced knowledge of all pubkeys. Indeed all devices could easily check their own record to identify problems on the ledger.
>
> There is of course more to this, but I like to refer to the "distributed ledger of device keys" as the "Web-of-trust re-imagined" although that isn't strictly true.
>
> Ok there you have it. The cat is out of the bag, feel free to give feedback, I have to finish the paper, apologies if it is not a topic for this list.
>
> Regards
>
> Chris D'Costa
>
>
>> On 31 Mar 2014, at 12:21, vv01f <vv01f@riseup•net> wrote:
>>
>> Some users on bitcointalk[0] would like to have their vanity addresses
>> available for others easily to find and verify the ownership over a kind
>> of WoT. Right now they sign their own addresses and quote them in the
>> forums.
>> As I pointed out there already the centralized storage in the forums is
>> not secury anyhow and signed messages could be swapped easily with the
>> next hack of the forums.
>>
>> Is that use case taken care of in any plans already?
>>
>> I thought about abusing pgp keyservers but that would suit for single
>> vanity addresses only.
>> It seems webfinger could be part of a solution where servers of a
>> business can tell and proof you if a specific address is owned by them.
>>
>> [0] https://bitcointalk.org/index.php?topic=502538
>> [1] https://bitcointalk.org/index.php?topic=505095
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Bitcoin-development mailing list
>> Bitcoin-development@lists•sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development



-- 
Jeff Garzik
Bitcoin core developer and open source evangelist
BitPay, Inc.      https://bitpay.com/



 permalink raw reply	[|nested]
2014-04-01 11:32   ` Jeff Garzik

  2014-04-01 18:16       ` Daryl Banttari
  
From: Chris D'Costa @ 2014-04-01 12:20 UTC (permalink / raw)
  To: Jeff Garzik;  bitcoin-development

The code will be available as soon as we are ready, and apologies again for it not being a more meaningful conversation - I did say I hesitated about posting it ;)

I think it is fair to say that we have not assumed anything about other technologies, without asking if they can answer all (not just some) of the questions I raised. I have yet to be convinced that anything existing meets those requirements, namecoin included, hence why we are looking at creating an alternative (non-coin by the way) but this alternative has some  of the important properties that the distributed ledger provides.

To answer the question about expiry, we're looking at something we'll call proof-of-life for the device keys. In a nutshell on of the pieces of information stored with the device public key will be a last heard from date - a date which is sent only by the device from time to time. Records that are expired are devices that have not been heard from for a given period (to be decided). As the device keys are not related to the Bitcoin keys it will be safe to expire a device key by default. An expired device would require reinitialisation, which would make a new device key set, a new proof of life date and then the Bitcoin keys (BIP32) can be restored. 



Regards

Chris D'Costa

Sent from my iPhone

> On 1 Apr 2014, at 13:32, Jeff Garzik <jgarzik@bitpay•com> wrote:
> 
> Re-reading this, even with the most recent message, is still isn't
> clear _precisely_ how your technology works, or why it is better than
> namecoin.  User profiles (and distributed ledgers) need to reflect the
> latest updates, and a stream of updates of over time is precisely what
> bitcoin technology secures.
> 
> Keys expire or are compromised, and the public ledger needs to reflect
> that.  There is a lot of computer science involved in making sure the
> public ledger you see is not an outdated view.  A log-like stream of
> changes is not the only way to do things, but other methods need less
> hand-wavy details (show the code) before they are well recognized as
> useful.
> 
> 
> 
>> On Mon, Mar 31, 2014 at 7:14 AM, Chris D'Costa <chris.dcosta@meek•io> wrote:
>> Security of transmission of person-to-person pay-to addresses is one of the use cases that we are addressing on our hardware wallet.
>> 
>> I have yet to finish the paper but in a nutshell it uses a decentralised ledger of, what we refer to as, "device keys".
>> 
>> These keys are not related in any way to the Bitcoin keys, (which is why I'm hesitating about discussing it here) neither do they even attempt to identify the human owner if the device. But they do have a specific use case and that is to provide "advanced knowledge" of a publickey that can be used for encrypting a message to an intended recipient, without the requirement for a third-party CA, and more importantly without prior dialogue. We think it is this that would allow you to communicate a pay-to address to someone without seeing them in a secure way.
>> 
>> As I understand it the BlockChain uses "time" bought through proof of work to establish a version of the truth, we are using time in the reverse sense : advanced knowledge of all pubkeys. Indeed all devices could easily check their own record to identify problems on the ledger.
>> 
>> There is of course more to this, but I like to refer to the "distributed ledger of device keys" as the "Web-of-trust re-imagined" although that isn't strictly true.
>> 
>> Ok there you have it. The cat is out of the bag, feel free to give feedback, I have to finish the paper, apologies if it is not a topic for this list.
>> 
>> Regards
>> 
>> Chris D'Costa
>> 
>> 
>>> On 31 Mar 2014, at 12:21, vv01f <vv01f@riseup•net> wrote:
>>> 
>>> Some users on bitcointalk[0] would like to have their vanity addresses
>>> available for others easily to find and verify the ownership over a kind
>>> of WoT. Right now they sign their own addresses and quote them in the
>>> forums.
>>> As I pointed out there already the centralized storage in the forums is
>>> not secury anyhow and signed messages could be swapped easily with the
>>> next hack of the forums.
>>> 
>>> Is that use case taken care of in any plans already?
>>> 
>>> I thought about abusing pgp keyservers but that would suit for single
>>> vanity addresses only.
>>> It seems webfinger could be part of a solution where servers of a
>>> business can tell and proof you if a specific address is owned by them.
>>> 
>>> [0] https://bitcointalk.org/index.php?topic=502538
>>> [1] https://bitcointalk.org/index.php?topic=505095
>>> 
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> Bitcoin-development mailing list
>>> Bitcoin-development@lists•sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>> 
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Bitcoin-development mailing list
>> Bitcoin-development@lists•sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
> 
> 
> 
> -- 
> Jeff Garzik
> Bitcoin core developer and open source evangelist
> BitPay, Inc.      https://bitpay.com/



 permalink raw reply	[|nested]
2014-04-01 12:20     ` Chris D'Costa

  2014-04-01 22:26         ` Chris D'Costa
  
From: Daryl Banttari @ 2014-04-01 18:16 UTC (permalink / raw)
  To: bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 6579 bytes --]

I posted some code on Reddit a while back around adding a simple x509
digital signature to a Bitcoin address URL, since you could gain the
benefit of an x.509 authenticated Bitcoin address without having to do a
full BIP70 implementation.  It's not WoT, but x509, for all its flaws,
works very well in the real world almost all of the time.

For added authentication, one could always wrap the URL with a PGP
signature.

After lurking on this list for a while, I assumed there's some reason this
hasn't already been implemented, likely based in the general disgust around
x509.

Anyway, here's my idea (complete with working Java source):

http://www.reddit.com/r/BitcoinSerious/comments/1sebj0/proposal_bitcoin_invoice_signatures/

FWIW.

--Daryl



On Tue, Apr 1, 2014 at 7:20 AM, Chris D'Costa <chris.dcosta@meek•io> wrote:

> The code will be available as soon as we are ready, and apologies again
> for it not being a more meaningful conversation - I did say I hesitated
> about posting it ;)
>
> I think it is fair to say that we have not assumed anything about other
> technologies, without asking if they can answer all (not just some) of the
> questions I raised. I have yet to be convinced that anything existing meets
> those requirements, namecoin included, hence why we are looking at creating
> an alternative (non-coin by the way) but this alternative has some  of the
> important properties that the distributed ledger provides.
>
> To answer the question about expiry, we're looking at something we'll call
> proof-of-life for the device keys. In a nutshell on of the pieces of
> information stored with the device public key will be a last heard from
> date - a date which is sent only by the device from time to time. Records
> that are expired are devices that have not been heard from for a given
> period (to be decided). As the device keys are not related to the Bitcoin
> keys it will be safe to expire a device key by default. An expired device
> would require reinitialisation, which would make a new device key set, a
> new proof of life date and then the Bitcoin keys (BIP32) can be restored.
>
>
>
> Regards
>
> Chris D'Costa
>
> Sent from my iPhone
>
> > On 1 Apr 2014, at 13:32, Jeff Garzik <jgarzik@bitpay•com> wrote:
> >
> > Re-reading this, even with the most recent message, is still isn't
> > clear _precisely_ how your technology works, or why it is better than
> > namecoin.  User profiles (and distributed ledgers) need to reflect the
> > latest updates, and a stream of updates of over time is precisely what
> > bitcoin technology secures.
> >
> > Keys expire or are compromised, and the public ledger needs to reflect
> > that.  There is a lot of computer science involved in making sure the
> > public ledger you see is not an outdated view.  A log-like stream of
> > changes is not the only way to do things, but other methods need less
> > hand-wavy details (show the code) before they are well recognized as
> > useful.
> >
> >
> >
> >> On Mon, Mar 31, 2014 at 7:14 AM, Chris D'Costa <chris.dcosta@meek•io>
> wrote:
> >> Security of transmission of person-to-person pay-to addresses is one of
> the use cases that we are addressing on our hardware wallet.
> >>
> >> I have yet to finish the paper but in a nutshell it uses a
> decentralised ledger of, what we refer to as, "device keys".
> >>
> >> These keys are not related in any way to the Bitcoin keys, (which is
> why I'm hesitating about discussing it here) neither do they even attempt
> to identify the human owner if the device. But they do have a specific use
> case and that is to provide "advanced knowledge" of a publickey that can be
> used for encrypting a message to an intended recipient, without the
> requirement for a third-party CA, and more importantly without prior
> dialogue. We think it is this that would allow you to communicate a pay-to
> address to someone without seeing them in a secure way.
> >>
> >> As I understand it the BlockChain uses "time" bought through proof of
> work to establish a version of the truth, we are using time in the reverse
> sense : advanced knowledge of all pubkeys. Indeed all devices could easily
> check their own record to identify problems on the ledger.
> >>
> >> There is of course more to this, but I like to refer to the
> "distributed ledger of device keys" as the "Web-of-trust re-imagined"
> although that isn't strictly true.
> >>
> >> Ok there you have it. The cat is out of the bag, feel free to give
> feedback, I have to finish the paper, apologies if it is not a topic for
> this list.
> >>
> >> Regards
> >>
> >> Chris D'Costa
> >>
> >>
> >>> On 31 Mar 2014, at 12:21, vv01f <vv01f@riseup•net> wrote:
> >>>
> >>> Some users on bitcointalk[0] would like to have their vanity addresses
> >>> available for others easily to find and verify the ownership over a
> kind
> >>> of WoT. Right now they sign their own addresses and quote them in the
> >>> forums.
> >>> As I pointed out there already the centralized storage in the forums is
> >>> not secury anyhow and signed messages could be swapped easily with the
> >>> next hack of the forums.
> >>>
> >>> Is that use case taken care of in any plans already?
> >>>
> >>> I thought about abusing pgp keyservers but that would suit for single
> >>> vanity addresses only.
> >>> It seems webfinger could be part of a solution where servers of a
> >>> business can tell and proof you if a specific address is owned by them.
> >>>
> >>> [0] https://bitcointalk.org/index.php?topic=502538
> >>> [1] https://bitcointalk.org/index.php?topic=505095
> >>>
> >>>
> ------------------------------------------------------------------------------
> >>> _______________________________________________
> >>> Bitcoin-development mailing list
> >>> Bitcoin-development@lists•sourceforge.net
> >>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
> >>
> >>
> ------------------------------------------------------------------------------
> >> _______________________________________________
> >> Bitcoin-development mailing list
> >> Bitcoin-development@lists•sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
> >
> >
> >
> > --
> > Jeff Garzik
> > Bitcoin core developer and open source evangelist
> > BitPay, Inc.      https://bitpay.com/
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>

[-- Attachment #2: Type: text/html, Size: 8793 bytes --]

 permalink raw reply	[|nested]
2014-04-01 18:16       ` Daryl Banttari

  2014-04-02  0:59           ` Daryl Banttari
  
From: Chris D'Costa @ 2014-04-01 22:26 UTC (permalink / raw)
  To: Daryl Banttari;  bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 7883 bytes --]

Hi Daryl

I think the two issues with this are
1) pay to addresses are not fixed - ie you can have a different address for each transaction (which is why BIP70 is necessary to allow per transaction addresses via https.)
2) unless you are already aware of the  public key of the signature, you do not know if the signature is made by the person you think it is supposed to be from. See recent concern over fake key for Gavin Andresen. Ie a signature can always be verified with a valid public key, the question is was it the real person's key. That is what WoT tried to resolve with so-called "signing parties", nowadays keys posted to a public forum by a known user, but it's not a standard and not ideal.



Regards

Chris D'Costa


Sent from my iPhone

> On 1 Apr 2014, at 20:16, Daryl Banttari <dbanttari@gmail•com> wrote:
> 
> I posted some code on Reddit a while back around adding a simple x509 digital signature to a Bitcoin address URL, since you could gain the benefit of an x.509 authenticated Bitcoin address without having to do a full BIP70 implementation.  It's not WoT, but x509, for all its flaws, works very well in the real world almost all of the time.
> 
> For added authentication, one could always wrap the URL with a PGP signature.
> 
> After lurking on this list for a while, I assumed there's some reason this hasn't already been implemented, likely based in the general disgust around x509.
> 
> Anyway, here's my idea (complete with working Java source):
> 
> http://www.reddit.com/r/BitcoinSerious/comments/1sebj0/proposal_bitcoin_invoice_signatures/
> 
> FWIW.
> 
> --Daryl
> 
> 
> 
>> On Tue, Apr 1, 2014 at 7:20 AM, Chris D'Costa <chris.dcosta@meek•io> wrote:
>> The code will be available as soon as we are ready, and apologies again for it not being a more meaningful conversation - I did say I hesitated about posting it ;)
>> 
>> I think it is fair to say that we have not assumed anything about other technologies, without asking if they can answer all (not just some) of the questions I raised. I have yet to be convinced that anything existing meets those requirements, namecoin included, hence why we are looking at creating an alternative (non-coin by the way) but this alternative has some  of the important properties that the distributed ledger provides.
>> 
>> To answer the question about expiry, we're looking at something we'll call proof-of-life for the device keys. In a nutshell on of the pieces of information stored with the device public key will be a last heard from date - a date which is sent only by the device from time to time. Records that are expired are devices that have not been heard from for a given period (to be decided). As the device keys are not related to the Bitcoin keys it will be safe to expire a device key by default. An expired device would require reinitialisation, which would make a new device key set, a new proof of life date and then the Bitcoin keys (BIP32) can be restored.
>> 
>> 
>> 
>> Regards
>> 
>> Chris D'Costa
>> 
>> Sent from my iPhone
>> 
>> > On 1 Apr 2014, at 13:32, Jeff Garzik <jgarzik@bitpay•com> wrote:
>> >
>> > Re-reading this, even with the most recent message, is still isn't
>> > clear _precisely_ how your technology works, or why it is better than
>> > namecoin.  User profiles (and distributed ledgers) need to reflect the
>> > latest updates, and a stream of updates of over time is precisely what
>> > bitcoin technology secures.
>> >
>> > Keys expire or are compromised, and the public ledger needs to reflect
>> > that.  There is a lot of computer science involved in making sure the
>> > public ledger you see is not an outdated view.  A log-like stream of
>> > changes is not the only way to do things, but other methods need less
>> > hand-wavy details (show the code) before they are well recognized as
>> > useful.
>> >
>> >
>> >
>> >> On Mon, Mar 31, 2014 at 7:14 AM, Chris D'Costa <chris.dcosta@meek•io> wrote:
>> >> Security of transmission of person-to-person pay-to addresses is one of the use cases that we are addressing on our hardware wallet.
>> >>
>> >> I have yet to finish the paper but in a nutshell it uses a decentralised ledger of, what we refer to as, "device keys".
>> >>
>> >> These keys are not related in any way to the Bitcoin keys, (which is why I'm hesitating about discussing it here) neither do they even attempt to identify the human owner if the device. But they do have a specific use case and that is to provide "advanced knowledge" of a publickey that can be used for encrypting a message to an intended recipient, without the requirement for a third-party CA, and more importantly without prior dialogue. We think it is this that would allow you to communicate a pay-to address to someone without seeing them in a secure way.
>> >>
>> >> As I understand it the BlockChain uses "time" bought through proof of work to establish a version of the truth, we are using time in the reverse sense : advanced knowledge of all pubkeys. Indeed all devices could easily check their own record to identify problems on the ledger.
>> >>
>> >> There is of course more to this, but I like to refer to the "distributed ledger of device keys" as the "Web-of-trust re-imagined" although that isn't strictly true.
>> >>
>> >> Ok there you have it. The cat is out of the bag, feel free to give feedback, I have to finish the paper, apologies if it is not a topic for this list.
>> >>
>> >> Regards
>> >>
>> >> Chris D'Costa
>> >>
>> >>
>> >>> On 31 Mar 2014, at 12:21, vv01f <vv01f@riseup•net> wrote:
>> >>>
>> >>> Some users on bitcointalk[0] would like to have their vanity addresses
>> >>> available for others easily to find and verify the ownership over a kind
>> >>> of WoT. Right now they sign their own addresses and quote them in the
>> >>> forums.
>> >>> As I pointed out there already the centralized storage in the forums is
>> >>> not secury anyhow and signed messages could be swapped easily with the
>> >>> next hack of the forums.
>> >>>
>> >>> Is that use case taken care of in any plans already?
>> >>>
>> >>> I thought about abusing pgp keyservers but that would suit for single
>> >>> vanity addresses only.
>> >>> It seems webfinger could be part of a solution where servers of a
>> >>> business can tell and proof you if a specific address is owned by them.
>> >>>
>> >>> [0] https://bitcointalk.org/index.php?topic=502538
>> >>> [1] https://bitcointalk.org/index.php?topic=505095
>> >>>
>> >>> ------------------------------------------------------------------------------
>> >>> _______________________________________________
>> >>> Bitcoin-development mailing list
>> >>> Bitcoin-development@lists•sourceforge.net
>> >>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>> >>
>> >> ------------------------------------------------------------------------------
>> >> _______________________________________________
>> >> Bitcoin-development mailing list
>> >> Bitcoin-development@lists•sourceforge.net
>> >> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>> >
>> >
>> >
>> > --
>> > Jeff Garzik
>> > Bitcoin core developer and open source evangelist
>> > BitPay, Inc.      https://bitpay.com/
>> 
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Bitcoin-development mailing list
>> Bitcoin-development@lists•sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development

[-- Attachment #2: Type: text/html, Size: 10524 bytes --]

 permalink raw reply	[|nested]
2014-04-01 22:26         ` Chris D'Costa

  2014-04-02  5:16             ` Chris D'Costa
  2014-04-02 12:01             ` Mike Hearn
  
From: Daryl Banttari @ 2014-04-02  0:59 UTC (permalink / raw)
  To: Chris D'Costa;  bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 1820 bytes --]

Chris,

Thank you for taking the time to look at my proposal.

1) pay to addresses are not fixed - ie you can have a different address for
> each transaction (which is why BIP70 is necessary to allow per transaction
> addresses via https.)
>

This is certainly true for a "published" address; however a new address
(and URL) can be generated for each one-off peer-to-peer transaction.
 However, I'd expect that most of the time this use case will be handed by
BIP70.  Still, this could allow someone to implement a authenticated,
non-repudiable payment request without having to go through the hassle of a
full BIP70 implementation.


> 2) unless you are already aware of the  public key of the signature, you
> do not know if the signature is made by the person you think it is supposed
> to be from. See recent concern over fake key for Gavin Andresen. Ie a
> signature can always be verified with a valid public key, the question is
> was it the real person's key. That is what WoT tried to resolve with
> so-called "signing parties", nowadays keys posted to a public forum by a
> known user, but it's not a standard and not ideal.
>

My proposal leverages the existing SSL key system (yes, PKI), so there is a
reasonable expectation that if the signature verifies, it came from the
party indicated on the cert.  While SSL (and the PKI system underpinning
it) have its faults, the example you highlighted was specifically a problem
with WoT, not PKI.  Can a compromised web server cause payments to be made
to the wrong party?  Of course-- but that's already true.  And that's not
something BIP70 solves (or attempts to solve) either.

(To explain [better than I could] why I feel PKI is a pragmatic solution, I
defer to Mike Hearn 's article:
https://medium.com/bitcoin-security-functionality/b64cf5912aa7)

--Daryl

[-- Attachment #2: Type: text/html, Size: 2684 bytes --]

 permalink raw reply	[|nested]
2014-04-02  0:59           ` Daryl Banttari

  2014-04-02 12:01             ` Mike Hearn
  
From: Chris D'Costa @ 2014-04-02  5:16 UTC (permalink / raw)
  To: Daryl Banttari;  bitcoin-development

Hi Daryl
> My proposal leverages the existing SSL key system

Ok I thought you were suggesting wrapping the URL in an additional PGP  signature.


 permalink raw reply	[|nested]
2014-04-02  0:59           ` Daryl Banttari
  2014-04-02  5:16             ` Chris D'Costa

  
From: Mike Hearn @ 2014-04-02 12:01 UTC (permalink / raw)
  To: Daryl Banttari;  bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 2475 bytes --]

Hi Daryl,

I think the reason nobody has done that is that BIP70 isn't really that
much work. It's basically just certs inside a protobuf, with a bit of extra
data. I'm not sure yet another way to do the same thing is worth much.


On Wed, Apr 2, 2014 at 2:59 AM, Daryl Banttari <dbanttari@gmail•com> wrote:

> Chris,
>
> Thank you for taking the time to look at my proposal.
>
> 1) pay to addresses are not fixed - ie you can have a different address
>> for each transaction (which is why BIP70 is necessary to allow per
>> transaction addresses via https.)
>>
>
> This is certainly true for a "published" address; however a new address
> (and URL) can be generated for each one-off peer-to-peer transaction.
>  However, I'd expect that most of the time this use case will be handed by
> BIP70.  Still, this could allow someone to implement a authenticated,
> non-repudiable payment request without having to go through the hassle of a
> full BIP70 implementation.
>
>
>> 2) unless you are already aware of the  public key of the signature, you
>> do not know if the signature is made by the person you think it is supposed
>> to be from. See recent concern over fake key for Gavin Andresen. Ie a
>> signature can always be verified with a valid public key, the question is
>> was it the real person's key. That is what WoT tried to resolve with
>> so-called "signing parties", nowadays keys posted to a public forum by a
>> known user, but it's not a standard and not ideal.
>>
>
> My proposal leverages the existing SSL key system (yes, PKI), so there is
> a reasonable expectation that if the signature verifies, it came from the
> party indicated on the cert.  While SSL (and the PKI system underpinning
> it) have its faults, the example you highlighted was specifically a problem
> with WoT, not PKI.  Can a compromised web server cause payments to be made
> to the wrong party?  Of course-- but that's already true.  And that's not
> something BIP70 solves (or attempts to solve) either.
>
> (To explain [better than I could] why I feel PKI is a pragmatic solution,
> I defer to Mike Hearn 's article:
> https://medium.com/bitcoin-security-functionality/b64cf5912aa7)
>
> --Daryl
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

[-- Attachment #2: Type: text/html, Size: 3926 bytes --]

 permalink raw reply	[|nested]