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 .
Response to Applicant’s Amendments / Arguments Regarding 35 U.S.C. § 103
The applicant’s remarks, on pages 7-13 of the response / amendment, the applicant argues the features which allegedly distinguish over the previously cited references cited in the 35 U.S.C. § 103 rejections.
Applicant’s arguments have been considered but are moot in view of the new ground(s) of rejection.
The applicant’s attorney is encouraged to contact the Examiner to schedule a telephone interview with the examiner, to discuss the case.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
Claims 1 and 3-11 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention.
The independent claims 1 and 4 both recite, “a contract”, which executes “off-chain”, and “a verification contract”, which is executed “on-chain.” After a review of the application, the examiner asserts that at least fig. 1 and [0038-40] of the applicant’s printed publication teach that the verification contract / operation unit 300 are used for both on-chain and off-chain verification / validation. Additionally, [0046-48] of the applicant’s printed publication describes the verification being located on chain, and [0048] specifically teaches the verification contract (VC) being on the blockchain so that challengers are aware of the contract for use in verifying a proof, where challengers are off-line verifiers who challenge the proof value. Thus, there is no support for having two different contracts, where one contract is used for on-chain verification and the other contract is used for off-chain verification. The examiner will interpret the feature of “a / the contract” instead as “the verification contract.” Appropriate correction is required.
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 and 3-11 are rejected under 35 U.S.C. 103 as being unpatentable over NPL “The Core of Cartesi” by Teixeira et al. (2018) (hereinafter Teixeira), in view of US 20200151712 to Felten et al. (hereinafter Felten).
Regarding claim 1, Teixeira teaches,
A selective verification system of zero-knowledge proofs for scalability of a blockchain, the system comprising: (page 9, Col. 1, last 12 lines to Col. 2, first 7 lines, teaches using proofs / hashes stored in a Merkle tree. See also Merkle Tree described on page 7, Col. 1, lines 13-25. Abstract teaches scalability.)
a verification contract registered on the blockchain by a user and configured to execute on-chain verification; (page 1, col. 2, teaches “Blockchain platforms solve this problem by employing custom virtual machines (VMs) when processing smart contracts.” Page 1, col. 2, first full paragraph, disputes may be handled off-chain in most circumstances, however, on-chain is also available.) (See also Felten, further discussed below, Abstract teaching using smart contracts to verify transactions using incentives and off-chain verifiers. See also starting on page 9, “The Verification Game”.)
a prover generating (page 8, Col. 2, first full paragraph teaching Bob / “prover” submitting results that are later validated by Alice / “validator”.) a new proof to be proved and storing the new proof in a proof list on the blockchain by generating a transaction in the blockchain (page 8, Col. 2, 2nd full paragraph teaching cryptographic hashes stored on the blockchain.)
a validator provided outside the blockchain and (page 8, Col. 2, first full paragraph teaching Alice accepting or rejecting Bob’s result. Page 8, Col 1, last paragraph teaching that Alice’s node runs off-chain.) executing off-chain verification for a contract, a (page 9, Col. 2, 5.2, “Disagreement Step” teaches Alice agrees with (verifies) one of the hashes \ results posted by Bob, and disagrees with another hash posted by Bob to the blockchain. Page 8, col. 1, last paragraph teaches that Alice’s off-chain software interacts with smart contracts. )
when a result of the off-chain verification by the validator is a value of true, and the verification contract confirms the new proof as being true after the preset time (page 9, last half of col. 2, teaches “The disagreement step” where Alice agrees with hash (“value of true”) with one posted by Bob and disagrees with hash (“value of false”) with another hash posted by Bob. Last paragraph Page 9, Col. 2 also taches verification with “timeout”.)
when the result of the off-chain verification by the validator is a value of false, the validator transmits a request for verification of the new proof to the verification contract registered on the blockchain, (page 9, last half of col. 2, teaches “The disagreement step” where Alice disagrees with hash (“value of false”) with another hash posted by Bob, while also agreeing with another hash posted by Bob.)
wherein the verification contract registered on the blockchain executes the on-chain verification for the new proof in response to the request for verification from the validator only when the result of the off-chain verification by the validator is a value of false. (As discussed above, page 2 taches registered smart contracts in the blockchain. Page 10, col. 1, “Settling the dispute” teaches Alice disagreeing \ disputing a hash, while agreeing with another hash, where the blockchain’s emulator contract is only run in the case of disagreements. Page 2, col. 1, first full paragraph, teaches that undisputed computations take negligible resources. Also, page 13, col. 2, lines 16-22 teaches that most hash values match, and there is no dispute, but only in the event of a dispute are there interactions between the blockchain and external Cartesi nodes to settle the dispute.) (See also Felten, further discussed below, at [0076] teaching dispute resolution.)
Teixeira fails to explicitly teach using keys and a validator standing by for a time-out period as recited in the claim,
However, Felten teaches,
a prover generating a new proof to be proved and storing the new proof in a proof list on the blockchain by generating a transaction in the blockchain before executing verification; ([0082] teaches how assertions on the blockchain are verified using a game that includes a deposit that is won / lost.. An assertion is placed on the blockchain before verification, which may occur off-chain. [0012] teaches the publishing signed assertions that are pending, without all of the validators signing.)
a validator provided outside the blockchain and executing off-chain verification for a contract (Abstract teaches off-chain verifiers using digital signatures.) , a verifying key (vk), ([0035-38] teaches the use of keys. See also [0092] teaching the use of the keys for signing.) and the new proof registered in the proof list on the blockchain, ([0013] teaches a plurality of assertions being verified together. See also [0076] verifying multiple assertions where some assertions are signed and some are only signed by a validator, which indicates a dispute.)
when a result of the off-chain verification by the validator is a value of true, the validator stands by for a preset time without any challenge to the result, and the verification contract confirms the new proof as being true after the preset time without on-chain verification for the new proof, ([0076] teaches “time-out period” within which validators can challenge an assertion. Abstract teaches that off-chain validation is being performed. See also fig. 1 where assertion is pending, challenge is made, and proof is offered.)
Before the effective filing date of the invention, it would have been obvious to one of ordinary skill in the art to combine the teachings of Teixeira, which teaches the use of off-chain computations to post and verify transactions to a blockchain, (page 1-2) where the blockchain hosts smart contracts that interact with the off-chain computations to verify transactions and settle disputes when disagreements exist between parties, where the parties Alice and Bob may agree or disagree to transactions, that are represented by hashes stored in the blockchain, where a majority of the computation is performed off the blockchain in order to reduce the amount of precious computations performed by the consensus of the blockchain (pages 9-10), with Felten, which also teaches validation of blockchain transactions / assertions using off-chain validation and on-chain validation to settle disputes, (Abstract) and additionally teaches the use of keys in the validation / verification process ([0036-38]) and the time-out period ([0076]). One of ordinary skill in the art would have been motivated to perform such an addition to provide Teixeira with the added ability to use keys for signatures that are used to verify or dispute a transaction, and a time-out period during which if no challenges are made, the transaction may be verified, as taught by Felten.
Regarding claim 3, Teixeira and Felten teach,
The selective verification system of claim 1,
Teixeira teaches,
wherein when a result of execution of the on-chain verification by the verification contract in response to the request for verification from the validator is a value of false, the verification contract imposes a preset penalty from a deposit of the prover. (Teixeira, on page 9, teaches 5.2 “The Verification Game.” Section 6.2 “Dispute Delegation Market” on page 13 teaches “rewarded the fees.”) (Felten, [0012] teaches the winner of the verification game its own deposit and the losing party’s deposit. See also [0076] and [0082])
Regarding claim 4, Teixeira and Felten teach,
A selective verification method of zero-knowledge proofs for scalability of a blockchain, the method comprising:
(a) registering a verification contract configured to execute on-chain verification on the blockchain;
(b) generating, by a prover a new proof to be proved and storing the new proof in a proof list on the blockchain by generating a transaction in the blockchain before executing verification;
(c) executing, by a validator provided outside the blockchain off-chain verification for a contract, a verifying key (vk), and the new proof registered in the proof list on the blockchain;
(d) when a result of execution of the off-chain verification by the validator at the step (c) is a value of true, the validator stands by for a preset time without any challenge to the result, and the verification contract confirms the new proof as being true after the preset time without on-chain verification for the new proof;
(e) transmitting, by the validator, when the result of execution of the off-chain verification by the validator at the step (c) is a value of false, a request for verification of the new proof to the verification contract registered on the blockchain; and
(f) executing, by the verification contract provided on the blockchain, on-chain verification for the new proof in response to the request for verification from the validator, wherein the verification contract executes the on-chain verification only when the result of the off-chain verification by the validator is a value of false.
Claim 4 is rejected using the same basis of arguments used to reject claim 1 above.
Regarding claim 5, Teixeira and Felten teach,
The selective verification method of claim 4, further comprising:
Teixeira teaches,
(g) imposing, by the verification contract, when a result of on-chain verification by the verification contract in response to the request for verification from the validator is a value of false, a preset penalty from a deposit of the prover.
Claim 5 is rejected using the same basis of arguments used to reject claim 3 above.
Regarding claim 6, Teixeira and Felten teach,
The selective verification system of claim 1,
wherein when a result of execution of the on-chain verification by the verification contract(Felten, [0037] and [0079] teaches that verified transactions are accepted. Thus, a false transaction is NOT accepted and is not published to the blockchain as accepted.) (Also, Teixeira, page 13, col. 2, last full paragraph, teaches the honest party always wins disputes)
Regarding claim 7, Teixeira and Felten teach,
The selective verification system of claim 1,
wherein when a result of execution of the on-chain verification by the verification contract confirms the proof being true even though the preset time does not elapse, and the deposit is returned to the prover. (Felten, [0075] teaches that unanimous assertion is immediately accepted. Abstract also teaches unanimous agreement off-chain. In contrast, if a unanimous agreement is not made, see [0076].) (Teixeira also teaches the verification contract and the validator, as included above, and also, in section 6.2 on page 13 teaches return of stakes, and also teaches rewarding fees based on winning a disagreement, where the fees are deducted from the stakes of the party.)
Regarding claim 8, Teixeira and Felten teach,
The selective verification system of claim 6,
wherein when the result of execution of the on-chain verification by the verification contract in response to the request for verification from the validator is a value of false, the verification contract repays a part of the preset penalty to the validator as reward. ([0082] teaches part of the deposit being to verifier and another part to challenger.) (As discussed above, Teixeira teaches the on-chain verification, the verification contract, and the validator. Teixeira teaches the verification contract and the validator, as included above, and also, in section 6.2 on page 13-14 teaches rewarding fees based on winning a disagreement, where the fees are deducted from the stakes of the party.)
Regarding claim 9, Teixeira and Felten teach,
The selective verification method of claim 4,
wherein when a result of execution of the on-chain verification by the verification contract in response to the request for verification from the validator is a value of false, the proof is discarded.
Claim 9 is rejected using the same basis of arguments used to reject claim 6 above.
Regarding claim 10, Teixeira and Felten teach,
The selective verification method of claim 4,
wherein when a result of execution of the on-chain verification by the verification contract in response to the request for verification from the validator is a value of true, the verification contractconfirms the proof being true even though the preset time does not elapse, and the deposit is returned to the prover.
Claim 10 is rejected using the same basis of arguments used to reject claim 7 above.
Regarding claim 11, Teixeira and Felten teach,
The selective verification method of claim 5,
wherein when the result of execution of the on-chain verification by the verification contract in response to the request for verification from the validator is a value of false, the verification contract repays a part of the preset penalty to the validator as reward.
Claim 11 is rejected using the same basis of arguments used to reject claim 8 above.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRIAN WILLIAM AVERY whose telephone number is (571)272-3942. The examiner can normally be reached on 9AM-5PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Farid Homayounmehr can be reached on (571)272-3739.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see https://ppair-my.uspto.gov/pair/PrivatePair. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/B.W.A./
/FARID HOMAYOUNMEHR/Supervisory Patent Examiner, Art Unit 2495