Claims
- 1. A method of establishing payment for a transaction T, the method comprising:
A. a first party deriving from T a data string C related to T, and causing a second party to receive at least a portion of said data string C; B. the second party associating with said at least a portion of C an item V, wherein V is substantially unpredictable by the first party; C. the second party determining whether V satisfies a property P, and if so, the second party causing a third party to receive information I enabling the third party to verify whether V satisfies said property P; D. the third party, upon receiving I, verifying whether V satisfies said property P; and E. the third party causing a fourth party to receive an amount a, only if V satisfies said property P.
- 2. A method according to claim 1, wherein at least a portion of said data string C is authenticated.
- 3. A method according to claim 1,
wherein the step of the second party determining whether V satisfies a property P does not require an interaction between the second party and the first party.
- 4. A method according to claim 2, wherein said portion of said data string is authenticated by a fifth party on behalf of the first party.
- 5. A method according to claim 1, wherein the step of the first party deriving the data string C from T includes the step of the first party creating a digital signature for at least a portion of T, using a secret key of the first party.
- 6. A method according to claim 5, wherein said digital signature of said first party comprises at least one of:
(a) a deterministic signature; (b) a randomized signature; (c) an off-line signature; (d) an on-line signature; and (e) an identity-based signature.
- 7. A method according to claim 1, wherein the step of the second party associating the item V with C includes the step of the second party creating a digital signature for at least a portion of C, using a secret key of the second party.
- 8. A method according to claim 7, wherein said digital signature of said second party is a deterministic signature.
- 9. A method according to claim 1, wherein said data string C comprises at least one of:
a digital signature for at least a portion of said transaction T, wherein said digital signature is computed using a secret key of the first party; a message authentication code, wherein said message authentication code value is computed using a secret key of the first party; and iii) an electronic check.
- 10. A method according to claim 1, wherein said item V comprises at least one of:
a) a digital signature for C, wherein said digital signature is computed using a secret key of the second party; and b) a message authentication code value, wherein said message authentication code value is computed using a secret key known to the second party.
- 11. A method according to claim 1, wherein the step of said second party causing said third party to receive said information I includes at least one of:
a) the second party sending I to the third party; b) the second party asking a fifth party to send I to the third party; and c) the second party posting I in a file, and said third party retrieving I from said file.
- 12. A method according to claim 1, further including the step of the second party checking, after receiving C, the authenticity and integrity of C.
- 13. A method according to claim 12, wherein the second party makes use of public verification information that is related to the first party, in order to check the authenticity and integrity of C.
- 14. A method according to claim 13, wherein said public verification information comprises the first party's public key that corresponds to the first party's secret key, in a public key digital signature scheme.
- 15. A method according to claim 13, wherein the step of the second party making use of said public verification information includes at least one of:
(a) the second party obtaining said public verification information from the first party; (b) the second party obtaining said public verification information from information transmitted by the first party in association with said data string C; (c) the second party obtaining said public verification information from a digital certificate; and (d) the second party obtaining said public verification information from information about the first party that is publicly available.
- 16. A method according to claim 1, wherein the second party and the fourth party are identical.
- 17. A method according to claim 1, wherein said second party and said third party are identical.
- 18. A method according to claim 1, wherein V satisfies P only if:
- 19. A method according to claim 18, wherein 0<s<1.
- 20. A method according to claim 18, wherein F is a public function that takes arbitrary bit strings as input, and returns as output a number greater than 0 and less than 1.
- 21. A method according to claim 1, wherein said transaction T is characterized in part by a transaction value Tv.
- 22. A method according to claim 21, wherein said amount received by said fourth party is greater than Tv.
- 23. A method according to claim 20, wherein said transaction T is characterized in part by a transaction value Tv, and wherein said amount received by said fourth party is equal to (Tv* 1/s).
- 24. A method according to claim 1,
(a) wherein said item V comprises the digital signature of said second party relating to said data string C; and (b) wherein V satisfies said property P if F(V) is less than s, where F represents a public function that operates upon a bit string and returns as output a number between 0 and 1.
- 25. A method according to claim 1, wherein said data string C contains information on T, said information comprising at least one of:
a) the identity of the first party; b) the time of the transaction; and c) the date of the transaction.
- 26. A method for a user U to establish payment to a merchant M for a transaction T having a transaction value TV, the method comprising:
A. the user establishing a public key and a corresponding secret key for a first digital signature scheme, and deriving from T a data string C=SIGU(T) to create an electronic check containing C, wherein SIGU(T) represents the digital signature of the user U for the transaction T in said first digital signature scheme; B. the user causing the merchant to receive said data string C; C. the merchant establishing a public key and a corresponding secret key for a second digital signature scheme, and associating with said data string C an item V=SIGM(C), wherein SIGM(C) represents the digital signature of the merchant M for said data string C in said second digital signature scheme; D. the merchant computing the value F(V)=F(SIGM(C)), where F represents a public function that operates on a bit string to output a number between 0 and 1; E. the merchant comparing F(SIGM(C)) with a constant s to determine whether F(V)<s, and if so, causing a bank to obtain said public key of the merchant; F. the bank using said public key of the merchant to verify that F(SIGM(C))<s; and G. only if F(SIGM(C))<s, the bank causing the merchant to receive an amount A=[TV*1/s]; wherein s is a constant greater than 0 and less than 1, and represents the probability that the electronic check be selected for presentation to the bank.
- 27. A system for establishing payment for a transaction T, the system comprising:
A. communications means for transmitting data between a first party, a second party, a third party, and a fourth party; B. a first processing means operative by a first party for deriving, inputting, and storing a data string C related to T; C. a second processing means operative by a second party and responsive to C, for associating an item V with at least a portion of C, and for determining whether V satisfies a property P;
wherein V is substantially unpredictable by the first party; D. means, selectively operative by the second party when V satisfies P, for causing a third party to receive information I enabling the third party to verify whether V satisfies P; and E. means, selectively operative by the third party when V satisfies P, for causing a fourth party to receive an amount A.
- 28. A method of establishing payment for a transaction T, the method comprising:
A. a first party receiving from a second party at least a portion of a data string C, wherein said data string C is related to T; B. the first party associating with said at least a portion of C an item V, wherein V is substantially unpredictable by the second party; and C. the first party determining whether V satisfies a property P, and only if so, the first party causing a third party to receive information I enabling the third party to verify whether V satisfies said property P, thereby enabling the third party to cause a fourth party to receive an amount A upon verification that V satisfies P.
- 29. A method of establishing payment for a transaction T, the method comprising:
A. a first party receiving from a second party information I enabling the first party to verify that an item V satisfies a property P;
wherein said item V is associated with at least a portion of a data string C derived from T by a third party, and wherein V is substantially unpredictable by said third party; B. the first party, upon receiving L verifying whether V satisfies said property P; and C. the first party causing a fourth party to receive an amount A, only if V satisfies said property P.
- 30. A method of establishing payment for a transaction T characterized in part by a time t, the method comprising:
A. a first party deriving from T a data string C related to T, wherein C includes information IN regarding said time t; B. the first party causing a second party to receive at least a portion of said data string C, wherein said at least a portion of C includes information IN; C. the second party associating with said at least a portion of C an item V, wherein V is substantially unpredictable by the first party; D. the second party determining whether V satisfies a property P, and if so, the second party at time t′ causing a third party to receive information IN and information I enabling the third party to verify whether V satisfies said property P; E. the third party, upon receiving I, verifying whether V satisfies said property P; and F. the third party causing a fourth party to receive an amount A, only if:
a) V satisfies said property P, and b) |t′−t| is less than a predetermined time interval.
- 31. A method according to claim 30, wherein said predetermined time interval |t′−t| is n days, where n is a nonzero integer from about one to about seven.
- 32. A method according to claim 30, wherein said predetermined time interval |t′−t| is at least m hours, where m is a nonzero integer from about one to about twenty four.
- 33. A method according to claim 30, wherein the first party in step B causes the second party to receive said portion of C at a time t1>t,
and wherein the second party refuses to accept C as payment for T unless |t1−t| is less than a predetermined amount.
- 34. A method according to claim 30,
wherein said data string C comprises a digital signature for at least a portion of T, created using a secret key of the first party.
- 35. A method according to claim 30, wherein V satisfies P only if V matches at least a portion of C.
- 36. A method according to claim 30, wherein said property P depends on V but not on C.
- 37. A method according to claim 30, wherein V satisfies P only if:
- 38. A method according to claim 37, wherein the value F(V) of the function F is substantially unpredictable by the first party.
- 39. A method according to claim 37, wherein at least one of said function F and said constant s are specified in C.
- 40. A method according to claim 37, wherein F is one of:
(a) a fixed public function; (b) a public function that takes arbitrary bit strings as input and returns as output a number greater than 0 and less than 1.
- 41. A method according to claim 30, wherein V comprises a digital signature for C, computed using a secret key of the second party, and denoted as SIGM(C).
- 42. A method according to claim 30, further comprising, after the step of the fourth party receiving the amount A, the step of the third party causing the first party to receive a free subscription to one or more transactions TSi (i=1, . . . , n) provided by the second party, if for all i (i=1, . . . n), said transactions TSi are characterized in part by a time tsi, and |tsi−t| is less than a predetermined amount.
- 43. A method according to claim 30,
wherein said item V comprises a digital signature for at least one of: a) date information relating to T and contained in C; b) a serial number contained in C; c) a string included in C; d) a random string part of C; and e) a quantity dependent on C; and wherein V is computed using a secret key of the second party, and can be denoted as SIGM.
- 44. A method according to claim 30, wherein said item V comprises a digital signature of G(C), where G represents at least one of a function and an algorithm.
- 45. A method according to claim 44, wherein V satisfies P only if
- 46. A method according to claim 44, wherein G(C) is specified within at least one of T and C.
- 47. A method according to claim 44, wherein G(C) includes at least one of:
(a) a substring of T; (b) information F regarding said time t of the transaction T; (c) information regarding the date on which the transaction T took place; and (d) a string W selected by the first party.
- 48. A method according to claim 47, wherein said string W is unique to T, and is selected at random.
- 49. A method according to claim 47, wherein V=SIGM(G(C)) is adapted to be computed by the second party before receiving said at least a portion of C.
- 50. A method according to claim 44, wherein said property P is satisfied if at least some bits of V=SIGM(G(C)) match at least some bits of C.
- 51. A method according to claim 44, wherein said property P is satisfied if a selected m-bit string in V=SIGM(G(C)) matches a selected m-bit string in C, wherein m is a predetermined positive integer.
- 52. A method according to claim 51, wherein m is about 10.
- 53. A method of establishing payment for a transaction T, the method comprising:
A. a first party deriving from T a data string C related to T, and causing a second party to receive at least a portion of said data string C; B. the second party determining whether a property P holds between said at least a portion of C and a quantity Q depending on C, wherein Q is substantially unpredictable by the first party, and if so, the second party causing a third party to receive information I enabling the third party to verify that said property P is satisfied; C. the third party, upon receiving I, verifying whether said property P is satisfied; and D. only upon verifying that said property P holds between said at least a portion of C and Q, the third party causing a fourth party to receive an amount A.
- 54. A method according to claim 53, wherein said quantity Q can be represented as G(C), and wherein G is at least one of a function and an algorithm.
- 55. A method according to claim 54, wherein G(C) includes information on at least one of:
a) the time t at which the transaction T took place, and b) the date d on which the transaction T took place.
- 56. A method according to claim 55, wherein said property P holds only if at least some bits of C equal at least some bits of SIGM(G(C)), where SIGM(G(C)) denotes the digital signature for G(C), created using a secret key of the second party.
- 57. A method of establishing payment for a transaction T characterized in part by a time t, the method comprising:
A. a first party deriving from T a data string C related to T; B. a second party deriving a sequence of values VLi associated with a sequence of times ti (i=1, . . . , n), wherein for at least one integer m greater than 1 and less than n, |t−tm| is less than a predetermined amount; C. the first party causing the second party to receive at least a portion of said data string C, wherein said portion includes information regarding the time t of said transaction T; D. the second party determining whether a property P holds between said portion of C, and one of said value VLm associated with tm, and a quantity Q depending on VLm; E. if P holds, the second party causing a third party to receive information I enabling the third party to verify that said property P is satisfied; F. the third party, upon receiving I, verifying whether Q satisfies P; and G. the third party causing a fourth party to receive an amount A, only if Q satisfies said property P.
- 58. A method according to claim 57, wherein said quantity Q is given by: Q=F(SIGM(Vm)), where F represents a function, and where SIGM(Vm) represents a digital signature of Vm, created using a secret key of the second party.
- 59. A method of establishing payment for a transaction T characterized in part by a transaction t, the method comprising:
A. a first party deriving from T a data string C related to T, wherein C includes information regarding t; B. a second party deriving a sequence of values Vi associated with a sequence of time units ti (i=1, . . . , n);
wherein each pair of adjacent time units ti+1 and ti defines a time interval Δti=ti+1−ti; and wherein for at least an integer m greater than 1 and less than n, said time t is within the time interval Δtm; C. at the beginning of said time interval Δtm, the second party deriving a value Qm associated with Vm, wherein Qm is substantially unpredictable by the first party; D. during said time interval Δtm:
a) the first party causing the second party to receive at least a portion of C; b) the second party determining whether a property P holds between said portion of C and Qm, and if so, the second party causing a third party to receive information I enabling the third party to verify that said property P is satisfied; E. the third party, upon receiving I, verifying whether Q satisfies P; and F. the third party causing a fourth party to receive an amount A, only if Q satisfies said property P.
- 60. A method according to claim 59, wherein step C takes place before step B, and wherein said property P is satisfied only if at least some bits of Q match at least some bits of C.
- 61. A method according to claim 59, wherein Qi is given by Qi=F(SIGM(Vi)), where F represents a function and where SIGM(Vi) represents a digital signature of Vi, created using a secret key of the second party.
- 62. A method according to claim 59, wherein for all i=1, . . . , n, the time interval Δti=|ti+1−ti| is a predetermined time interval.
- 63. A method according to claim 62, wherein said predetermined constant is one day.
- 64. A method of establishing payment for a transaction T characterized in part by a time t, the method comprising:
A. a first party deriving from T a data string C related to T, wherein C includes information F regarding t; B. a second party deriving a sequence of values xi (i=0, 1, . . . , n) associated with a sequence of time values ti (i=0, 1, . . . , n), and making x0 public;
wherein xi=H(xi+1) for i=0, 1, . . . , n−1, where H is a one-way hash function; wherein each pair of adjacent time values ti+1 and ti defines a time interval Δti=ti+1−ti; and wherein for at least an integer m greater than 1 and less than n, said time t is the time interval Δtm; C. during said time interval Δtm, the first party causing the second party to receive at least a portion of C, wherein said portion includes F; D. during said time interval Δtm, the second party determining whether a property P holds between Qm and said portion of C, and if so, the second party causing a third party to receive information I enabling the third party to verify that said property P is satisfied; E. the third party, upon receiving I, verifying whether Qm satisfies P; and F. the third party causing a fourth party to receive an amount A, only if Q satisfies said property P.
- 65. A method according to claim 64, wherein the step of the second party making x0 public comprises at least one of:
a) placing x0 in a public file; and b) digitally signing x0 using a secret key of the second party, and placing the corresponding public key in a public directory;
- 66. A method according to claim 64, wherein said time interval Δti=ti+1−ti is a predetermined constant for all i=1, . . . , n.
- 67. A system for establishing payment for a transaction T characterized in part by a time t, the system comprising:
A. communications means for transmitting data between a first party, a second party, a third party, and a fourth party; B. a first processing means operative by a first party for deriving, inputting, and storing a data string C related to T, wherein C contains information F regarding the time t; C. a second processing means operative by a second party and responsive to C, for associating an item V with at least a portion of C, and for determining whether V satisfies a property P;
wherein V is substantially unpredictable by the first party; D. means, selectively operative by the second party when V satisfies P, for causing a third party to receive F, and information I enabling the third party to verify:
a) whether V satisfies P; and b) wherein |t′−t| is less than a predetermined amount; E. means, selectively operative by the third party when V satisfies P, and |t′−t| is less than a predetermined amount, for causing a fourth party to receive an amount A.
- 68. A method of establishing payment for a transaction T characterized in part by a time t, the method comprising:
A. a first party receiving from a second party at time t′ information I enabling the first party to verify that an item V satisfies a property P;
wherein said item V is associated with at least a portion of a data string C that is derived from T by a third party and that includes information regarding t; and wherein V is substantially unpredictable by said third party; B. the first party, upon receiving L verifying whether V satisfies said property P; and C. the first party causing a fourth party to receive an amount A, only if:
a) V satisfies said property P; and b) |t′−t| is less than a predetermined amount.
- 69. A method of establishing payment for a transaction T characterized in part by a time t, the method comprising:
A. a first party receiving from a second party at least a portion of a data string C, wherein said data string C is related to T, and wherein said portion of C includes information on t; B. the first party associating with said at least a portion of C an item V, wherein V is substantially unpredictable by the second party; and C. the first party determining whether V satisfies a property P, and if so, the first party at a time t′ causing a third party to receive information I enabling the third party to verify whether V satisfies said property P, thereby enabling the third party to cause a fourth party to receive an amount A, provided that
a) V satisfies P; and b) |t′−t| is less than a predetermined amount.
- 70. A method of establishing payment for a plurality of n transactions T1, T2, . . . Ti, . . . Tn, wherein an index i, between 1 and n, can be associated with each Ti, and wherein each transaction Ti is characterized in part by a transaction value TVi, the method comprising:
A. a first party using a probabilistic payment scheme to generate a check Ci for each transaction Ti and causing a second party to receive said Ci, wherein Ci includes an indication of the index i; B. the second party selecting the checks Cj (1≦j≦n) that are payable in a manner that prevents the first party from predicting in advance which checks Cj will be selected to be payable; C. the second party causing a third party to receive information Ij enabling the third party to verify that a selected check Cj is payable; D. the third party, in response to receipt of Ij, verifying that a selected check Cj is payable; and E. only if Cj is payable, a fifth party causing a fourth party to receive a credit amount CRj, and causing the first party to be debited by a debit amount Dj so that, for all index j between 1 and n, and for any selection of payable checks, D=D1+D2+ . . . +Dj is no greater than TVagg=TV1+TV2+ . . . +TVj.
- 71. A method according to claim 70, wherein each debit amount Dj is determined at least in part by one of TVj and Cj, for all index j between 1 and n.
- 72. A method according to claim 70, wherein each debit amount Dj depends on said index j associated with Tj.
- 73. A method according to claim 72, wherein each debit amount Dj also depends on at least one of a previous debit amount Dk (1≦k<j≦n), and a previous index l (1≦l<j≦n)for which a debited amount Dl was debited.
- 74. A method according to claim 70, further comprising the step of said fifth party causing an indication of the index j to be stored, for each check Cj selected for payment.
- 75. A method according to claim 74, wherein each debit amount Dj of a payable check Cj depends on the latest stored index k of any previous checks found to be payable.
- 76. A method according to claim 70, wherein the step of the second party causing the third party to receive the information Ij includes at least one of:
a) the second party sending Ij to the third party; b) the second party asking a fifth party to send Ij to the third party; and c) the second party posting Ij in a file, and said third party retrieving Ij from said file.
- 77. A method of establishing payment for a plurality of n transactions T1, T2, . . . Ti, . . . Tn, wherein an index i, between 1 and n, can be associated with each Ti, and wherein each transaction Ti is characterized in part by a transaction value TVi, the method comprising:
A. a first party deriving from each transaction Ti a data string Ci related to Ti, and causing a second party to receive said data string Ci; B. the second party associating with each data string Ci an item Vi, wherein Vi is substantially unpredictable by the first party; C. the second party determining whether Vi satisfies a property Pi, and if so, the second party causing a third party to receive information Ii enabling the third party to verify whether Vi satisfies said property Pi; D. the third party, in response to receipt of Ii, verifying whether Vi satisfies said property Pi; and E. only if Vi satisfies said property Pi, a fifth party causing a fourth party to receive a credit amount CRi, and causing the first party to be debited by a debit amount Di;
wherein said debit amount Di is less than or equal to said credit amount CRi.
- 78. A method according to claim 77, wherein D1+D2+ . . . +Di is less than or equal to TV1+TV2+ . . . +TVi, for all index i between 1 and n.
- 79. A method according to claim 77, wherein each debit amount Di is determined at least in part by one of TVi and Ci, for all index i between 1 and n.
- 80. A method according to claim 77, wherein each data string Ci contains an indication of said index i associated with Ti.
- 81. A method according to claim 80, wherein each debit amount Di depends on said index i associated with Ti.
- 82. A method according to claim 81, wherein each debit amount Di also depends on at least one of a previous debit amount Dj, and a previous index k for which a debited amount Dk was debited.
- 83. A method according to claim 82, wherein D1+D2+ . . . +Di is less than or equal to TV1 +TV2+ . . . +TVi, for all index i between 1 and n.
- 84. A method according to claim 77, further comprising the step of said fifth party causing information SNi to be stored for each data string Ci whenever Vi satisfies Pi.
- 85. A method according to claim 84, wherein SNi is a progressive serial number representative of an order of said data string Ci relative to the other data strings
C1 . . . Ci−1 and Ci+1 . . . Cn in an ordered succession of data strings derived by said first party.
- 86. A method according to claim 84, wherein each debit amount Di is determined using SNi.
- 87. A method according to claim 84, wherein D1+D2+ . . . +Di is less than or equal to TV1+TV2+ . . . +TVi, for all index i between 1 and n.
- 88. A method according to claim 84, wherein each debit amount Di is determined using SNi.
- 89. A method of paying for a plurality of equal-valued transactions T1, T2, . . . Ti, . . . Tn, each having a value TV, the method comprising:
A. a first party deriving from each transaction Ti a data string Ci related to Ti, and causing a second party to receive said data string Ci;
wherein each data string Ci comprises a progressive serial number Si, said serial number Si being sequentially ordered starting from 1 and being representative of a position of Ci relative to other data strings in an ordered succession of data strings Cj (j=1, . . . , n); B. the second party associating with Ci an item Vi, wherein Vi is substantially unpredictable by the first party; C. the second party determining whether a property Pi holds between Ci and Vi, and if so, the second party causing a third party to receive information Ii enabling the third party to verify whether Vi satisfies Pi; D. the third party verifying whether Vi satisfies Pi; and only if Vi satisfies Pi:
a) a fifth party determining the value of Smax, wherein Smax represents the largest of any serial number Sk contained in Ck for which:
i) 1 k<n; ii) Ck is received by second party before receiving Ci; iii) the third party has verified that Vk satisfies Pk; and iv) said first party has been debited by a nonzero amount Dk; b) said fifth party causing a fourth party to receive a credit amount CR; and c) said fifth party causing the first party to be debited by a debit amount Di, where Di is given by: (Si−Smax)*TV.
- 90. A method according to claim 89, wherein Vi satisfies Pi only if:
- 91. A method according to claim 90, wherein said credit amount CR received by said fourth party is proportional to TV and to 1/s.
- 92. A method according to claim 90, wherein F is a function that operates on a bit string to output a number between 0 and 1, and wherein s is a number between 0 and 1.
- 93. A method for a user U to establish payment to a merchant M for a plurality of transactions Ti (i=1, . . . , n) having transaction values TVi (i=1, . . . , n), the method comprising:
A. the user U establishing a public key and a corresponding secret key for a first digital signature scheme, and deriving from each Ti a data string Ci=SIGU(Ti) and creating an electronic check CHi that contains Ci and a serial number Si;
wherein SIGU(Ti) represents the digital signature of the user Ui for the transaction Ti in said first digital signature scheme; wherein Si is a progressive serial number representative of an order of said data string Ci relative to the other data strings in an ordered succession of data strings Cj (j=1, . . . , n) derived by said first party; B. the user U causing the merchant M to receive said electronic check CHi containing Ci and Si; C. the merchant M establishing a public key and a corresponding secret key for a second digital signature scheme, and associating with said data string Ci an item Vi=SIGM(Ci), wherein SIGM(Ci) represents the digital signature of the merchant M for said data string Ci in said second digital signature scheme; D. the merchant M computing the value F(Vi)=F(SIGM(Ci)), where F represents a public function that operates on a bit string to output a number between 0 and 1; E. the merchant M comparing F(SIGM(Ci)) with a constant s (0<s<1) to determine whether F(Vi)<s, and if so, causing a bank to obtain said public key of the merchant M; F. the bank using the merchant's public key to verify that F(SIGM(Ci))<s; and G. only if F(SIGM(Ci))<s,
a) a fifth party determining the value of Smax, wherein Smax represents the largest serial number Sj contained in any CHj in said ordered succession upon which payment was made; b) said fifth party causing a fourth party to receive a credit amount CR; and c) said fifth party causing the first party to be debited by a debit amount Di.
- 94. A method according to claim 93, wherein each transaction Ti (i=1, . . . , n) is equal-valued so that TVi=TV for all i=1, . . . , n, and wherein Di is given by:
- 95. A system for establishing payment for a plurality of n transactions T1, T2, . . . , Ti, . . . , Tn, wherein an index i, between 1 and n, can be associated with each Ti, and wherein each transaction Ti is characterized in part by a transaction value TVi, the system comprising:
A. communications means for transmitting data between a first party, a second party, a third party, and a fourth party; B. a first processing means operative by a first party for deriving, inputting, and storing a data string Ci (i less than or equal to n and greater than or equal to 1),
wherein Ci is related to a transaction Ti, and wherein Ci includes a progressive serial number Si representative of the position of the check Ci relative to other checks in an ordered succession of checks Cj (j=1, . . . , n); C. a second processing means operative by a second party and responsive to Ci, for associating an item Vi with at least a portion of Ci, and for determining whether Vi satisfies a property Pi,
wherein Vi is substantially unpredictable by the first party; and wherein said second processing means are selectively operative by the second party, when Vi satisfies Pi, for causing a third party to receive information Ii enabling the third party to verify whether Vi satisfies Pi; and D. means, selectively operative by the third party when Vi satisfies Pi, for determining the value of Smax, for causing a fourth party to receive an amount CRi, and for causing the first party to be debited by an amount Di, wherein for all index i between 1 and n, D1+D2+ . . . +Di is no greater than TVi+TV2+ . . . +TVi.
- 96. A method of establishing payment for a plurality of n transactions T1, T2, . . . , Ti, . . . , Tn, wherein an index i, between 1 and n, can be associated with each Ti, and wherein each transaction Ti is characterized in part by a transaction value TVi, the method comprising:
A. a first party receiving from a second party at least a portion of a data string Ci for each Ti, wherein each data string Ci is generated from Ti using a probabilistic payment scheme, and wherein each Ci includes an indication of the index i; B. the first party selecting the checks Cj (j less than or equal to n and greater than or equal to 1) that are payable in a manner that prevents the first party from predicting in advance which checks Cj will be selected as payable; C. for each selected check Cj, the first party causing a third party to receive information Ij enabling the third party to verify that the selected check Cj is indeed payable, thereby enabling the third party, upon verification that Cj is payable, to cause a fourth party to receive a credit amount CRj and the second party to be debited by a debit amount Dj so that, for all index j between 1 and n, and for any selection of payable checks Cj, D=D1+D2+ . . . Dj is no greater than TVagg=TV1+TV2+ . . . +TVj.
- 97. A method of establishing payment for a plurality of n transactions T1, T2, . . . , Ti, . . . , Tn, wherein an index i, between 1 and n, can be associated with each Ti, and wherein each transaction Ti is characterized in part by a transaction value TVi and can be represented by a corresponding data string Ci, the method comprising:
A. a first party receiving from a second party information Ij enabling the first party to verify that a check Cj is payable; wherein said check Cj is selected by the second party from a plurality of checks Ci (i=1, . . . , n) derived by a third party from a corresponding one of said plurality of transactions Ti (i=1, . . . , n); and wherein the selection of said check Cj is substantially unpredictable by said third party; B. the first party, upon receiving Ij, verifying whether Cj is indeed payable; and C. the first party causing a fourth party to receive a credit amount CRi, and causing the third party to be debited by a debit amount Di,
- 98. A method of establishing payment for a plurality of n transactions T1, T2, . . . Ti, . . . Tn, wherein each transaction Ti is characterized in part by a transaction value TVi that is a multiple of a unit value UV, the method comprising:
A. a first party deriving from each transaction Ti a data string Ci corresponding to Ti, and causing a second party to receive Ci; wherein each data string Ci includes information on said integer index i and said value TVi of Ti in the form of a vector (Si, Si+vi−1); wherein for all i between 1 and n, Si is a progressive serial number that is sequentially ordered and that is representative of a position of Ci relative to other data strings in an ordered succession of data strings Cj(j=1, . . . , n); and wherein vi is an integer depending on i and indicative of the value TVi of Ti, and is given by vi=TVi/(UV); B. the second party selecting the checks Cj (1≦j≦n) that are payable in a manner that prevents the first party from predicting in advance which checks Cj will be selected to be payable; C. the second party causing a third party to receive information Ij enabling the third party to verify that a selected check Cj is payable; D. the third party, in response to receipt of Ij, verifying that a selected check Cj is payable; and E. only if Cj is payable:
a) a fifth party determining the value of Smax,
wherein max is an integer such that 1≦max<i≦n, and vmax=TVmax/(UV); and wherein Smax represents the largest of any serial number Sk (1≦k<n) contained in Ck for which:
i) Ck is received by the second party before receiving Ci; and ii) the third party has verified that Vk satisfies Pk; and iii) said first party was debited by a non-zero amount Dk, and b), said fifth party causing a fourth party to receive a credit amount CR; and c) said fifth party causing the first party to be debited by a debit amount Di, where Di is given by: (Si+vi−1−Smax)*UV.
- 99. A method of establishing payment for a plurality of n transactions T1, T2, . . . , Ti, . . . Tn, wherein an index i between 1 and n is associated with each Ti, and wherein each transaction Ti is characterized in part by a transaction value TVi that is an integral multiple of a unit value UV, the method comprising:
A. a first party deriving from each transaction Ti a data string Ci corresponding to Ti and causing a second party to receive Ci;
wherein each data string Ci includes information on said integer index i and said value TVi of Ti in the form of a vector (Si, Si+vi−1); wherein for all i between 1 and n, Si is a progressive serial number that is sequentially ordered and that is representative of a position of Ci relative to other data strings in an ordered succession of data strings Cj(j=1, . . . , n); and wherein vi is an integer depending on i and indicative of the value TVi of Ti, and is given by vi=TVi/(UV); B. the second party associating with Ci an item Vi, wherein Vi is substantially unpredictable by the first party; C. the second party determining whether a property Pi holds between Ci and Vi, and if so, the second party causing a third party to receive information Ii enabling the third party to verify whether Vi satisfies Pi; D. the third party verifying whether Vi satisfies Pi; and only if Vi satisfies Pi:
a) a fifth party determining the value of Smax,
wherein max is an integer such that 1≦max<i≦n, and vmax=TVmax/(UV); and wherein Smax represents the largest of any serial number Sk (1≦k<n) contained in Ck for which:
i) Ck is received by the second party before receiving Ci; and ii) the third party has verified that Vk satisfies Pk; and iii) said first party was debited by a non-zero amount Dk, and b) said fifth party causing a fourth party to receive a credit amount CR; and c) said fifth party causing the first party to be debited by a debit amount Di, where Di is given by: (Si+vi−1−Smax)*UV.
- 100. A method of establishing payment for a plurality of n transactions Ti (i=1, . . . , n), each transaction Ti having a value TVi, the method comprising:
a. a first party deriving from each Ti a data string Ci related to Ti, and causing a second party to receive said data string Ci; b. the second party uniquely associating groups of said data strings Ci (i=1, . . . , n) into m lists Lk, where k=1, . . . , m;
wherein each list Lk includes data strings Ck1, . . . , Cklk, and wherein Σmk=1lk=n; c. the second party committing to Lk (k=1, . . . , m), by computing a commitment CMk for each Lk, and causing a third party to receive CMk (k=1, . . . , m); d. the third party, in response to receipt of CMk (k=1, . . . , m), selecting one or more integer indices i1, i2, . . . ir, and causing the second party to receive said indices i1, i2, . . . ir, wherein 1≦ir≦m; e. in response to receipt of said indices i1, i2, . . . ir, the second party de-committing CMi1, CMi2 . . . CMir, thereby revealing Li1, . . . , Lir to the third party; and f. a fifth party causing a fourth party to receive a credit amount CR, and causing the first party to be debited by a debit amount D.
- 101. A method according to claim 100, wherein said commitment CMk for Lk is a hash value H(Lk), and wherein H is a one-way hash function.
- 102. A method according to claim 100, wherein each data string Ci includes one or more bits that represent said transaction value TVi.
- 103. A method according to claim 102, further comprising the step, after step (b), of the second party associating with each list Lk a corresponding value Vk, wherein Vk represents the aggregate value of all the data strings Ck1, . . . , Cklk in list Lk,
wherein Vk is given by Vk=TVk1+ . . . +TVklk.
- 104. A method according to claim 103, further comprising the step, after step (c), of the second party computing a commitment CV for the list of values (V1, . . . , Vm),
wherein said commitment CV commits the second party to (V1, . . . , Vm), wherein CV is a hash value H(V1, . . . , Vm); and wherein H is a one-way hash function, so that by de-committing CV, the second party reveals (V1, . . . , Vm) to the third party.
- 105. A method according to claim 100, wherein said credit amount CR received by the fourth party is given by:
- 106. A method according to claim 100, wherein said debit amount D is given by:
D=Vi1+Vi2+ . . . +Vir multiplied by a scale factor.
- 107. A method according to claim 106, wherein said scale factor is m/r.
- 108. A method according to claim 100, wherein said each data string Ci includes information representative of an integer SNi, wherein SNi is a progressive serial number sequentially ordered starting from 1, and wherein said serial number SNi is representative of the order in time of said transaction Ti with respect to other transactions T1, . . . , Ti−1 and Ti+1, . . . Tn in said plurality of n transactions Ti (i=1, . . . , n).
- 109. A method according to claim 100, wherein the step of the first party deriving said data string Ci from Ti includes the step of the first party creating a digital signature for at least a portion of Ti, using a secret key of the first party.
- 110. A method according to claim 100, wherein at least a portion of Ci is authenticated.
- 111. A method according to claim 100, wherein Ci comprises at least one of:
a) a digital signature for at least a portion of T; b) a message authentication code; and c) an electronic check.
- 112. A method according to claim 100, wherein said fifth party and said third party are identical.
- 113. A method according to claim 100, wherein said second party, said third party, and said fifth party are identical.
- 114. A method according to claim 100, wherein said second party and said third party are identical.
- 115. A method of establishing payment for a plurality of n transactions T1, . . . , Ti, . . . , Tn, each transaction Ti having a value TVi, the method comprising:
A. for each Ti, a first party receiving from a second party a data string Ci derived from Ti; B. the first party uniquely associating groups of said data strings Ci (i=1, . . . , n) into m lists Lk, where k=1, . . . , m;
wherein each list Lk includes data strings Ck1, . . . , Cklk, and wherein Σmk=1lk=n; C. the first party committing to Lk (k=1, . . . , m), by computing a commitment CMk for each Lk, and causing a third party to receive CMk (k=1, . . . , m), thereby enabling the third party to select one or more integer indices i1, i2, . . . ir, wherein 1≦ir≦m; D. upon receipt of said indices i1, i2, . . . ir, the first party de-committing CMi1, CMi2 . . . CMir, thereby revealing Li1, . . . , Lir to the third party and enabling the third party to cause a fourth party to receive a credit amount CR, and the second party to be debited by a debit amount D.
- 116. A method of establishing payment for a plurality of n transactions T1, . . . , Ti, . . . , Tn, wherein each transaction Ti has a value TVi and can be represented by a corresponding data string Ci derived from Ti, and wherein groups of said data strings Ci (i=1, . . . , n) can be uniquely associated into m lists Lk (k=1, . . . , m), each list Lk includes data strings Ck1, . . . , Cklk (Σmk=1lk=n), the method comprising:
A. a first party receiving from a second party a commitment CMk for each of the m lists Lk (k=1, . . . , m); B. the first party, upon receiving CMk (k=1, . . . , m), selecting one or more integer indices i1, i2, . . . ir, wherein 1≦ir≦m, and causing the second party to receive said indices i1, i2, . . . ir, thereby enabling the second party to de-commit CMi1, Ci2 . . . CMir so as to revealing Li1, . . . , Lir to the first party; C. the first party causing a third party to receive a credit amount CR, and a fourth party to be debited by a debit amount D.
- 117. A system for establishing payment for a plurality of n transactions T1, T2, . . . , Ti, . . . , Tn, each Ti having a value TVi, the system comprising:
A. communications means for transmitting data between a first party, a second party, a third party, and a fourth party; B. a first processing means operative by a first party for deriving, inputting, and storing a data string Ci (1≦i≦n) for each Ti; C. a second processing means operative by a second party and responsive to receipt of Ci (i=1, . . . n), for uniquely associating groups of said data strings Ci (i=1, . . . , n) into m lists Lk (k=1, . . . , m), and for inputting and storing said lists Lk(k=1, . . . , m);
wherein each list Lk includes data strings Ck1, . . . , Cklk, and wherein ρmk=1lk=n; said second processing means being further operative by the second party for computing a commitment CMk for each Lk, and for inputting and storing said commitments CMk (k=1, . . . , m); D. a third processing means, operative by the third party upon receipt of said commitments CMk, for selecting one or more integer indices i1, i2, . . . , ir, and for causing the second party to receive said indices i1, i2, . . . , ir,
wherein 1≦ir≦m for all r; E. a fourth processing means, operative by the second party upon receipt of said indices i1, i2, . . . , ir, for de-committing CM, thereby revealing to the third party; and F. means, operative by the third party upon revelation of Li1, . . . , Lir, for causing the first party to be debited by a debit amount D and for causing a, fourth party to receive a credit amount CR.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims benefit of priority to: 1) U.S. Provisional Application Serial No. 60/287,251, entitled “Method and System For Micropayment Transactions” and filed on Apr. 27, 2001; 2) U.S. Provisional Application Serial No. 60/306,257, entitled “Method and System for Micropayment Transactions” and filed on Jul. 18, 2001; and 3) U.S. Provisional Application Serial No. 60/344,205, entitled “Method and System for Micropayment Transactions” and filed on Dec. 26, 2001; all of which are incorporated by reference herein in their entireties, as if fully set forth below.
PCT Information
Filing Document |
Filing Date |
Country |
Kind |
PCT/US02/12189 |
4/17/2002 |
WO |
|
Provisional Applications (3)
|
Number |
Date |
Country |
|
60287251 |
Apr 2001 |
US |
|
60306257 |
Jul 2001 |
US |
|
60344205 |
Dec 2001 |
US |