DETAILED ACTION
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 .
Status of Claims
In response to communications filed on 21 January 2026, claims 1-20 are presently pending in the application, of which, claims 1, 11, and 20 are presented in independent form. The Examiner acknowledges amended claim 1 and 11. No claims were cancelled or newly added.
Priority
The Examiner acknowledges the instant application claims priority to PCT/KR2-22/010161 filed 12 July 2022, which claims priority to U.S. Provisional 63/220,800, filed on 12 July 2021, and has been accorded the earliest effective file date.
Response to Remarks/Arguments
All objections and/or rejections issued in the previous Office Action, mailed 22 December 2025, have been withdrawn, unless otherwise noted in this Office Action.
Applicant’s arguments, see pages 15-16, filed 21 January 2026, with respect to the rejection of claims 1-20 under 35 U.S.C. 102(a)(1)/(a)(2) have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Felten, Edward, et al (U.S. 2020/0151712, filed 05 September 2019, published 14 May 2020).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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-20 are rejected under 35 U.S.C. 103 as being unpatentable by Puddu, Ivan, et al (U.S. 2020/0067697, filed 22 March 2018, and known hereinafter as Puddu) in view of Felten, Edward, et al (U.S. 2020/0151712, filed 05 September 2019, published 14 May 2020, and known hereinafter as Felten)(newly presented).
As per claim 1, Puddu teaches a method for finding consensus bugs executed by an apparatus for finding consensus bugs including a processor, the method comprising:
creating, by the processor, a series of mutated transactions (e.g. Puddu, see paragraph [0083], which discloses for each mutable transaction a unique binding identifier of the corresponding current active transaction may be stored in a block, which enables to manage the history of the blockchain.) in which at least some of a series of transitions are altered by executing at least one mutation process with respect to a test case including the series of transactions (e.g. Puddu, see paragraphs [0108-0117], which discloses a series of mutable transactions that may be represented as a pair (t, P), where t is a transaction and P specifies a mutability policy), where the specific sender addresses to a given recipient a policy P which defines conditions for changing it, a time window within which the mutable transaction remains mutable and becomes immutable afterwards);
providing, by the processor, an initial blockchain state and the series of mutated transactions to multiple Ethereum clients (e.g. Puddu, see paragraphs [0116-0127], which discloses information about active transaction changes is stored in a trie data structure where each pair is a node that can be addressed by its hash, where the trie data structure is in an Ethereum blockchain, where mutable transactions are keyed in this tree by their transaction ID and the value stored for them in some unique identifying information.);
acquiring, from each of the multiple Ethereum clients, a series of transition blockchain states associated with a state transition of the Ethereum client (e.g. Puddu, see paragraphs [0090, 0103], which discloses smart contracts are computer programs that have been previously created by regular uses or other smart contracts and stored in a blockchain, where regular users could be Ethereum users and further a transaction Merkle tree of a conventional blockchain architecture, where Ethereum blockchains integrate information about smart contracts and account balances in a single tree which root is referred as state root.) from the initial blockchain state upon executing the series of mutated transactions by the Ethereum client (e.g. Puddu, see paragraphs [0108-0127], which discloses how mutable transactions can be issued, mutated, and received by the recipients, where the sender S sends the mutable transaction which defines as an active transaction and specifies that it may be mutated by the mutator M within the time window.); and
determining consensus information among the multiple Ethereum clients based on the series of transition blockchain states (e.g. Puddu, see paragraphs [0108-0127], which discloses how mutable transactions can be issued, mutated, and received by the recipients, where the sender S sends the mutable transaction which defines as an active transaction and specifies that it may be mutated by the mutator M within the time window.).
Puddu does not explicitly disclose including randomly changing one or more of: a number of blocks, a number of transactions, and a value of one or more parameters in the test case to create the series of mutated transactions; and cause the multiple Ethereum clients to execute the series of mutated transactions starting from the initial blockchain state.
Felten teaches including randomly changing one or more of: a number of blocks, a number of transactions, and a value of one or more parameters in the test case to create the series of mutated transactions (Felten, see paragraphs [0037-0038, 0045-0055], which discloses the VM state hash can be updated efficiently as the machine’s state changes, where the VM contains the following elements (i) an instruction stack which encodes the current program; (ii) a data stack of values; (iii) a call stack used to store the return information procedure calls; (iv) a static constant which is immutable; and (v) a single mutable register which holds one value, and where the validator of the VM tracks the changes to ensure the VM’s correct behavior, where when the VM is created, the transaction that creates the VM specifies a set of validators for the VM.); and
cause the multiple Ethereum clients to execute the series of mutated transactions starting from the initial blockchain state (e.g. Felten, see paragraphs [0047, 0072-0076], which discloses when VM is initialized, the instruction stack and static constant are typically initialized from an executable file, where the single register can be used to manage mutable structure containing an arbitrary amount of data. Additionally, VM is created using a special transaction, which specifies the initial state hash of the VM, a list of validators for the VM, and some parameters, which are stored by the VM. Once the VM is created, validators can take action to cause the VM’s state to change.)
Puddu is directed to operating a blockchain to provide mutable transactions. Felten is directed to creating smart contracts by using code to specify behavior of the virtual machine that implements the contract’s functionality. Both are analogous art because they are directed to blockchain and smart contracts and therefore it would have been obvious to one of ordinary skilled in the art at the time the invention was filed to modify the teachings of Puddu with the teachings of Felten to include the claimed features with the motivation to improve Ethereum blockchain technology.
As per claim 11, Puddu teaches an apparatus for finding consensus bugs comprising:
a memory configured to store at least one instruction (e.g. Puddu, see paragraph [0058], which discloses memory coupled to a processor.); and
a processor, wherein when the at least one instruction is executed by the processor (e.g. Puddu, see paragraph [0058], which discloses memory coupled to a processor.), the processor is configured to:
creating, by the processor, a series of mutated transactions (e.g. Puddu, see paragraph [0083], which discloses for each mutable transaction a unique binding identifier of the corresponding current active transaction may be stored in a block, which enables to manage the history of the blockchain.) in which at least some of a series of transitions are altered by executing at least one mutation process with respect to a test case including the series of transactions (e.g. Puddu, see paragraphs [0108-0117], which discloses a series of mutable transactions that may be represented as a pair (t, P), where t is a transaction and P specifies a mutability policy), where the specific sender addresses to a given recipient a policy P which defines conditions for changing it, a time window within which the mutable transaction remains mutable and becomes immutable afterwards);
providing, by the processor, an initial blockchain state and the series of mutated transactions to multiple Ethereum clients (e.g. Puddu, see paragraphs [0116-0127], which discloses information about active transaction changes is stored in a trie data structure where each pair is a node that can be addressed by its hash, where the trie data structure is in an Ethereum blockchain, where mutable transactions are keyed in this tree by their transaction ID and the value stored for them in some unique identifying information.);
acquiring, from each of the multiple Ethereum clients, a series of transition blockchain states associated with a state transition of the Ethereum client (e.g. Puddu, see paragraphs [0090, 0103], which discloses smart contracts are computer programs that have been previously created by regular uses or other smart contracts and stored in a blockchain, where regular users could be Ethereum users and further a transaction Merkle tree of a conventional blockchain architecture, where Ethereum blockchains integrate information about smart contracts and account balances in a single tree which root is referred as state root.) from the initial blockchain state upon executing the series of mutated transactions by the Ethereum client (e.g. Puddu, see paragraphs [0108-0127], which discloses how mutable transactions can be issued, mutated, and received by the recipients, where the sender S sends the mutable transaction which defines as an active transaction and specifies that it may be mutated by the mutator M within the time window.); and
determining consensus information among the multiple Ethereum clients based on the series of transition blockchain states (e.g. Puddu, see paragraphs [0108-0127], which discloses how mutable transactions can be issued, mutated, and received by the recipients, where the sender S sends the mutable transaction which defines as an active transaction and specifies that it may be mutated by the mutator M within the time window.).
Puddu does not explicitly disclose including randomly changing one or more of: a number of blocks, a number of transactions, and a value of one or more parameters in the test case to create the series of mutated transactions; and cause the multiple Ethereum clients to execute the series of mutated transactions starting from the initial blockchain state.
Felten teaches including randomly changing one or more of: a number of blocks, a number of transactions, and a value of one or more parameters in the test case to create the series of mutated transactions (Felten, see paragraphs [0037-0038, 0045-0055], which discloses the VM state hash can be updated efficiently as the machine’s state changes, where the VM contains the following elements (i) an instruction stack which encodes the current program; (ii) a data stack of values; (iii) a call stack used to store the return information procedure calls; (iv) a static constant which is immutable; and (v) a single mutable register which holds one value, and where the validator of the VM tracks the changes to ensure the VM’s correct behavior, where when the VM is created, the transaction that creates the VM specifies a set of validators for the VM.); and
cause the multiple Ethereum clients to execute the series of mutated transactions starting from the initial blockchain state (e.g. Felten, see paragraphs [0047, 0072-0076], which discloses when VM is initialized, the instruction stack and static constant are typically initialized from an executable file, where the single register can be used to manage mutable structure containing an arbitrary amount of data. Additionally, VM is created using a special transaction, which specifies the initial state hash of the VM, a list of validators for the VM, and some parameters, which are stored by the VM. Once the VM is created, validators can take action to cause the VM’s state to change.)
Puddu is directed to operating a blockchain to provide mutable transactions. Felten is directed to creating smart contracts by using code to specify behavior of the virtual machine that implements the contract’s functionality. Both are analogous art because they are directed to blockchain and smart contracts and therefore it would have been obvious to one of ordinary skilled in the art at the time the invention was filed to modify the teachings of Puddu with the teachings of Felten to include the claimed features with the motivation to improve Ethereum blockchain technology.
As per claim 2, the modified teachings of Puddu and Felton teaches the method for finding the consensus bugs of claim 1, wherein each transaction in the series of transactions is a contract creation transaction that creates a smart contract or a message call transaction that calls a smart contract (e.g. Puddu, see paragraphs [0109, 0117-0120], which discloses creating account balances and/or smart contracts that include values such as a hash of a previous block, consensus data, time stamp, and roots of data structures storing the transaction.).
As per claims 3 and 12, the modified teachings of Puddu and Felton teaches the method for finding the consensus bugs of claim 1 and the apparatus for finding the consensus bugs of claim 11, respectively, wherein the creating of the series of mutated transactions comprises applying at least one mutation of a transaction context mutation, a transaction parameter mutation, and an EVM bytecode mutation to at least some of the series of transactions (e.g. Puddu, see paragraphs [0106-0120], which discloses all mutations of transactions may be subject to access control policies which are specified by transaction senders and which all attached to mutable transactions, where these access control policies can define who are in which context is allowed to trigger mutations of transactions or add additional versions of data records, and their conditions are verified by validators when mutant transactions are processed.).
As per claims 4 and 13, the modified teachings of Puddu and Felton teaches the method for finding the consensus bugs of claim 2 and the apparatus for finding the consensus bugs of claim 12, respectively, wherein the applying of the at least one mutation comprises executing at least some of at least one instruction of add, delete, clone, and copy (e.g. Puddu, see paragraphs [0106-0120], which discloses all mutations of transactions may be subject to access control policies which are specified by transaction senders and which all attached to mutable transactions, where these access control policies can define who are in which context is allowed to trigger mutations of transactions or add additional versions of data records, and their conditions are verified by validators when mutant transactions are processed.).
As per claims 5 and 14, the modified teachings of Puddu and Felton teaches the method for finding the consensus bugs of claim 3 and the apparatus for finding the consensus bugs of claim 12, respectively, wherein the EVM bytecode mutation comprises at least one of a constructor mutation and a code-to- return mutation of the contract creation transaction (e.g. Puddu, see paragraphs [0106-0120], which discloses all mutations of transactions may be subject to access control policies which are specified by transaction senders and which all attached to mutable transactions, where these access control policies can define who are in which context is allowed to trigger mutations of transactions or add additional versions of data records, and their conditions are verified by validators when mutant transactions are processed.).
As per claims 6 and 15, the modified teachings of Puddu and Felton teaches the method for finding the consensus bugs of claim 1 and the apparatus for finding the consensus bugs of claim 11, respectively, further comprising:
selecting the test case from a test case set stored in a corpus (e.g. Puddu, see paragraphs [0031-0049], which discloses providing the blockchain including a sequence of blocks, where the blocks include a block header and a data record, and where a consensus protocol is executed for managing the blockchain by a validating entity and wherein a block of the blockchain is appended to a previous block with the block including reference information of the previous block and where transaction information includes a transaction that is includable into the data record of a block.); and
storing another test case including the series of mutated transactions in the test case set (e.g. Puddu, see paragraphs [0031-0049], which discloses providing the blockchain including a sequence of blocks, where the blocks include a block header and a data record, and where a consensus protocol is executed for managing the blockchain by a validating entity and wherein a block of the blockchain is appended to a previous block with the block including reference information of the previous block and where transaction information includes a transaction that is includable into the data record of a block.).
As per claims 7 and 16, the modified teachings of Puddu and Felton teaches the method for finding the consensus bugs of claim 1 and the apparatus for finding the consensus bugs of claim 11, respectively, wherein the acquiring of the series of transition block states comprises acquiring code path information by the series of mutated transactions (e.g. Puddu, see paragraphs [0031-0039], which discloses acquiring a series of blockchain entries for the mutated transaction information.).
As per claims 8 and 17, the modified teachings of Puddu and Felton teaches the method for finding the consensus bugs of claim 7 and the apparatus for finding the consensus bugs of claim 16, respectively, wherein the consensus information includes crash information between the multiple Ethereum clients (e.g. Puddu, see paragraphs [0031-0049], which discloses providing the blockchain including a sequence of blocks, where the blocks include a block header and a data record, and where a consensus protocol is executed for managing the blockchain by a validating entity and wherein a block of the blockchain is appended to a previous block with the block including reference information of the previous block and where transaction information includes a transaction that is includable into the data record of a block, where mutability policy is includable into transaction information, where the mutable policy specifies one or more conditions for changing a transaction.), and
the determining of the consensus information comprises tracking the crash information based on the code path information (e.g. Puddu, see paragraphs [0031-0049], which discloses providing the blockchain including a sequence of blocks, where the blocks include a block header and a data record, and where a consensus protocol is executed for managing the blockchain by a validating entity and wherein a block of the blockchain is appended to a previous block with the block including reference information of the previous block and where transaction information includes a transaction that is includable into the data record of a block, where mutability policy is includable into transaction information, where the mutable policy specifies one or more conditions for changing a transaction.).
As per claims 9 and 18, the modified teachings of Puddu and Felton teaches the method for finding the consensus bugs of claim 1 and the apparatus for finding the consensus bugs of claim 11, respectively, wherein the determining of the consensus information comprises comparing the series of transition block states acquired from each Ethereum client in sequence; and
determining a consensus result among the multiple Ethereum clients for the series of transactions based on the comparison result (e.g. Puddu, see paragraphs [0108-0127], which discloses how mutable transactions can be issued, mutated, and received by the recipients, where the sender S sends the mutable transaction which defines as an active transaction and specifies that it may be mutated by the mutator M within the time window.).
As per claims 10 and 19, the modified teachings of Puddu and Felton teaches the method for finding the consensus bugs of claim 1 and the apparatus for finding the consensus bugs of claim 11, respectively, wherein the multiple Ethereum clients are instances of an Ethereum virtual machine (EVM) implemented according to the Ethereum EVM specification, respectively (e.g. Puddu, see paragraphs [0108-0127], which discloses how mutable transactions can be issued, mutated, and received by the recipients, where the sender S sends the mutable transaction which defines as an active transaction and specifies that it may be mutated by the mutator M within the time window.).
As per claim 20, Puddu teaches a computer-readable non-transitory recording medium for storing a computer program including at least one instruction configured to execute, by a processor, the method for finding the consensus bugs according to claim 1 (e.g. see the rejection of claim 1 above).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure. See attached PTO-892 that includes additional prior art of record describing the general state of the art in which the invention is directed to.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to FARHAN M SYED whose telephone number is (571)272-7191. The examiner can normally be reached M-F 8:30AM-5:30PM.
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, Apu Mofiz can be reached at 571-272-4080. 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.
/FARHAN M SYED/Primary Examiner, Art Unit 2161 March 27, 2026