Detailed Action
Claims 1-3,7-9, and 12-19 are pending and are examined.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-3, 7-9 and 12-19 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Claims 1-3, 7-9 and 12:
Step 1
Step 1 of the eligibility analysis asks is the claim to a process, machine, manufacture or composition of matter (See MPEP § 2106.03, subsections I and II). Claims 1-3, and 7-9 are directed to a computer-implemented method (i.e., process). Claim 12 is directed to a non-transitory computer-readable storage medium (i.e., manufacture). Therefore, these claims fall within the four statutory categories of invention.
Step 2A, Prong One
Prong One asks does the claim recite an abstract idea, law of nature, or natural phenomenon (MPEP § 2106.04(II)(A)(1)). Claims 1, and 12 under a broadest reasonable interpretation recite an abstract idea because the claims describe intermediate party execution of separate payment channels to obtain an opening and closing transaction to fund a payment to one recipient, grouped within the “certain methods of organizing human activity” grouping of abstract ideas (MPEP § 2106.04(a)(2), subsection II). The claim limitations reciting the abstract idea are grouped within the “certain methods of organizing human activity” grouping of abstract ideas because the limitations describe commercial or legal interactions, including agreements in the form of contracts of payment. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
Claim 1:
A computer-implemented method of facilitating a plurality of respective payments between a plurality of respective first parties and a second party, wherein the method is performed by an intermediate party and comprises:
executing a respective payment channel between each respective first party and the intermediate party, wherein executing the respective payment channel comprises:
obtaining a respective channel opening transaction, the respective channel opening transaction comprises a respective input signed by the respective first party, and a respective output locked to a respective public key of the respective first party and a public key of the intermediate party, wherein the respective output locks a respective maximum value;
obtaining one or more respective channel closing transactions including a respective final channel closing transaction, wherein the respective final channel closing transaction comprises a respective input that references the respective output of the respective channel opening transaction and comprises a respective signature of the respective first party and a signature of the intermediate party, and a respective first output locked to a respective public key of the respective first party and a respective second output locked to a public key of the intermediate party, wherein the respective first output locks a respective first amount of the respective maximum value, and wherein the respective second output locks a respective second amount of the respective maximum value; and
generating a payment transaction, wherein the payment transaction comprises a plurality of respective inputs, each respective input references a respective second output of a respective final channel closing transaction and comprising a signature of the intermediate party, and an output locked to a public key of the second party, wherein the output locks a value based on a total of the respective second amounts locked by the respective second outputs.
Claim 12:
A non-transitory computer readable medium comprising a computer program configured so as, when run on one or more processors, the one or more processors perform a method facilitating a plurality of respective payments between a plurality of respective first parties and a second party, wherein the method is performed by an intermediate party and comprises:
executing a respective payment channel between each respective first party and the intermediate party, wherein executing the respective payment channel comprises:
obtaining a respective channel opening transaction, the respective channel opening transaction comprises a respective input signed by the respective first party, and a respective output locked to a respective public key of the respective first party and a public key of the intermediate party, wherein the respective output locks a respective maximum value;
obtaining one or more respective channel closing transactions including a respective final channel closing transaction, wherein the respective final channel closing transaction comprises a respective input that references the respective output of the respective channel opening transaction and comprises a respective signature of the respective first party and a signature of the intermediate party, and a respective first output locked to a respective public key of the respective first party and a respective second output locked to a public key of the intermediate party, wherein the respective first output locks a respective first amount of the respective maximum value, and wherein the respective second output locks a respective second amount of the respective maximum value; and
generating a payment transaction, wherein the payment transaction comprises a plurality of respective inputs, each respective input references a respective second output of a respective final channel closing transaction and comprising a signature of the intermediate party, and an output locked to a public key of the second party, wherein the output locks a value based on a total of the respective second amounts locked by the respective second outputs.
Step 2A, Prong Two
Prong Two asks does the claim recite additional elements that integrate the judicial exception into a practical application (MPEP § 2106.04(II)(A)(2)). Here, the additional elements of processors, individually and in combination, are recited at a high level of generality as generic and conventional elements merely serving as a tool to perform the abstract idea (MPEP § 2106.05(f)) and generally linking the use of the abstract idea to a particular technological environment (MPEP § 2106.05(h)). The description of the additional elements evidences that they are generic and conventional elements used as tools to perform the abstract idea. The processor may be a generic and conventional processor (See Spec. pg. 8).
Step 2B
Step 2B determines whether the claim as a whole amount to significantly more than the abstract idea itself (MPEP § 2106.05). Evaluating additional elements to determine whether they amount to an inventive concept requires considering them both individually and in combination to ensure that they amount to significantly more than the abstract idea itself. Individually, the additional elements do not amount to significantly more than the abstract idea. As discussed previously, the description of the additional elements evidences that they are generic and conventional elements used as tools to perform the abstract idea (See Spec. 0013, 0016, 0020, and 0075). As such, the additional elements merely serve as a tool to perform the abstract idea and generally link the use of the abstract idea to a particular technological environment. The ordered combination recites no more than the individual elements do. Thus, the additional elements are not significantly more than the abstract idea. Accordingly, the claims are directed to the abstract idea identified above without significantly more. The claims are not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Dependent Claims
Claims 2-3, and 7-9 have also been analyzed.
Claim 2 recites an abstract idea because the claim describes the same abstract idea as claim 1. The additional elements do not integrate the abstract idea into a practical application because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. The additional elements are not significantly more than the abstract idea because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. Therefore, the claim is not eligible. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
wherein the payment transaction comprises metadata relating to one, some or all of the respective payments.
Claim 3 recites an abstract idea because the claim describes the same abstract idea as claim 1. The additional elements do not integrate the abstract idea into a practical application because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. The additional elements are not significantly more than the abstract idea because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. Therefore, the claim is not eligible. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
wherein for each respective payment channel, the respective first amount of the respective maximum value is equal to the respective maximum value minus a third amount of the respective maximum value, minus a service charge value, and the respective second amount of the respective maximum value is equal to the third amount of the respective maximum value plus the service charge value.
Claim 7 recites an abstract idea because the claim describes the same abstract idea as claim 1. The additional elements do not integrate the abstract idea into a practical application because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. The additional elements are not significantly more than the abstract idea because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. Therefore, the claim is not eligible. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
wherein for one, some or all of the respective payment channels, the respective channel opening transaction and/or the respective final channel closing transaction comprises metadata relating to the respective payment.
Claim 8 recites an abstract idea because the claim describes the same abstract idea as claim 1. The additional elements do not integrate the abstract idea into a practical application because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. The additional elements are not significantly more than the abstract idea because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. Therefore, the claim is not eligible. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
wherein the respective output of the respective channel opening transaction and/or the respective output of the respective channel closing transaction comprises a multi-signature locking script.
Claim 9 recites an abstract idea because the claim describes the same abstract idea as claim 1. The additional elements do not integrate the abstract idea into a practical application because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. The additional elements are not significantly more than the abstract idea because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. Therefore, the claim is not eligible. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
wherein the second party provides respective goods and/or respective services to the respective first party in return for the respective payment.
Claims 13-19:
Step 1
Step 1 of the eligibility analysis asks is the claim to a process, machine, manufacture or composition of matter (See MPEP § 2106.03, subsections I and II). Claims 13-19 are directed to a computer-implemented method (i.e., process). Therefore, these claims fall within the four statutory categories of invention.
Step 2A, Prong One
Prong One asks does the claim recite an abstract idea, law of nature, or natural phenomenon (MPEP § 2106.04(II)(A)(1)). Claim 13 under a broadest reasonable interpretation recite an abstract idea because the claims describe intermediate party execution of separate payment channels to obtain an opening and closing transaction to fund a payment to one recipient, grouped within the “certain methods of organizing human activity” grouping of abstract ideas (MPEP § 2106.04(a)(2), subsection II). The claim limitations reciting the abstract idea are grouped within the “certain methods of organizing human activity” grouping of abstract ideas because the limitations describe commercial or legal interactions, including agreements in the form of contracts of payment. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
A computer-implemented method of facilitating a plurality of respective payments between a plurality of respective first parties and a second party, wherein the method is performed by an intermediate party and comprises:
obtaining a funding transaction generated by the second party, wherein the funding transaction comprises an input comprising a signature of the second party, and an output locked to a public key of the intermediate party, wherein the output locks an amount at least equal to a total of a plurality of respective maximum values; and
executing a respective payment channel between each respective first party and the intermediate party, wherein executing the respective payment channel comprises:
obtaining a respective channel opening transaction, the respective channel opening transaction comprises a respective input signed by the intermediate party, and a respective output locked to a respective public key of the respective first party and a public key of the intermediate party, wherein the respective output locks a respective maximum value;
obtaining one or more respective channel closing transactions including a respective final channel closing transaction, wherein the respective final channel closing transaction comprises a respective input that references the respective output of the respective channel opening transaction and comprises a respective signature of the respective first party and a signature of the intermediate party, and a respective first output locked to a respective public key of the respective first party and a respective second output locked to a public key of the intermediate party, wherein the respective first output locks a respective first amount of the respective maximum value, and wherein the respective second output locks a respective second amount of the respective maximum value.
Step 2A, Prong Two
Prong Two asks does the claim recite additional elements that integrate the judicial exception into a practical application (MPEP § 2106.04(II)(A)(2)). Here, the additional elements of processors, individually and in combination, are recited at a high level of generality as generic and conventional elements merely serving as a tool to perform the abstract idea (MPEP § 2106.05(f)) and generally linking the use of the abstract idea to a particular technological environment (MPEP § 2106.05(h)). The description of the additional elements evidences that they are generic and conventional elements used as tools to perform the abstract idea. The processor may be a generic and conventional processor (See Spec. pg. 8).
Step 2B
Step 2B determines whether the claim as a whole amount to significantly more than the abstract idea itself (MPEP § 2106.05). Evaluating additional elements to determine whether they amount to an inventive concept requires considering them both individually and in combination to ensure that they amount to significantly more than the abstract idea itself. Individually, the additional elements do not amount to significantly more than the abstract idea. As discussed previously, the description of the additional elements evidences that they are generic and conventional elements used as tools to perform the abstract idea (See Spec. 0013, 0016, 0020, and 0075). As such, the additional elements merely serve as a tool to perform the abstract idea and generally link the use of the abstract idea to a particular technological environment. The ordered combination recites no more than the individual elements do. Thus, the additional elements are not significantly more than the abstract idea. Accordingly, the claims are directed to the abstract idea identified above without significantly more. The claims are not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Dependent Claims
Claims 14-19 have also been analyzed.
Claim 14 recites an abstract idea because the claim describes the same abstract idea as claim 13. The additional elements do not integrate the abstract idea into a practical application because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. The additional elements are not significantly more than the abstract idea because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. Therefore, the claim is not eligible. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
wherein the payment transaction comprises metadata relating to one, some or all of the respective payments.
Claim 15 recites an abstract idea because the claim describes the same abstract idea as claim 13. The additional elements do not integrate the abstract idea into a practical application because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. The additional elements are not significantly more than the abstract idea because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. Therefore, the claim is not eligible. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
wherein the output of the funding transaction locks an amount equal to a total of the respective maximum values plus a service charge.
Claim 16 recites an abstract idea because the claim describes the same abstract idea as claim 13. The additional elements do not integrate the abstract idea into a practical application because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. The additional elements are not significantly more than the abstract idea because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. Therefore, the claim is not eligible. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
wherein for one, some or all of the respective payment channels, the respective channel opening transaction and/or the respective final channel closing transaction comprises metadata relating to the respective payment.
Claim 17 recites an abstract idea because the claim describes the same abstract idea as claim 13. The additional elements do not integrate the abstract idea into a practical application because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. The additional elements are not significantly more than the abstract idea because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. Therefore, the claim is not eligible. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
wherein the respective output of the respective channel opening transaction and/or the respective output of the respective channel closing transaction comprises a multi-signature locking script.
Claim 18 recites an abstract idea because the claim describes the same abstract idea as claim 13. The additional elements do not integrate the abstract idea into a practical application because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. The additional elements are not significantly more than the abstract idea because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. Therefore, the claim is not eligible. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
wherein the second party provides respective goods and/or respective services to the respective first party in return for the respective payment.
Claim 19 recites an abstract idea because the claim describes the same abstract idea as claim 13. The additional elements do not integrate the abstract idea into a practical application because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. The additional elements are not significantly more than the abstract idea because individually and in combination, the additional elements are recited at a high level of generality as generic and conventional computers and components merely serving as a tool to perform the abstract idea and generally linking the use of the abstract idea to a particular technological environment. Therefore, the claim is not eligible. The following underlined claim limitations recite the abstract idea. The non-underlined claim limitations recite additional elements.
wherein each respective first parties provide respective goods and/or respective services to the second party in return for the respective payment.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-3, 7-9 and 12-19 are rejected under 35 U.S.C. 103 as being unpatentable over Long et al. (US20210035098A1) (hereinafter “Long”) in view of Eyal et al. (US20190095879A1) (hereinafter “Eyal”).
As per Claim 1, and 12, Long teaches:
A computer-implemented method of facilitating a plurality of respective payments between a plurality of respective first parties and a second party, wherein the method is performed by an intermediate party and comprises: (“Off-chain transactions from one recipient to multiple source parties (“one-to-many”) and from multiple recipients to one source party (“many-to-one”) may be aggregated without the usual block confirmation latencies, and committed to the blockchain at a later time, without compromising privacy, security, and the no double-spent property of cryptocurrencies.” (Para. 0038); “then aggregating and accumulating individual service receipts for submission of a payment transaction to the THETA blockchain. In addition, some embodiments of the present invention incorporate a collateral to prevent double-spending, where the net value that a double spender gets is guaranteed to be strictly negative under all scenarios.” (Para. 0040); “A tracker and payment server 903 peers viewers 802, 804, and 806 together into a group and gives one or more payment authorization certificates 910 to each participating peer. For example, an authorization certificate auth(Alice, Bob) may be given to Alice, which ensures that peers or viewers can only exchange payments within the viewer group that the tracker server establishes. As discussed previously with reference to FIG. 4B, a payment server or payment service module may be co-located with a tracker server or tracker service module. A payment server may also be run directly by video platform 901.” (Para. 0126); “With the goal of video platform 901 rewarding its viewers for bandwidth sharing, payment server or payment service module 903 here may be maintained by a third party, to provide token custody service for video platform 901. Video platform 901 may purchase cryptocurrencies from the market, and store purchased tokens in the payment server. When video platform 901 needs to submit the funding transaction, it may call an API provided by payment server 903 to initiate the process. In some other embodiments, video platform 901 may run payment server 903 directly, and the funding transaction submission may be implemented as an internal call.” – the first parties are taught by the viewers/users Bob and Carol, second party taught by edge cacher Alice, and an intermediate party taught by payment server 903 (Para. 0131).)
executing a respective payment channel . . ., wherein executing the respective payment channel comprises: (“A payment channel is a class of existing mechanisms that allow users to exchange multiple transactions without committing to the blockchain. Such “off-line” transactions can be settled on the blockchain later, thus incurring minimal transaction confirmation latencies. A payment channel is a type of a state channel, where a state shared between two users is locked onto the blockchain through a funding transaction first, and where the state is a cryptocurrency amount or balance. Subsequent commitment transactions are exchanged off-line between the two users to update the initial state. A final settlement transaction unilaterally or bilaterally closes the state channel when submitted to the blockchain for confirmation. As state updates or commitment transactions can be exchanged between the users off-line, as soon as they are created and signed, many more transactions can be exchanged in-between the funding and the settlement transactions. Cutting the number of on-chain transactions down to two also drastically reduces the costs associated with very frequent micropayments.” (Para. 0096); “a state shared between two users is locked onto the blockchain through a funding transaction first, and where the state is a cryptocurrency amount or balance.” (Para. 0096); “creating 10+ payment channels from a viewer to multiple relay nodes, or from multiple viewers to one relay may not always be feasible, especially if a viewer doesn't have enough tokens. As a result, a viewer may not be able to pull from peer nodes even if the peer caching nodes have the desired stream segment, leading to underutilization of the network and less savings for content distribution platforms.” (Para. 0100))
obtaining a respective channel opening transaction, the respective channel opening transaction comprises a respective input signed by the respective first party, and a respective output locked . . .; (“A payment channel is a type of a state channel, where a state shared between two users is locked onto the blockchain through a funding transaction first, and where the state is a cryptocurrency amount or balance. Subsequent commitment transactions are exchanged off-line between the two users to update the initial state.” (Para. 0096); “A payment channel is a viable option to break the deadlock. On day one, Alice may deposit 30 tokens into a separate wallet W, which only allows Bob to withdraw from it, by requiring transaction signatures from both Alice and Bob. After this deposit transaction is recorded on the blockchain, Bob confirms that Alice has reserved a sufficient number of tokens to pay him for the entire month, and he is the only one allowed to withdraw from this wallet.” (Para. 0098)
. . . including a respective final channel closing transaction, wherein the respective final channel closing transaction comprises a respective input that references the respective output of the respective channel opening transaction and comprises a respective signature of the respective first party and a signature of the intermediate party, and a respective first output locked to a respective public key of the respective first party and a respective second output locked to a public key of the intermediate party, wherein the respective first output locks a respective first amount of the respective maximum value, and wherein the respective second output locks a respective second amount of the respective maximum value; and (“a state shared between two users is locked onto the blockchain through a funding transaction first, and where the state is a cryptocurrency amount or balance. Subsequent commitment transactions are exchanged off-line between the two users to update the initial state.” (Para. 0096); “Alice may deposit 30 tokens into a separate wallet W, which only allows Bob to withdraw from it, by requiring transaction signatures from both Alice and Bob. After this deposit transaction is recorded on the blockchain, Bob confirms that Alice has reserved a sufficient number of tokens to pay him for the entire month, and he is the only one allowed to withdraw from this wallet. On day n (1≤n≤30), Bob gives Alice a food item, and gets a partially signed commitment transaction in return, where the transaction assigns n tokens to Bob and the remaining 30-n tokens as a change back to Alice. Bob can thus sign and publish the latest commitment transaction received from Alice as a settlement on the blockchain, on any day m to claim m-1 or m tokens, depending on whether the latest settlement transaction has been signed by Alice for the m-th food item.” (Para. 0098); “A final settlement transaction unilaterally or bilaterally closes the state channel when submitted to the blockchain for confirmation. As state updates or commitment transactions can be exchanged between the users off-line, as soon as they are created and signed, many more transactions can be exchanged in-between the funding and the settlement transactions.” (Para. 0096))
Long does not disclose:
“generating a payment transaction, wherein the payment transaction comprises a plurality of respective inputs, each respective input references a respective second output of a respective final channel closing transaction and comprising a signature of the intermediate party, and an output locked to a public key of the second party, wherein the output locks a value based on a total of the respective second amounts locked by the respective second outputs” (claim 1).
However, as per Claim 1, Eyal in the analogous art of blockchain payment channels with trusted execution environments, teaches: “generating a payment transaction, wherein the payment transaction comprises a plurality of respective inputs, each respective input references a respective second output of a respective final channel closing transaction and comprising a signature of the intermediate party, and an output locked to a public key of the second party, wherein the output locks a value based on a total of the respective second amounts locked by the respective second outputs”. (See “Transaction inputs are unspent transaction outputs (UTXOs), i.e. outputs of previous transactions that have not yet been spent.” (Para. 0071); “As a consequence, only the owning TEE is ever able to release those deposits again by generating a corresponding spending transaction. To generate a deposit, Alice instructs her TEE to create a new Bitcoin address by issuing command newAddr.” (Para. 0164); “a settlement transaction is generated that sends the balances of the parties to their settlement addresses using all the deposits currently associated with the channel, and the corresponding private keys to spend from those deposits.” (Para. 0192))
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Long with the technique of Eyal to include generating a payment transaction comprising a plurality of respective inputs, each respective input referencing a respective output of a respective final channel closing transaction. Therefore, the incentives of implementing Long’s aggregated off-chain micropayment settlement using known UTXO transaction mechanics, reducing the number of on-chain settlements, and predictably spending multiple prior channel outputs in a single payment transaction provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
Long does not disclose:
• “between each respective first party and the intermediate party” (claim 1).
However, as per Claim 1, Eyal in the analogous art of blockchain payment channels with trusted execution environments: “between each respective first party and the intermediate party”. (See “the first trusted execution environment of the first processing device being configured to establish a first payment channel with a second trusted execution environment of the second processing device.” (Claim 1); “The first processing device is further configured to utilize the deposit associated with the first payment channel to carry out multiple off-blockchain transactions between the first processing device and at least the second processing device.” (Para. 0005); “The first processing device 102A is further configured to utilize the deposit associated with the first payment channel to carry out multiple off-blockchain transactions between the first processing device 102A and at least the second processing device 102B. The multiple off-blockchain transactions can include transactions between the first processing device 102A and each of one or more other ones of the processing devices 102.” (Para. 0046))
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Long with the technique of Eyal to include executing a respective payment channel between each respective first party and the intermediate party. Therefore, the incentives of reducing the number of on-chain settlement transactions provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
Long does not disclose:
• “to a respective public key of the respective first party and a public key of the intermediate party, wherein the respective output locks a respective maximum value” (claim 1).
However, as per Claim 1, Eyal in the analogous art of blockchain payment channels with trusted execution environments: “to a respective public key of the respective first party and a public key of the intermediate party, wherein the respective output locks a respective maximum value”. (See “A channel is established with a setup transaction in the blockchain to which each party deposits an amount as credit. While the channel is open, each party can pay its counterparty via transaction messages sent from the payer to the payee.” (Para. 0084); “To spend an unspent output, a condition specified by a locking script must be met. Typically, a signature matching an address proves that the user spending the output owns the account claiming the funds. More complex locking scripts can be expressed, such as m-of-n multisig transactions, where m signatures are required out of n possible signatures to spend the funds; and timelocked transactions, which can only be spent after a point in the future.” (Para. 0070))
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Long with the technique of Eyal to include a respective channel opening transaction having an output locked to public keys of the respective first party and intermediate party and locking a respective maximum value. Therefore, the incentives of securely reserving channel funds provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
Long does not disclose:
• “obtaining one or more respective channel closing transactions” (claim 1).
However, as per Claim 1, Eyal in the analogous art of blockchain payment channels with trusted execution environments: “obtaining one or more respective channel closing transactions”. (See “Channel settlement. The final stage of the Teechan protocol is channel settlement. In this phase, the payment channel is closed, and a valid transaction settling the balance between Alice and Bob is broadcast to the Bitcoin network, thus releasing the funds in the setup transaction.” (Para. 0106); “Once a TEE receives a terminate request from its owner, it generates a settlement transaction signed with kBTC,A and kBTC,B, which spends the funds held in the setup transaction according to the current channel balance. It returns this transaction to the host, destroys all state held in TEE memory and halts its execution.” (Para. 0108))
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Long with the technique of Eyal to include obtaining one or more respective channel closing transactions including a final channel closing transaction having participant signatures and outputs allocating first and second amounts. Therefore, the incentives of closing off-chain payment channels with the most recent agreed balance provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 2, Long teaches:
The method of claim 1, wherein the payment transaction comprises metadata relating to one, some or all of the respective payments. (“. Transaction 960 may contain the following data: targetAddress, transferAmount, createPoolTxHash, targetSettlementSequence, Sign(SKA, targetAddress ∥ transferAmount ∥ createPoolTxHash targetSettlementSequence).” (Para. 0140-0141); “the address of the peer that Alice retrieves the resource from, and transferAmount is the amount of token payment Alice intends to send. targetSettlementSequence is to prevent a replay attack. It is similar to the “nonce” parameter in an Ethereum transaction. If a target publishes a ServicePayment transaction to the blockchain (see the next step), its targetSettlementSequence needs to increment by one. The recipient peer verifies the off-chain transactions and the signatures.” (Para. 0112))
As per Claim 3, Long teaches:
The method of claim 1, wherein for each respective payment channel, the respective first amount of the respective maximum value is equal to the respective maximum value minus a third amount of the respective maximum value, minus a service charge value, and the respective second amount of the respective maximum value is equal to the third amount of the respective maximum value plus the service charge value. (“On day n (1≤n≤30), Bob gives Alice a food item, and gets a partially signed commitment transaction in return, where the transaction assigns n tokens to Bob and the remaining 30-n tokens as a change back to Alice. Bob can thus sign and publish the latest commitment transaction received from Alice as a settlement on the blockchain, on any day m to claim m-1 or m tokens, depending on whether the latest settlement transaction has been signed by Alice for the m-th food item.” (Para. 0098); “gas fee needs to be paid for the on-chain settlement transaction. Paying less transaction fees is a strong incentive to publish on-chain settlements only when necessary, which is beneficial to the scalability of the network.” (Para. 0143))
As per Claim 7, Long teaches:
The method of claim 1,wherein for one, some or all of the respective payment channels, the respective channel opening transaction and/or the respective final channel closing transaction comprises metadata relating to the respective payment. (“a funding transaction first, and where the state is a cryptocurrency amount or balance.” (Para. 0096); “A final settlement transaction unilaterally or bilaterally closes the state channel when submitted to the blockchain for confirmation.” (Para. 0096); “A ServicePayment transaction may contain the following data: targetAddress, transferAmount, createPoolTxHash.” (Para. 0113))
As per Claim 8, Long teaches:
The method of claim 1,wherein the respective output of the respective channel opening transaction and/or the respective output of the respective channel closing transaction comprises a multi-signature locking script (“Alice may deposit 30 tokens into a separate wallet W.” (Para. 0098); “requiring transaction signatures from both Alice and Bob.” (Para. 0098); “requires both Alice and Bob's signatures.” (Para. 0098))
As per Claim 9, Long teaches:
The method of claim 1, wherein the second party provides respective goods and/or respective services to the respective first party in return for the respective payment. (“As a simple, illustrative example of payment channels, consider a case where Alice wants to buy a food item from Bob everyday using crypto tokens for a month. Since Alice needs to pay a transaction fee for each token transaction, she prefers a single lumped payment to Bob at the end of the month, yet Bob prefers one token transaction for each food item, as he does not have full trust that Alice would pay the lump-sum payment at the end of the month.” (Para. 0097); “On day n (1≤n≤30), Bob gives Alice a food item, and gets a partially signed commitment transaction in return, where the transaction assigns n tokens to Bob and the remaining 30-n tokens as a change back to Alice.” (Para. 0098); “Alice signs ServicePayment transactions and sends them to the peers off-chain in exchange for parts of the specified resource (e.g., a piece of a video file, a live stream segment, etc.).” (Para. 0112)).
As per Claim 13, Long teaches:
A computer-implemented method of facilitating a plurality of respective payments between a plurality of respective first parties and a second party, wherein the method is performed by an intermediate party and comprises: (“Off-chain transactions from one recipient to multiple source parties (“one-to-many”) and from multiple recipients to one source party (“many-to-one”) may be aggregated without the usual block confirmation latencies, and committed to the blockchain at a later time, without compromising privacy, security, and the no double-spent property of cryptocurrencies.” (Para. 0038); “then aggregating and accumulating individual service receipts for submission of a payment transaction to the THETA blockchain. In addition, some embodiments of the present invention incorporate a collateral to prevent double-spending, where the net value that a double spender gets is guaranteed to be strictly negative under all scenarios.” (Para. 0040); “A tracker and payment server 903 peers viewers 802, 804, and 806 together into a group and gives one or more payment authorization certificates 910 to each participating peer. For example, an authorization certificate auth(Alice, Bob) may be given to Alice, which ensures that peers or viewers can only exchange payments within the viewer group that the tracker server establishes. As discussed previously with reference to FIG. 4B, a payment server or payment service module may be co-located with a tracker server or tracker service module. A payment server may also be run directly by video platform 901.” (Para. 0126); “With the goal of video platform 901 rewarding its viewers for bandwidth sharing, payment server or payment service module 903 here may be maintained by a third party, to provide token custody service for video platform 901. Video platform 901 may purchase cryptocurrencies from the market, and store purchased tokens in the payment server. When video platform 901 needs to submit the funding transaction, it may call an API provided by payment server 903 to initiate the process. In some other embodiments, video platform 901 may run payment server 903 directly, and the funding transaction submission may be implemented as an internal call.” – the first parties are taught by the viewers/users Bob and Carol, second party taught by edge cacher Alice, and an intermediate party taught by payment server 903 (Para. 0131).)
obtaining a funding transaction generated by the second party, wherein the funding transaction comprises an input comprising a signature of the second party, and an output locked to a public key of the intermediate party, wherein the output locks an amount at least equal to a total of a plurality of respective maximum values; and
executing a respective payment channel . . ., wherein executing the respective payment channel comprises: (“A payment channel is a class of existing mechanisms that allow users to exchange multiple transactions without committing to the blockchain. Such “off-line” transactions can be settled on the blockchain later, thus incurring minimal transaction confirmation latencies. A payment channel is a type of a state channel, where a state shared between two users is locked onto the blockchain through a funding transaction first, and where the state is a cryptocurrency amount or balance. Subsequent commitment transactions are exchanged off-line between the two users to update the initial state. A final settlement transaction unilaterally or bilaterally closes the state channel when submitted to the blockchain for confirmation. As state updates or commitment transactions can be exchanged between the users off-line, as soon as they are created and signed, many more transactions can be exchanged in-between the funding and the settlement transactions. Cutting the number of on-chain transactions down to two also drastically reduces the costs associated with very frequent micropayments.” (Para. 0096); “a state shared between two users is locked onto the blockchain through a funding transaction first, and where the state is a cryptocurrency amount or balance.” (Para. 0096); “creating 10+ payment channels from a viewer to multiple relay nodes, or from multiple viewers to one relay may not always be feasible, especially if a viewer doesn't have enough tokens. As a result, a viewer may not be able to pull from peer nodes even if the peer caching nodes have the desired stream segment, leading to underutilization of the network and less savings for content distribution platforms.” (Para. 0100))
obtaining a respective channel opening transaction, the respective channel opening transaction comprises a respective input signed by the intermediate party, and a respective output locked . . . (“A payment channel is a type of a state channel, where a state shared between two users is locked onto the blockchain through a funding transaction first, and where the state is a cryptocurrency amount or balance. Subsequent commitment transactions are exchanged off-line between the two users to update the initial state.” (Para. 0096); “A payment channel is a viable option to break the deadlock. On day one, Alice may deposit 30 tokens into a separate wallet W, which only allows Bob to withdraw from it, by requiring transaction signatures from both Alice and Bob. After this deposit transaction is recorded on the blockchain, Bob confirms that Alice has reserved a sufficient number of tokens to pay him for the entire month, and he is the only one allowed to withdraw from this wallet.” (Para. 0098)
. . . including a respective final channel closing transaction, wherein the respective final channel closing transaction comprises a respective input that references the respective output of the respective channel opening transaction and comprises a respective signature of the respective first party and a signature of the intermediate party, and a respective first output locked to a respective public key of the respective first party and a respective second output locked to a public key of the intermediate party, wherein the respective first output locks a respective first amount of the respective maximum value, and wherein the respective second output locks a respective second amount of the respective maximum value; and (“a state shared between two users is locked onto the blockchain through a funding transaction first, and where the state is a cryptocurrency amount or balance. Subsequent commitment transactions are exchanged off-line between the two users to update the initial state.” (Para. 0096); “Alice may deposit 30 tokens into a separate wallet W, which only allows Bob to withdraw from it, by requiring transaction signatures from both Alice and Bob. After this deposit transaction is recorded on the blockchain, Bob confirms that Alice has reserved a sufficient number of tokens to pay him for the entire month, and he is the only one allowed to withdraw from this wallet. On day n (1≤n≤30), Bob gives Alice a food item, and gets a partially signed commitment transaction in return, where the transaction assigns n tokens to Bob and the remaining 30-n tokens as a change back to Alice. Bob can thus sign and publish the latest commitment transaction received from Alice as a settlement on the blockchain, on any day m to claim m-1 or m tokens, depending on whether the latest settlement transaction has been signed by Alice for the m-th food item.” (Para. 0098); “A final settlement transaction unilaterally or bilaterally closes the state channel when submitted to the blockchain for confirmation. As state updates or commitment transactions can be exchanged between the users off-line, as soon as they are created and signed, many more transactions can be exchanged in-between the funding and the settlement transactions.” (Para. 0096))
Long does not disclose:
“obtaining a funding transaction generated by the second party, wherein the funding transaction comprises an input comprising a signature of the second party, and an output locked to a public key of the intermediate party, wherein the output locks an amount at least equal to a total of a plurality of respective maximum values” (claim 1).
However, as per Claim 1, Eyal in the analogous art of blockchain payment channels with trusted execution environments, teaches: “obtaining a funding transaction generated by the second party, wherein the funding transaction comprises an input comprising a signature of the second party, and an output locked to a public key of the intermediate party, wherein the output locks an amount at least equal to a total of a plurality of respective maximum values”. (See “Transaction inputs are unspent transaction outputs (UTXOs), i.e. outputs of previous transactions that have not yet been spent.” (Para. 0071); “As a consequence, only the owning TEE is ever able to release those deposits again by generating a corresponding spending transaction. To generate a deposit, Alice instructs her TEE to create a new Bitcoin address by issuing command newAddr.” (Para. 0164); “a settlement transaction is generated that sends the balances of the parties to their settlement addresses using all the deposits currently associated with the channel, and the corresponding private keys to spend from those deposits.” (Para. 0192))
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Long with the technique of Eyal to include generating a payment transaction comprising a plurality of respective inputs, each respective input referencing a respective output of a respective final channel closing transaction. Therefore, the incentives of implementing Long’s aggregated off-chain micropayment settlement using known UTXO transaction mechanics, reducing the number of on-chain settlements, and predictably spending multiple prior channel outputs in a single payment transaction provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
Long does not disclose:
• “between each respective first party and the intermediate party” (claim 1).
However, as per Claim 1, Eyal in the analogous art of blockchain payment channels with trusted execution environments: “between each respective first party and the intermediate party”. (See “the first trusted execution environment of the first processing device being configured to establish a first payment channel with a second trusted execution environment of the second processing device.” (Claim 1); “The first processing device is further configured to utilize the deposit associated with the first payment channel to carry out multiple off-blockchain transactions between the first processing device and at least the second processing device.” (Para. 0005); “The first processing device 102A is further configured to utilize the deposit associated with the first payment channel to carry out multiple off-blockchain transactions between the first processing device 102A and at least the second processing device 102B. The multiple off-blockchain transactions can include transactions between the first processing device 102A and each of one or more other ones of the processing devices 102.” (Para. 0046))
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Long with the technique of Eyal to include executing a respective payment channel between each respective first party and the intermediate party. Therefore, the incentives of reducing the number of on-chain settlement transactions provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
Long does not disclose:
• “to a respective public key of the respective first party and a public key of the intermediate party, wherein the respective output locks a respective maximum value” (claim 1).
However, as per Claim 1, Eyal in the analogous art of blockchain payment channels with trusted execution environments: “to a respective public key of the respective first party and a public key of the intermediate party, wherein the respective output locks a respective maximum value”. (See “A channel is established with a setup transaction in the blockchain to which each party deposits an amount as credit. While the channel is open, each party can pay its counterparty via transaction messages sent from the payer to the payee.” (Para. 0084); “To spend an unspent output, a condition specified by a locking script must be met. Typically, a signature matching an address proves that the user spending the output owns the account claiming the funds. More complex locking scripts can be expressed, such as m-of-n multisig transactions, where m signatures are required out of n possible signatures to spend the funds; and timelocked transactions, which can only be spent after a point in the future.” (Para. 0070))
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Long with the technique of Eyal to include a respective channel opening transaction having an output locked to public keys of the respective first party and intermediate party and locking a respective maximum value. Therefore, the incentives of securely reserving channel funds provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
Long does not disclose:
• “obtaining one or more respective channel closing transactions” (claim 1).
However, as per Claim 1, Eyal in the analogous art of blockchain payment channels with trusted execution environments: “obtaining one or more respective channel closing transactions”. (See “Channel settlement. The final stage of the Teechan protocol is channel settlement. In this phase, the payment channel is closed, and a valid transaction settling the balance between Alice and Bob is broadcast to the Bitcoin network, thus releasing the funds in the setup transaction.” (Para. 0106); “Once a TEE receives a terminate request from its owner, it generates a settlement transaction signed with kBTC,A and kBTC,B, which spends the funds held in the setup transaction according to the current channel balance. It returns this transaction to the host, destroys all state held in TEE memory and halts its execution.” (Para. 0108))
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Long with the technique of Eyal to include obtaining one or more respective channel closing transactions including a final channel closing transaction having participant signatures and outputs allocating first and second amounts. Therefore, the incentives of closing off-chain payment channels with the most recent agreed balance provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 14, Long teaches:
The method of claim 1, wherein the payment transaction comprises metadata relating to one, some or all of the respective payments. (“. Transaction 960 may contain the following data: targetAddress, transferAmount, createPoolTxHash, targetSettlementSequence, Sign(SKA, targetAddress ∥ transferAmount ∥ createPoolTxHash targetSettlementSequence).” (Para. 0140-0141); “the address of the peer that Alice retrieves the resource from, and transferAmount is the amount of token payment Alice intends to send. targetSettlementSequence is to prevent a replay attack. It is similar to the “nonce” parameter in an Ethereum transaction. If a target publishes a ServicePayment transaction to the blockchain (see the next step), its targetSettlementSequence needs to increment by one. The recipient peer verifies the off-chain transactions and the signatures.” (Para. 0112).
As per Claim 15, Long teaches:
The method of claim 13, wherein the output of the funding transaction locks an amount equal to a total of the respective maximum values plus a service charge. (“The deposit amount needs to be at least the total value of the resource to be retrieved.” (Para. 0130); “For instance, if the resource is a video file which is worth 10 tokens, then the deposit would be at least 10 tokens.” (Para. 0130); “gas fee needs to be paid for the on-chain settlement transaction.” (Para. 0143))
As per Claim 16, Long teaches:
The method of claim 13, wherein for one, some or all of the respective payment channels, the respective channel opening transaction and/or the respective final channel closing transaction comprises metadata relating to the respective payment. (“two users is locked onto the blockchain through a funding transaction first.” (Para. 0096); “A final settlement transaction unilaterally or bilaterally closes the state channel when submitted to the blockchain for confirmation.” (Para. 0096); “A ServicePayment transaction may contain the following data:targetAddress, transferAmount, createPoolTxHash, targetSettlementSequence.” (Para. 0113))
As per Claim 17, Long teaches:
The method of claim 13, wherein the respective output of the respective channel opening transaction and/or the respective output of the respective channel closing transaction comprises a multi-signature locking script. (“Alice may deposit 30 tokens into a separate wallet W.” (Para. 0098); “requiring transaction signatures from both Alice and Bob.” (Para. 0098); “requires both Alice and Bob's signatures.” (Para. 0098))
As per Claim 18, Long teaches:
The method of claim 13, wherein the second party provides respective goods and/or respective services to the respective first party in return for the respective payment. (“Alice wants to buy a food item from Bob.” (Para. 0097); “Bob gives Alice a food item.” (Para. 0098); “Upon validation, the recipient peer can send Alice the resource 830 or 832 specified by the CreatePool transaction. Also, the off-chain ServicePayment transactions may be sent directly between two peers.” (Para. 0113))
As per Claim 19, Long teaches:
The method of claim 13, wherein each respective first parties provide respective goods and/or respective services to the second party in return for the respective payment. (“users to share bandwidth by paying users.” (Para. 0123); “Alice may share data with peers Bob, Carol, and David, etc.” (Para. 0123); “Alice shares data 930 with peer Bob, and data 932 with peer Carol, concurrently or asynchronously. Data 930 and 932 may each be a portion of the digital content data resource previously specified. For example, they may each be a fragment or slice of a video file, a single data packet, a live stream segment, and the like.” (Para. 0134)).
Conclusion
The following prior art made of record and not relied upon is considered pertinent to applicant's disclosure: US20190139037A1 (Khalil), discussing “a payment hub construction for off-chain payments that scales from two-party to n-party off-chain payment channels, without requiring additional locked up funds per additional user, is provided. Embodiments of the present invention provide a novel commitment scheme to account for one or more entities' or users' respective balances.” (Para. 0020).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Justin A. Jimenez whose telephone number is (571) 270-3080. The examiner can normally be reached on 8:30 AM - 5:00 PM.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, John W. Hayes can be reached on 571-272-6708. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Justin Jimenez/
Patent Examiner, Art Unit 3697
/ARI SHAHABI/Primary Examiner, Art Unit 3697