Author Topic: Secure Payments to Users by Name  (Read 11239 times)

0 Members and 1 Guest are viewing this topic.

Offline BTSdac

  • Hero Member
  • *****
  • Posts: 1219
    • View Profile
  • BitShares: K1
While laying in bed this morning I had a flash of insight on how to significantly reduce the size of the signatures that prove who a payment is from.

Given Public Information (in blockchain):
Quote
dan => DANS_EXT_PUBLIC_KEY
scott => SCOTTS_EXT_PUBLIC_KEY

Assuming scott wants to send dan a payment anonymously, yet wants dan to know it is from him.

Quote
scott:  Generate OneTimePrivateKey  & OneTimePublicKey Pair
scott:  OneTimePrivateKey * DANS_EXT_PUBLIC_KEY => SECRET
                                        DANS_EXT_PUBLIC_KEY.child( SECRET ) => RECEIVE_PUBLIC_KEY => RECEIVE_ADDRESS
scott:  RECEIVE_PUBLIC_KEY * SCOTTS_EXT_PRIVATE_KEY => CHECK_SECRET
                                                                                    => SHORT_HASH(CHECK_SECRET) == SHORT_SIGNATURE

scott-broadcast:   OneTimePublicKey + RECEIVE_ADDRESS + ENCRYPT( from scott + SHORT_SIGNATURE, SECRET )

Quote
dan:   OneTimePublicKey * DANS_EXT_PRIVATE_KEY => SECRET
                                      DANS_EXT_PRIVATE_KEY.child( SECRET ) =>
                                                                RECEIVE_PRIVATE_KEY =>
                                                                  RECEIVE_PUBLIC_KEY => RECEIVE_ADDRESS

dan:   DECRYPT( data, SECRET ) => "from scott" + SHORT_SIGNATURE )
dan:   SCOTT_EXT_PUBLIC_KEY * RECEIVE_PRIVATE_KEY => CHECK_SECRET => SHORT_HASH(CHECK_SECRET)
HI  BM , I know you are busy recently , if you have spare , can you explain why use EXT_PRIVATE_KEY.child( SECRET ) rather than  EXT_PRIVATE_KEY(SECRET)  , 
generate many child key is the reason of  low inefficiency?
github.com :pureland
BTS2.0 API :ws://139.196.37.179:8091
BTS2.0 API 数据源ws://139.196.37.179:8091

Offline HackFisher

  • Hero Member
  • *****
  • Posts: 883
    • View Profile
How will you do to implement the notification feature, if you are a developer of blockchain.info?
Is receiving notification possible without ext_private_key?
No extended private keys. 

Notification feature is challenging unless you want to trust someone with read-only access to your funds.

You effectively encrypt with two keys, a read key and a spend key, both of which can be derived from your public key. 

The sending client would have to facilitate the observer.

Sending client and receiving client are decoupled, which means that the sending client do not know whether or not the receive side need such read key(e.g. for notification), when generating the transfer transaction.

My understanding is that there are only two options, in the protocol or not. If it is not in the protocol, then it will be very difficult to support such feature in the network.

By the way, are the read key or spend key the fields user provided in the name account for the sending client to use? So you mean the receiver will tell the sender whether or not facilitate the read observer according to account settings?
« Last Edit: June 01, 2014, 03:50:55 am by HackFisher »
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline HackFisher

  • Hero Member
  • *****
  • Posts: 883
    • View Profile
Does user have to register a new name before other transfer some bts to him? What if that user do not have any balance to pay the name register fee?

You can have an account that isn't registered. You share your public key and they create a sending account with that key.

The "sending account" from sending client is not registered too, which might means TITAN wallet still have to manage local accounts.
I'm wondering whether or not we could simplify it by allowing sending/receiving bts with just key?
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Does user have to register a new name before other transfer some bts to him? What if that user do not have any balance to pay the name register fee?

You can have an account that isn't registered. You share your public key and they create a sending account with that key.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline HackFisher

  • Hero Member
  • *****
  • Posts: 883
    • View Profile
Does user have to register a new name before other transfer some bts to him? What if that user do not have any balance to pay the name register fee?
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

How will you do to implement the notification feature, if you are a developer of blockchain.info?
Is receiving notification possible without ext_private_key?
No extended private keys. 

Notification feature is challenging unless you want to trust someone with read-only access to your funds.

You effectively encrypt with two keys, a read key and a spend key, both of which can be derived from your public key. 

The sending client would have to facilitate the observer.

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline HackFisher

  • Hero Member
  • *****
  • Posts: 883
    • View Profile
How will you do to implement the notification feature, if you are a developer of blockchain.info?
Is receiving notification possible without ext_private_key?
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc

clout

  • Guest
I think it should be Transfer Invisibly To Any Name

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
I wrote together a few lines of this thread:
http://pad.bitshares.org/p/Upcoming_Newsletter_articles

Please proof-read and add anything useful for possible readers of a newsletter.
« Last Edit: May 27, 2014, 06:30:55 am by xeroc »

Offline JoeyD

We should also have something called 'Darkshares'  8)
Maybe people are attracted to the Dark...

yes people are attracted maybe .. but i'm not a friend of this kind of shady names

TITAN sounds epic :)
I agree, I also like the implied connotation of attempting to challenge the gods instead of the hiding in the shadows one when using the dark-adjective. Dark and black are mostly used for things people know nothing about or are uncertain of, so to me it sounds more like a label of weakness or incompetence.

Offline liondani

  • Hero Member
  • *****
  • Posts: 3737
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani
Titanshares

Sent from my ALCATEL ONE TOUCH 997D using Tapatalk


Offline cass

  • Hero Member
  • *****
  • Posts: 4311
  • /(┬.┬)\
    • View Profile
We should also have something called 'Darkshares'  8)
Maybe people are attracted to the Dark...

yes people are attracted maybe .. but i'm not a friend of this kind of shady names

TITAN sounds epic :)

█║▌║║█  - - -  The quieter you become, the more you are able to hear  - - -  █║▌║║█

Offline jae208

  • Hero Member
  • *****
  • Posts: 525
    • View Profile
We should also have something called 'Darkshares'  8)
Maybe people are attracted to the Dark...
http://bitsharestutorials.com A work in progress
Subscribe to the Youtube Channel
https://www.youtube.com/user/BitsharesTutorials

Offline yellowecho

 +5% this sounds so rad!   8)
696c6f766562726f776e696573