DETAILED ACTION
Claims 1-13 are presented for examination on the merits.
Notice of Pre-AIA or AIA Status
The present application is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 08/30/2024, 08/30/2024, and 08/30/2024 has been considered. The submission is in compliance with the provisions of 37 CFR 1.97. Form PTO-1449 is signed and attached hereto.
Drawings
The drawings filed on 08/20/2024 are accepted by the examiner.
Priority
The application is filed on 08/20/2024 which is a CON of 18/105,672
filed on 02/03/2023 which is a CON of 16/762,466 filed on 05/07/2020 and which is 371 of PCT/IB2018/058432 filed on 10/29/2018 and claims priority of GB1718505.9 filing date 11/09/2017.
Double Patenting
1. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory obviousness-type double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); and In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on a nonstatutory double patenting ground provided the conflicting application or patent either is shown to be commonly owned with this application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The USPTO internet Web site contains terminal disclaimer forms which may be used. Please visit http://www.uspto.gov/forms/. The filing date of the application will determine what form should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission.
For more information about eTerminal Disclaimers, refer to http://www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp.
2. Claims 1-13 are rejected on the ground of nonstatutory obviousness-type double patenting as being unpatentable over claims 1-16 of Patent No. US 12,200,103 B2, claims 1-20 of Patent No. US 11,575,511 B2. Although the conflicting claims are not identical, they are not patentably distinct from each other because both applications recite similar elements of distributed ledger technologies such as consensus-based blockchains for reducing arithmetic circuits derived from smart contracts.
Claim Comparison Table
Instant Application: 18/810,422
Patent No. US 12,200,103 B2
1. A computer-implemented method for verification, the computer-implemented method implemented using a processing resource, the computer-implemented method comprising: obtaining a set of conditions encoded in a first programming language;
converting the set of conditions into a programmatic set of conditions encoded in a second programming language;
precompiling the programmatic set of conditions into precompiled program code; transforming the precompiled program code into an arithmetic circuit;
wherein the arithmetic circuit is used to generate a proof-of-correctness; obtaining a verification key using a secret value obtained from a client node, which receives an output of the arithmetic circuit; and wherein a blockchain transaction is then validated using the proof-of-correctness and the verification key.
A computer-implemented method comprising: obtaining a set of conditions encoded in a first programming language, wherein the first programming language is a domain specific language, and wherein the set of conditions are included in a smart contract; converting the set of conditions into a programmatic set of conditions encoded in a second programming language, wherein the second programming language is a general-purpose programming language;
precompiling the programmatic set of conditions into precompiled program code, wherein the pre-compiling of the programmatic set of conditions into precompiled program code comprises obfuscating variable names;
transforming the precompiled program code into an arithmetic circuit; reducing the arithmetic circuit to form a reduced arithmetic circuit; and storing the reduced arithmetic circuit.
2. The computer-implemented method of claim 1, wherein the proof-of-correctness is stored on a blockchain.
2. The computer-implemented method according to claim 1, wherein reducing the arithmetic circuit involves minimising the arithmetic circuit to produce the reduced arithmetic circuit.
3. The computer-implemented method of claim 2, wherein the proof-of-correctness is verified by multiple parties without requiring a worker node to separately interact with multiple parties.
3. The computer-implemented method according to claim 1, wherein the arithmetic circuit is a directed a cyclical graph comprising: a set of nodes representing logic gates and inputs; and a set of edges connecting the nodes representing wires between the logic gates and the inputs.
Claims 4-13
Claims 4-13
Instant Application: 18/810,422
Patent No. US 11,575,511 B2
1. A computer-implemented method for verification, the computer-implemented method implemented using a processing resource, the computer-implemented method comprising: obtaining a set of conditions encoded in a first programming language; converting the set of conditions into a programmatic set of conditions encoded in a second programming language; precompiling the programmatic set of conditions into precompiled program code; transforming the precompiled program code into an arithmetic circuit; wherein the arithmetic circuit is used to generate a proof-of-correctness; obtaining a verification key using a secret value obtained from a client node, which receives an output of the arithmetic circuit; and wherein a blockchain transaction is then validated using the proof-of-correctness and the verification key.
1. A computer-implemented method comprising: obtaining a set of conditions encoded in a first programming language, wherein the set of conditions represents a smart contract; converting the set of conditions into a programmatic set of conditions encoded in a second programming language; precompiling the programmatic set of conditions into precompiled program code; transforming the precompiled program code into an arithmetic circuit which represents the smart contract, wherein the arithmetic circuit comprises inputs associated with input values to the smart contract represented by the first set of conditions; reducing the arithmetic circuit to form a reduced arithmetic circuit; and storing the reduced arithmetic circuit.
2. The computer-implemented method of claim 1, wherein the proof-of-correctness is stored on a blockchain.
2. The computer-implemented method according to claim 1, wherein reducing the arithmetic circuit involves minimising the arithmetic circuit to produce the reduced arithmetic circuit.
3. The computer-implemented method of claim 2, wherein the proof-of-correctness is verified by multiple parties without requiring a worker node to separately interact with multiple parties.
3. The computer-implemented method according to claim 1, wherein the arithmetic circuit is a directed a cyclical graph comprising: a set of nodes representing logic gates and inputs; and a set of edges connecting nodes in the set of nodes, individual edges in the set representing respective wires between the logic gates and the inputs.
Claims 4-13
Claims 4-13
3. As to claim 1, Patent No. US 12,200,103 and Patent No. US 11,575,511 B2 do not explicitly disclose obtaining a verification key using a secret value obtained from a client node, which receives an output of the arithmetic circuit; and wherein a blockchain transaction is then validated using the proof-of-correctness and the verification key. However, Greco et al. (US 20190205898 A1) discloses obtaining a verification key using a secret value obtained from a client node (Greco, Para 0071-0075, 0083-0084: receiving verification key using secret key for verifying sender proof),
which receives an output of the arithmetic circuit (Greco Para 0008: processing circuit coupled with the memory transfers entropy value as output in the transaction associated with the blockchain) and
blockchain transaction is then validated using the proof-of-correctness and the verification key (Greco, Para 0005-0006: generating sender proof that enables the blockchain to verify whether the sender device knows the item identifier, the sender secret key and the recipient public key and the corresponding randomness entropy value and transmits a transaction message to the recipient device including the sender proof).
Therefore, it would have been obvious to one of ordinary skill in the art at the time of the invention wherein obtaining a verification key using a secret value obtained from a client node, which receives an output of the arithmetic circuit; and wherein a blockchain transaction is then validated using the proof-of-correctness and the verification key as taught by Greco et al. in the disclosure of Patent No. US 12,200,103 and Patent No. US 11,575,511 B2 for the advantage of transferring of asset between entities implemented via an open registry, wherein a ledger securely records each of the transactions utilizing shielded or proxy data state such that information about the transactions cannot be gleaned from the ledger despite the accessible nature of the records on the open registry (Greco, Abstract).
Allowable Subject Matter
4. Claims 1-13 would be allowable if rewritten or amended to overcome the objection and rejection(s) under double patenting, set forth in this office action and to include all of the limitations of the base claim and any intervening claims.
Reasons for Allowance
5. The following is an examiner’s statement of reasons for allowance:
Independent claim 1 is allowed and the corresponding dependent claims depend upon one of the above-mentioned allowed claims and are therefore allowed by virtue of their dependencies.
Kraemer et al. (US 20170277909 A1, cited in PTO-892) discloses cryptographically assured distributed private cloud and content delivery network, and zero-knowledge assurance that features both content protection and end user privacy. This cryptographic zero-knowledge assures both integrity for content owners and privacy for end users. Further, various embodiments disclosed, enable the creation of zero-knowledge content delivery systems comparable to NetFlix, Hulu, Google, Amazon, Apple App Store, Google Play and Amazon App Store, which can provide both the cryptographic assurance of content control required by content owners to monetize their content free of piracy, and a strong guarantee of privacy for end users and content consumers (Kraemer Para 0006).
Roets et al. (US 20190095631 A1, cited in PTO-892) discloses a system 200 in which respective entities 210A-B interact with one another and with participating mining rigs 400K or similar distributed devices 400A-J many of which are, at various times, able to implement a transaction 241 or confirm an asset transfer or other occurrence as described below (e.g. by confirmations 242). In some variants a private entity 210A comprises one or more node management servers 500A that interact with one or more client devices 300A thereof (e.g. via respective instances of linkage 244A). Likewise a public or collective entity 210B comprises one or more node management servers 500B that interact with one or more client devices 300B thereof (e.g. via respective instances of linkage 244B). In some instances (e.g. in response to interactions via linkages 244C-D) the entities 210A-B may cooperate so that updates (e.g. indicia of dispensations, distributed ledger recordations, or other events) to values maintained at (one or more instances of) server 500B are received and so that adequately timely confirmations to those updates can occur in a decentralized fashion. In an instance where node 170 is distributed across multiple servers 500B in a proof-of-work architecture, for example, numerous proof-of-work blockchain nodes 400A, 400C, 400D, 400E, 400G, 400H, 400K (e.g. each implementing a mining rig) may validate changes to node 180 (e.g. by correctly identifying which block 177H was added last) so as to maintain or rebuild consensus. Alternatively or additionally, such consensus may be maintained or rebuilt using numerous (proof-of-stake or other) secure blockchain nodes 400B, 400F, 400I, 400J not configured as a mining rig may validate changes to node 180 in other blockchain proof architectures currently in public use (Roets Para 0040).
Young (US 5499191 A, prior art on the record) discloses system for designing logic circuits to be implemented in one or more programmable logic devices, the system comprising: a data storage device, the data storage device having stored therein information representing details of a plurality of programmable logic devices, each of the devices having a limited number of resources and a limited number of logic components per resource; data input means for inputting information related to a logic circuit into the data storage device; and computer means for designing one or more logic circuits for implementation in the programmable logic devices, the computer means comprising resource minimizing means for minimizing the number of the resources without exceeding the limited number of logic components per resource. Preferably, the logic components comprise at least one OR gate having a predetermined number of inputs, and the minimization means comprises means for minimizing the number of resources without exceeding the number of the logic inputs. Preferably, the logic components further comprise a fusible inverter, and the minimization means comprises means for taking into account the presence of the fusible inverter to minimize the resources (Young, Col. 5, lines 7-25).
Further, Young discloses a computerized electronic design system comprising: a data storage device, the data storage device having stored therein details of a plurality of programmable electronic devices, each of the devices having one or more registers; data input means for inputting data related to a logic circuit into the data storage device; and computer means for designing one or more logic circuits for implementation in one or more of the programmable electronic devices, the computer means comprising: register synthesis means for generating a logic circuit design for every type of register available when the input data specifies a register in the logic circuit; and logic circuit design selection means for selecting one of the generated circuit designs. Preferably, the computer means further comprises partitioning means for partitioning the logic circuit into a plurality of PLDs, the partitioning means choosing between the generated circuit designs to perform the partitioning. Preferably, the register synthesis means comprises means for generating a first logic circuit design utilizing a D flip-flop, a second logic circuit utilizing a JK flip-flop, a third logic circuit design utilizing an SR flip-flop, and a fourth logic circuit design utilizing a T flip-flop when the input data specifies any flip-flop from the group comprising a D flip-flop, a JK flip-flop, an SR flip-flop, and a T flip-flop (Young, Col. 5, lines 51-67, Col. 6, lines 1-9).
Moore (US 20160004820 A1, prior art on the record) discloses methods for syndication and management of structured and unstructured data to assist institutional healthcare delivery, healthcare providers' practices, healthcare providers' group practices, collaborative academic research and decision making in healthcare, including through the utilization of medical devices and healthcare pools. The method includes the handling of health care information based at least in part on providing a user interface that is adapted to receive and handle information that is syndicated from a plurality of pools of information, the pools including at least one pool of health care information (Moore, Paragraphs 0181-0182).
Furthermore, Moore discloses that the syndicated information may be structured into a hierarchy. The hierarchy may be defined using OPML. The hierarchy may be defined according to what pools are accessed by what portion of the hierarchy. The hierarchy may define conditions for aggregating information from the pools. In embodiments, the pools may be stored with protocols for using the information in the pools. The pools may be stored with conditions for access of the pools. The pools may include patient record data that is de-identified (Moore, Paragraph 0084).
Although, the cited references above are from same or similar fields of endeavor however, the Applicant’s invention is directed towards distributed ledger technologies such as consensus-based blockchains. Computer-implemented N methods for reducing arithmetic circuits derived from smart contracts are described. The invention is implemented using a blockchain network, which may be, for example, a Bitcoin blockchain. .
The subject matters of the independent claim 1 is not taught or fairly suggested by the prior art of record, specifically the limitations in claim 1 that recite: converting the set of conditions into a programmatic set of conditions encoded in a second programming language……wherein the arithmetic circuit is used to generate a proof-of-correctness; obtaining a verification key using a secret value obtained from a client node, which receives an output of the arithmetic circuit; and wherein a blockchain transaction is then validated using the proof-of-correctness and the verification key.....” in combination with the rest of the limitations recited in the independent claim 1.
The claimed subject matters are novel and non-obvious in scope over the prior art of record as the prior-art references fail to teach each and every features of the independent claim(s) including the limitations set forth above.
In view of the foregoing, the scope of claimed subject matters renders the invention patentably distinct as none of the prior art of record, either taken by itself or in any combination, would have anticipated or made obvious the invention of the present application at or before the time it was filed.
Furthermore, the Examiner performed updated search which does not yield other specific references that reasonably, either alone or in combination, would result a proper rejection of all the claimed features presented in each of the independent claim 1 under 35 U.S.C 102 or 35 U.S.C.103 with proper motivation.
Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled "Comments on Statement of Reasons for Allowance."
Conclusion
6. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Roets (US 10135607 B1) discloses a distributed public ledger interaction methods by which one or more elements of a first smart contract are privately recorded on a secure ledger node where the first smart contract is executed so as to retrieve public ledger node data from a first public ledger node.
Chen et al. (US 20090019285 A1) discloses establishing a trust relationship between computing entities. The invention finds application in trusted computing environments, in particular, but not exclusively, wherein a trust relationship depends at least in part on a first computing entity demonstrating to or convincing a second computing entity that the former has a configuration that can be trusted by the second computing entity.
7. In an effort to advance compact prosecution, with respect to any amendments to the claimed invention, the applicant is respectfully requested to indicate the portion(s) of the specification which dictate(s) the structure relied on for proper interpretation and also to verify and ascertain the metes and bounds of the claimed invention.
Moreover with respect to advancing compact prosecution, if the applicant intends to make numerous amendments, the examiner respectfully requests that applicant submit a clean copy of the claims in addition to the marked up copy of the claims in order to expedite the examination process by allowing for accurate optical character recognition (OCR) of the claims. The prior art made of record and not relied upon, if any, is considered pertinent to applicant’s disclosure and would be listed under PTO-Form 892.
8. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MAHFUZUR RAHMAN whose telephone number is (571)270-7638. The examiner can normally be reached on Monday thru Friday.
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, Yin-Chen Shaw can be reached on 571-272-88788593. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. 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 http://pair-direct.uspto.gov. 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.
/MAHFUZUR RAHMAN/Primary Examiner, Art Unit 2498