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
This is the final office action in response to the arguments/remarks filed on December 16, 2025.
Claims 1-7 and 10-13 have been amended.
Claims 1-16 are pending and have been examined.
Information Disclosure Statement
The information disclosure statement (IDS), submitted on 11/24/2025, is in compliance with provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Responses to Arguments/Remarks
Claim Objections:
The amended claims 3, 5, and 12 have overcome the claim objections, and the claim objections have been withdrawn. The amended claims cause more issues, and the applicant has been advised to refer to the claim objection section for details.
35 U.S.C. § 112:
The amended claims have overcome some of the 112 issues. The applicant has been advised to refer to the 112 rejection section for details.
35 U.S.C. § 101:
The applicant states: “Claims 1-16 rejected under 35 U.S.C. § 101 as being allegedly directed towards non-statutory subject matter.” The examiner would like to point out that claims 1-16 are rejected under 35 U.S.C. § 101 as being directed to an abstract idea without significantly more. Claims 1-16 fall within the four statutory categories of invention.
The applicant contends that the amended claim 1 is directed to a non-abstract system configured to perform more computationally efficient validation of blockchain transactions. The examiner agrees with the applicant and the 35 U.S.C. § 101 rejection has been withdrawn.
35 U.S.C. § 103:
The applicant contents that He, the primary reference, teaches away from the presently claimed arrangement. The examiner respectfully disagrees. For a blockchain network, such as a Bitcoin network, a transaction is validated when it is received. When a block, comprising the validated transaction, is created, a Merkle tree is generated to organize a plurality of transactions within a block. All of the transactions included in the block will be validated again. He discloses validating a received transaction and construing a Merkle tree of a block with a set of subtrees. Each subtree comprises a plurality of transactions of a block and the plurality of transactions are stored in a file associated with the subtree. He further discloses verifying transactions of the Merkle tree by utilizing the subtrees. He discloses that each validating resource receives a respective subset of a plurality of transactions and validates each transaction in the plurality of transactions. Dillenberger, an analogous art of validating transactions parallelly, discloses that each of plurality of validating resources comprises at least one processor or thread to perform the parallel verification. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the subject matter of Dillenberger in the He system. Moreover, in order to improve the process of validating transactions via a plurality of validating resources in the He system, one of ordinary skill in the art would have been motivated to utilizing different types of validating resources including parallel processors to validate transactions, so that the flexibility of the validating process is improved through utilizing different types of resources to parallelly validate transactions.
The applicant’s amendments have overcome the 35 U.S.C. § 103 rejection. However, there are new grounds of rejection necessitated by the applicant’s amendments as detailed in the 35 U.S.C. § 103 rejection section. Hence, the applicant’s arguments with respect to the claim rejection have been considered but are moot in view of the new grounds of rejection. A new reference is introduced.
Claim Objections
Claim 11 is objected to because of the following informalities:
Claim 11 recites “at least one unspent transaction output in the plurality (UTXOs) is associated with a locking flag.” The phrasing, the plurality (UTXOs), should be changed to “the plurality of unspent transaction outputs.” Appropriate correction is required.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitations are:
a load balancing component in claim 2
Because these claim limitations are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, they are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof. The specification discloses that a controller component comprises one or more interfaces, a segment identification unit, and a load balancing unit (see Fig. 7; Fig. 9; paragraph [0134] of the publication; and paragraph [0141] of the publication). The system in Fig. 7 and/or in Fig. 9 shows that the system comprises a plurality of validating resources and the controller. It is under whether the controller and/or a load balancing component are hardware, firmware, or software.
If the applicant does not intend to have these limitations interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, the applicant may: (1) amend the claim limitations to avoid them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitations recite sufficient structure to perform the claimed function so as to avoid them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
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.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
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 of carrying out his invention.
Claim 2 is 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.
Claim 2 recites “implement a load balancing component arranged to facilitate balancing of a distribution of the respective subsets of the plurality blockchain transactions among the plurality of validating resources.” The specification does not provide an adequate structure to perform the claimed function listed above. The specification does not demonstrate that the applicant has made an invention that achieves the claimed function because the invention is not described in sufficient details such that one of ordinary skill in the art can reasonably conclude that the inventor has possession of the claimed invention.
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 2 is rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 2 recites “implement a load balancing component arranged to facilitate balancing of a distribution of the respective subsets of the plurality blockchain transactions among the plurality of validating resources.” Claim 2 depends on claim 1, and claim 1 recites “if a non-compliant blockchain transaction is identified within the respective subset of the plurality of blockchain transactions, send an interrupt signal or other output to the at least one controller component or other validating resources in the plurality of validating resources to cease validation of their respective subsets of the plurality of blockchain transactions.” Therefore, it is unclear whether the respective subsets in claim 2 are the same respect subsets associated with other validating resources or all respective subsets. For examination purpose, the respective subsets in claim 2 are interpreted as all respective subsets.
Claim 2 recites “implement a load balancing component arranged to facilitate balancing of a distribution of the respective subsets of the plurality blockchain transactions among the plurality of validating resources.” The specification discloses that a controller component comprises one or more interfaces, a segment identification unit, and a load balancing unit (see Fig. 7; Fig. 9; paragraph [0134] of the publication; and paragraph [0141] of the publication). The system in Fig. 7 and/or in Fig. 9 shows that the system comprises a plurality of validating resources and the controller. The controller is a standalone component in the system. It is unclear which structure or structures perform the claimed function. Therefore, the specification does not provide sufficient details such that one of ordinary skill in the art would understand which structure or structures perform the claimed functions. Additionally, it is unclear whether a load balancing component is hardware, firmware, or software.
The limitation, which recite a load balancing component in claim 2, invokes 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. However, the written description fails to disclose the corresponding structure, material, or acts for performing the entire claimed function and to clearly link the structure, material, or acts to the function. The specification does not provide sufficient details such that one of ordinary skill in the art would understand which structures perform the claimed functions. Therefore, the claim is indefinite and is rejected under 35 U.S.C. 112(b) or pre-AIA 35 U.S.C. 112, second paragraph.
The applicant may:
(a) Amend the claim so that the claim limitation will no longer be interpreted as a limitation under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph;
(b) Amend the written description of the specification such that it expressly recites what structure, material, or acts perform the entire claimed function, without introducing any new matter (35 U.S.C. 132(a)); or
(c) Amend the written description of the specification such that it clearly links the structure, material, or acts disclosed therein to the function recited in the claim, without introducing any new matter (35 U.S.C. 132(a)).
If the applicant is of the opinion that the written description of the specification already implicitly or inherently discloses the corresponding structure, material, or acts and clearly links them to the function so that one of ordinary skill in the art would recognize what structure, material, or acts perform the claimed function, the applicant should clarify the record by either:
(a) Amending the written description of the specification such that it expressly recites the corresponding structure, material, or acts for performing the claimed function and clearly links or associates the structure, material, or acts to the claimed function, without introducing any new matter (35 U.S.C. 132(a)); or
(b) Stating on the record what the corresponding structure, material, or acts, which are implicitly or inherently set forth in the written description of the specification, perform the claimed function. For more information, see 37 CFR 1.75(d) and MPEP §§ 608.01(o) and 2181.
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 (i.e., changing from AIA to pre-AIA ) 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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-5, 7, and 13-16 are rejected under 35 U.S.C. 103 as being unpatentable over He et al. (CN 111581214 A) in view of Dillenberger et al. (US 20170212781 A1), and further in view of Motylinski et al. (US 20200074424 A1).
Claim 1:
He discloses the following:
a system configured operative to validate blockchain transactions in at least a portion of a blockchain block, the blockchain block comprises a plurality of blockchain transactions and a root of a Merkle tree for the blockchain block, the system comprising: a least one controller component; a plurality of validating resources configured to validate one or more blockchain transactions […] causes or enables the validating resource to. (See Abstract, “[t]he invention provides a parallel merkle tree construction and verification method suitable for an energy source block chain, wherein N threads are started by a node, and each thread is numbered; the main node verifies the transaction, after that, the N is modulo according to the hash of the transaction request to obtain a thread for processing the request, and the transaction is sent to the thread for processing … the transactions are divided into N parts according to the merkle tree, and the root position of each merkle sub-tree is stored in each part; when the block is synchronized from the node, the merkle tree is verified”; page 7, “[f]urther, the method for concurrently verifying the slave nodes further comprises the following steps: (1) after receiving the block sent by the master node, the slave node firstly acquires a merkle tree root, a sub-thread tree N and the like from a block head; (2) obtaining the whole transaction merkle tree from the block body, creating sub-threads according to the number N of the sub-threads, numbering the sub-threads, and obtaining the merkle tree log2The nodes of the merkle trees of the N layers are sequentially transmitted into the sub-threads; (3) the sub-thread obtains the transaction files with the thread numbers from the transaction directory in sequence through the thread numbers of the sub-thread; (4) the sub-threads concurrently pass through the merkle tree to verify all transactions; (5) if the verification is passed, the block is considered to be not tampered and can be recorded locally”; and page 8. These citations indicate that a block is generated with a plurality of blockchain transactions and a root of a Merkle tree for the block and that a plurality of validating resources, such as a plurality of threads, perform validating blockchain transactions.)
receive or download, from the at least one controller component, a respective subset of the plurality of blockchain transactions, wherein the respective subset provides a segment of the Merkle tree that is represented by segment hash that is an inner node of the Merkle tree for the blockchain block. (See page 7, “[f]urther, the method for concurrently verifying the slave nodes further comprises the following steps: (1) after receiving the block sent by the master node, the slave node firstly acquires a merkle tree root, a sub-thread tree N and the like from a block head; (2) obtaining the whole transaction merkle tree from the block body, creating sub-threads according to the number N of the sub-threads, numbering the sub-threads, and obtaining the merkle tree log2The nodes of the merkle trees of the N layers are sequentially transmitted into the sub-threads; (3) the sub-thread obtains the transaction files with the thread numbers from the transaction directory in sequence through the thread numbers of the sub-thread”; page 8, “(3) the main thread sends the transaction and the hash to a thread 2 and returns a client request; (4) after receiving a transaction request, the sub-thread firstly puts the transaction into a transaction file managed by the sub-thread”; and the figure below, which is Fig. 1 of reference He)
PNG
media_image1.png
622
964
media_image1.png
Greyscale
validate the blockchain transactions in the respective subset of the plurality of blockchain transactions […]. (See Abstract, “the transactions are divided into N parts according to the merkle tree, and the root position of each merkle sub-tree is stored in each part; when the block is synchronized from the node, the merkle tree is verified”; page 7; and Section Example 2, page 8, “(1) after the slave node receives the block required to be stored by the master node, a new thread is created according to the number of sub-threads at the head of the block, and in the embodiment, if the number of threads is 4, 4 threads are created, and the number is 0-3; (2) the main thread sends the corresponding subtree in the merkle tree to the sub-threads, and the sub-threads 0 to 3 respectively send h49 to h52; (3) the sub-thread verifies the integrity of the block according to the merkle tree and the transaction file, and if the verification is passed, all transactions in the file are considered to be not tampered; (4) and the sub-threads report the verification result to the main thread, and the main thread considers that all transactions are verified after all the sub-threads are verified, and records the transactions to the local.”)
He does not explicitly disclose the following:
each of a plurality of validating resources configured to validate blockchain transactions to verify that they conform to a transaction-level criteria of a blockchain protocol and comprises at least one processor associated with at least one portion of memory storing executable instructions, as a result of execution by the at least one processor;
verifying transactions complying with transaction-level criteria of the blockchain protocol; and
if a non-compliant blockchain transaction is identified within the respective subset of the plurality of blockchain transactions, send an interrupt signal or other output to the at least one controller component or other validating resources in the plurality of validating resources to cease validation of their respective subsets of the plurality of blockchain transactions.
However, Dillenberger, an analogous art of validating blockchain transactions parallelly, discloses each of a plurality of validating resources comprises at least one processor associated with at least one portion of memory storing executable instructions, as a result of execution by the at least one processor. (See Fig. 3; paragraph [0037], “[t]he independent tasks that are identified are scheduled 344 to run substantially in parallel across processors 1-N 346. This parallelism can be accomplished as separate tasks, threads or using separate processors or processing cores or separate parallel computer systems”; and paragraphs [0047]-[0049], “FIG. 5 illustrates one example of a computing or processing node 500 for operating a node in a blockchain…. Regardless, the computing node 500 is capable of being implemented and/or performing any of the functionality set forth hereinabove…. Computer system/server 502 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types.”)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the subject matter of Dillenberger in the He system. Moreover, in order to improve the process of validating transactions via a plurality of validating resources in the He system, one of ordinary skill in the art would have been motivated to utilize different types of validating resources including parallel processors to validate transactions, so that the flexibility of the validation process is improved through utilizing different types of resources to parallelly validate transactions.
The combination of He and Dillenberger discloses the claimed invention but does not explicitly disclose each of a plurality of validating resources configured to validate blockchain transactions to verify that they conform to a transaction-level criteria of a blockchain protocol; verifying transactions complying with transaction-level criteria of the blockchain protocol; and if a non-compliant blockchain transaction is identified within the respective subset of the plurality of blockchain transactions, send an interrupt signal or other output to the at least one controller component or other validating resources in the plurality of validating resources to cease validation of their respective subsets of the plurality of blockchain transactions.
However, Motylinski, an analogous art of validating blockchain transactions parallelly, discloses the following:
each of a plurality of validating resources configured to verify transactions that they conform to transaction-level criteria of a blockchain protocol and verifying transactions complying with transaction-level criteria of the blockchain protocol. (See paragraphs [0011]-[0013], “based on that determination allocating each transaction in the plurality of transactions to one of two or more parallel processors, and verifying, in parallel, by the two or more parallel processors, that the transactions in the plurality of transactions comply with transaction-level validation criteria…. In some implementations, the transaction-level validation criteria include transaction characteristics prescribed by the blockchain protocol, and each transaction must have the transaction characteristics to be deemed valid.”)
if a non-compliant blockchain transaction is identified within the respective subset of the plurality of blockchain transactions, send an interrupt signal or other output to the at least one controller component or other validating resources in the plurality of validating resources to cease validation of their respective subsets of the plurality of blockchain transactions. (See paragraph [0065], “[i]n the event that one of the processors 208 identifies a non-compliant transaction, i.e. an invalid transaction, then it may issue an output, such as an interrupt or other signal, to indicate that there is an invalid transaction. That interrupt or signal may be sent to the other processors 208 so that they can immediately cease testing their respective transactions and not waste further resources on validating transactions within a block that is to be rejected.” Examiner’s note: The step of sending an interrupt signal or other output in the limitation happens only if non-compliant blockchain transaction is identified. This is a contingent limitation.)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the subject matter of Motylinski in the He system as modified. Moreover, in order to improve the process of validating transactions via a plurality of validating resources in the He system as modified, one of ordinary skill in the art would have been motivated to validate whether the transactions comply with the transaction-level criteria of the blockchain protocol and to send an interrupt signal to other validating resources to inform ceasing validation, so that the accuracy and efficiency of the validation process can be improved.
Claim 2:
He in view of Dillenberger and Motylinski discloses the limitation shown above.
He further discloses wherein the system further configured to: implement a load balancing component arranged to facilitate balancing of a distribution of respective subsets of plurality blockchain transactions among the plurality of validating resource or ii) perform segment identification facilitate identification of the respective subsets of the plurality of blockchain transactions; or iii) implement an allocation unit; or iv) send or receive communications between the system and one or more data sources or destinations. (See Section Example 2, page 8.)
Claim 3:
He in view of Dillenberger and Motylinski discloses the limitation shown above.
He further discloses the system is configured to: control at least one validating resource in the plurality of validating resources; control (a thread) of the at least one validating resource in the plurality of validating resources; perform load balancing; or facilitate identification of the respective subsets of the plurality of blockchain transactions. (See Section Example 2, page 8.)
Dillenberger discloses control at least one processor of the at least one validating resource in the plurality of validating resources. (See Fig. 3; paragraph [0037]; and paragraphs [0047]-[0049].)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the subject matter of Dillenberger in the He system. Moreover, in order to improve the process of validating transactions via a plurality of validating resources in the He system, one of ordinary skill in the art would have been motivated to utilize different types of validating resources including parallel processors to validate transactions, so that the flexibility of the validation process is improved through utilizing different types of resources to parallelly validate transactions.
Claim 4:
He in view of Dillenberger and Motylinski discloses the limitation shown above.
He further discloses wherein: i) at least two transactions in the respective subset of the blockchain transactions are siblings in the Merkle tree; or ii) the inner node is a parent or an ancestor of the respective subset of blockchain transactions. (See the figure below, which is Fig. 1 of reference He; page 7, “[t]he merkle tree structure related to the invention is shown in fig. 1, and has the following characteristics:1. each sub-tree in the kth layer is maintained by one thread for a non-complete binary tree, and all the threads are placed in a thread pool to be convenient for multiplexing; 2. all the merkle tree nodes under each subtree are stored in the segmented memory managed by the thread.”)
PNG
media_image2.png
700
1084
media_image2.png
Greyscale
Claim 5:
He in view of Dillenberger and Motylinski discloses the limitation shown above.
He discloses the system comprising a plurality of output repositories, each repository in the plurality of output repositories is associated with a respective validating resource in the plurality of validating resources and arranged to facilitate recording, searching or processing of a plurality of unspent transaction outputs; preferably wherein each of the plurality of unspent transaction outputs is associated with at least one transaction in the plurality of blockchain transaction. (See page 7, “[t]he merkle tree structure related to the invention is shown in fig. 1, and has the following characteristics: 1. each sub-tree in the kth layer is maintained by one thread for a non-complete binary tree, and all the threads are placed in a thread pool to be convenient for multiplexing; 2. all the merkle tree nodes under each subtree are stored in the segmented memory managed by the thread; 3. all related transactions under each sub-tree are stored in the same file.” One of ordinary skill in the art knows that a blockchain transaction comprises one or more unspent transaction outputs and that the transaction is for processing the one or more one or more unspent transaction outputs. Additionally, these facts are disclosed by Motylinski (see paragraph [0011]).)
Claim 7:
He in view of Dillenberger and Motylinski discloses the limitation shown above.
He discloses wherein at least one of the plurality of output repositories comprises at least one record associated with: i) an unspent transaction output; or ii) an identifier that is associated with a) an unspent transaction output or b) a transaction (Tx) in the plurality of blockchain transactions. (See page 7, “[t]he merkle tree structure related to the invention is shown in fig. 1, and has the following characteristics: 1. each sub-tree in the kth layer is maintained by one thread for a non-complete binary tree, and all the threads are placed in a thread pool to be convenient for multiplexing; 2. all the merkle tree nodes under each subtree are stored in the segmented memory managed by the thread; 3. all related transactions under each sub-tree are stored in the same file.” One of ordinary skill in the art knows that a blockchain transaction comprises one or more one or more unspent transaction outputs. Additionally, this fact is disclosed by Motylinski (see paragraph [0011]).)
Claim 13:
He in view of Dillenberger and Motylinski discloses the limitation shown above.
He further discloses wherein the system is configured to: allocate respective subsets of the blockchain transactions to the plurality of validating resources. (See Section Example 2, page 8.)
Claim 14:
He in view of Dillenberger and Motylinski discloses the limitation shown above.
He further discloses wherein the system is configured to: use one, some or all of the validating resources to generate a respective candidate inner node of the Merkle tree based on the respective downloaded subset of blockchain transactions; and further configured to perform at least one of the following: verify that the respective candidate inner node matches the respective inner node of the Merkle tree; or; verify that the respective candidate inner node is a node of the Merkle tree by performing a Merkle proof based on the root of the Merkle tree; or send the respective candidate inner node of the Merkle tree to one or more other processing resources. (See page 7, “[f]urther, the method for concurrently verifying the slave nodes further comprises the following steps: (1) after receiving the block sent by the master node, the slave node firstly acquires a merkle tree root, a sub-thread tree N and the like from a block head; (2) obtaining the whole transaction merkle tree from the block body, creating sub-threads according to the number N of the sub-threads, numbering the sub-threads, and obtaining the merkle tree log2 the nodes of the merkle trees of the N layers are sequentially transmitted into the sub-threads; (3) the sub-thread obtains the transaction files with the thread numbers from the transaction directory in sequence through the thread numbers of the sub-thread; (4) the sub-threads concurrently pass through the merkle tree to verify all transactions; (5) if the verification is passed, the block is considered to be not tampered and can be recorded locally”; Section Example 2, page 8.)
Claim 15:
He in view of Dillenberger and Motylinski discloses the limitation shown above.
He further discloses wherein the system is configured to: i) validate or verify at least one blockchain transaction; or ii) perform a Simplified Payment Verification process; or iii) confirm whether a given blockchain transaction is contained within the blockchain block; or iii) generate a hash of at least one of the blockchain transactions, using the hash to construct a Merkle path or checking whether the hash matches a transaction identifier in a header of the blockchain block. (See page 7; Section Example 2, page 8.)
Claim 16:
He in view of Dillenberger and Motylinski discloses the limitation shown above.
He further discloses wherein: at least one of the plurality of validating resources is, or comprises at least one of: a virtual machine, a server, a GPU-based computing resource, a thread, or a multiprocessor system. (See page 7; Section Example 2, page 8.)
Claim 6 is rejected under 35 U.S.C. 103 as being unpatentable over He et al. (CN 111581214 A) in view of Dillenberger et al. (US 20170212781 A1), and further in view of Motylinski et al. (US 20200074424 A1) and Haldenby et al. (US 20180276666 A1).
Claim 6:
He in view of Dillenberger and Motylinski discloses the limitation shown above.
None of He, Dillenberger and Motylinski explicitly discloses creating and/or maintaining a database log that comprises a history of actions, changes and events relating to at least one of the plurality of UTXO repositories.
However, Haldenby, an analogous art of processing blockchain transactions, discloses creating and/or maintaining a database log that comprises a history of actions, changes and events relating to at least one of the plurality of output repositories. (See paragraph [0046], “[f]urther, and in certain aspects, client device 102 and/or POS terminal 122 may process SV block-chain ledger 113 to track and establish a current balance of the funds loaded onto client device 102 by the prior authorized SV load transaction, e.g., an SV unspent transaction output (UTXO), which is available to fund additional SV purchase transactions involving client device 102 during the current transaction cycle”; paragraph [0053]; and paragraph [0112], “a determination module 402 of POS terminal 122 may receive UTXO data 326, which includes the current value of the SV UTXO available to fund the initiated SV purchase transaction (e.g., the purchase of the $2.50 cup of coffee from merchant 121), may access data repository 128 and obtain initiated SV purchase transaction data 135 (e.g., as maintained within transaction log 134).”)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the subject matter of Haldenby in the He system as modified. Moreover, in order to improve the transaction process in the He system as modified, one of ordinary skill in the art would have been motivated to create and/or maintain a transaction log for recording transaction history, so that the information associated with the transactions can be effectively tracked.
Claims 8 and 10 are rejected under 35 U.S.C. 103 as being unpatentable over He et al. (CN 111581214 A) in view of Dillenberger et al. (US 20170212781 A1), and further in view of Motylinski et al. (US 20200074424 A1) and Antonopoulos (“Mastering Bitcoin,” December 2014).
Claim 8:
He in view of Dillenberger and Motylinski discloses the limitation shown above.
He discloses an output repository comprising at least one record associated with an unspent transaction output. (See page 7, “[t]he merkle tree structure related to the invention is shown in fig. 1, and has the following characteristics: 1. each sub-tree in the kth layer is maintained by one thread for a non-complete binary tree, and all the threads are placed in a thread pool to be convenient for multiplexing; 2. all the merkle tree nodes under each subtree are stored in the segmented memory managed by the thread; 3. all related transactions under each sub-tree are stored in the same file.” One of ordinary skill in the art knows that a blockchain transaction comprises one or more unspent transaction outputs. Additionally, this fact is disclosed by Motylinski (see paragraph [0011]).)
An unspent transaction output included in a transaction input is identified by a transaction identifier and an output index. Therefore, a transaction comprises at least one transaction identifier. The examiner brings in Antonopoulos to disclose that a transaction comprises at least one transaction identifier. (See paragraph 117, “[i]n simple terms, transaction inputs are pointers to UTXO. They point to a specific UTXO by reference to the transaction hash and sequence number where the UTXO is recorded in the blockchain”; and Table 5-3, page119.)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the subject matter of Antonopoulos in the He system as modified. Moreover, in order to improve the transaction process in the He system as modified, one of ordinary skill in the art would have been motivated to utilize a transaction identifier to identify a UTXO, so that the double spending of a UTXO can be prevent by validating the UTXO based on the transaction identifier.
Claim 10:
He in view of Dillenberger, Motylinski, and Antonopoulos discloses the limitation shown above.
Antonopoulos further disclose using the record identifier to search for, identify, access or insert the at least one record in at least one output repository in the plurality of output repositories. (See paragraph 117, “[i]n simple terms, transaction inputs are pointers to UTXO. They point to a specific UTXO by reference to the transaction hash and sequence number where the UTXO is recorded in the blockchain”; pages 182-183, “[f]or each input, look in the main branch and the transaction pool to find the referenced output transaction…. For each input, the referenced output must exist and cannot already be spent.”)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the subject matter of Antonopoulos in the He system as modified. Moreover, in order to improve the transaction process in the He system as modified, one of ordinary skill in the art would have been motivated to utilize a transaction identifier to identify a UTXO, so that the double spending of a UTXO can be prevent by validating the UTXO based on the transaction identifier.
Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over He et al. (CN 111581214 A) in view of Dillenberger et al. (US 20170212781 A1), and further in view of Motylinski et al. (US 20200074424 A1), Antonopoulos (“Mastering Bitcoin,” December 2014), and Saito (US 20210263908 A1).
Claim 9:
He in view of Dillenberger, Motylinski, and Antonopoulos discloses the limitation shown above.
None of He, Dillenberger, Motylinski, and Antonopoulos explicitly discloses wherein the record identifier comprises: i) a function of the block identifier (block ID) and the transaction identifier (TxID); or ii) a concatenation of the block identifier (block ID) and the transaction identifier (TxID).
However, Saito, an analogous art of processing blockchain transactions, discloses wherein the record identifier comprises: i) a function of the block identifier (block ID) and the transaction identifier (TxID); or ii) a concatenation of the block identifier (block ID) and the transaction identifier (TxID). (See paragraph [0072], “[e]ach UTXO may be identified by a memory address represented by a combination of block identifier (e.g., block number, etc.), transaction identifier (e.g., transaction number, etc.), transaction index, and the like. Using the combination of the block identifier, transaction identifier, and transaction index, the blockchain peer may read a UTXO from a memory address on the blockchain and add/insert it to a blockchain transaction structure.”)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the subject matter of Saito in the He system as modified. Moreover, in order to improve the transaction process in the He system as modified, one of ordinary skill in the art would have been motivated to utilize the combination of the block identifier and transaction identifier as a record identifier to locate a UTXO, so that the UTXO can be effectively checked and/or queried.
Claims 11-12 are rejected under 35 U.S.C. 103 as being unpatentable over He et al. (CN 111581214 A) in view of Dillenberger et al. (US 20170212781 A1), and further in view of Motylinski et al. (US 20200074424 A1) and Xiao (US 20210209595 A1).
Claim 11:
He in view of Dillenberger and Motylinski discloses the limitation shown above.
None of He, Dillenberger, and Motylinski explicitly discloses wherein: at least one unspent transaction output in the plurality (UTXOs) is associated with a locking flag which: i) indicates whether the unspent transaction output is available or unavailable for spending; and/or ii) is configurable between a first state indicative that spending of the unspent transaction output is allowed and a second state indicative that spending of the unspent transaction output is prohibited.
However, Xiao, an analogous art of processing blockchain transactions, disclose at least one unspent transaction output in the plurality (UTXOs) is associated with a locking flag which: i) indicates whether the unspent transaction output is available or unavailable for spending; or ii) is configurable between a first state indicative that spending of the unspent transaction output is allowed and a second state indicative that spending of the unspent transaction output is prohibited. (See paragraph [0105], “blockchain node receives the transaction request and calls the interface function CreateCheck for processing, and specifically may lock an UTXO corresponding to a check (or lock a quota). The so-called ‘lock’ may be adding a flag bit in the UTXO to mark that the UTXO cannot perform a transfer”; paragraphs [0128]-[0129].)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the subject matter of Xiao in the He system as modified. Moreover, in order to improve the transaction process in the He system as modified, one of ordinary skill in the art would have been motivated to include a locking flag in the UTXO to lock or unlock the UTXO in the transaction, so that allowing or prohibiting the transferring/spending of a UTXO can be effectively controlled via the lock flag of the UTXO.
Claim 12:
He in view of Dillenberger, Motylinski, and Xiao discloses the limitation shown above.
Xiao further discloses wherein the system configured operative to: change a state of the locking flag from the first state to the second state, or the second state to the first state. (See paragraph [0105]; paragraphs [0128]-[0129].)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the subject matter of Xiao in the He system as modified. Moreover, in order to improve the transaction process in the He system as modified, one of ordinary skill in the art would have been motivated to include a locking flag in the UTXO to lock or unlock the UTXO in the transaction, so that allowing or prohibiting the transferring/spending of a UTXO can be effectively controlled via the lock flag of the UTXO.
Conclusion
The prior art, made of record and not relied upon, is considered pertinent to the applicant’s disclosure.
Wertheim et al. (US 20210273807 A1) discloses accelerating execution of transactions by dividing transactions into transaction segments.
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). An 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 CHUNLING DING, whose telephone number is (571)270-3605. The examiner can normally be reached 9:30 - 7:30 M-F.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, an 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, Neha Patel, can be reached at 571-270-1492. 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.
/CHUNLING DING/Primary Examiner, Art Unit 3699