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 .
Priority
This application claims foreign priority to application KR10-2023-0088698, filed on 07/07/2023. The priority is acknowledged.
Response to Amendment
This action is in response to the applicant’s communication received on 10/01/2025.
Status of the Claims
This is a FINAL Office Action rejection prepared in response to Applicant’s amendments filed on
10/01/2025.
Claims 1-3 and 16-17 are amended.
Claims 1-27 are pending.
Claims 28-32 are withdrawn.
Claim Rejections - 35 USC § 112
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 1-27 are 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 1 recites “…wherein verification is confirmed when a) the hash data transmitted by the user terminal to the blockchain network with the token and b) the hash data stored in the database server which was generated in the voting control server based on the vote data and the salt data match each other, otherwise the vote data is fraudulent vote data not counted.” It is unclear which one of the positively recited structural components is the one responsible for the function (i.e., verification) or whether the expression is attempting to further limit the “verify” performed by the verification server .
Claim 16 recites “…confirming a) the hash data transmitted by the user terminal to the blockchain network with the token and b) the hash data stored in the database server which was generated in a voting control server based on the vote data and the salt data match each other…” is ambiguous. It is unclear what exactly is being confirmed. For the purpose of compact prosecution, Examiner is interpreting claim 16 as “confirming whether the hash data transmitted by the user terminal to the blockchain network with the token matches the hash data stored in the database server…”.
Claims 1 and 16 recite “…otherwise the vote data is fraudulent vote data not counted.” is unclear. One in the ordinary skills in the art cannot determine the intended meaning of the phrase with reasonable certainty. As written the phrase is grammatically awkward and open to multiple interpretations rendering the claim indefinite under 35 U.S.C. 112(b).
Claims 2-15 and 17-27 are also rejected as they depend from either claims 1 or 16.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-27 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an
abstract idea without significantly more.
Step 1: Claims 1-15 are directed to a system (i.e., machine, and manufacture). Claims 16-27 are directed to a method (i.e., process). Therefore, these claims fall within the four statutory categories of
invention, and thus must be further analyzed at Step 2A to determine if the claims are directed to a
judicial exception (See MPEP 2106.03, subsection II).
Step 2A Prong One: Claim 16, recites (i.e., sets forth or describes) an abstract idea. More specifically, the following bolded claim elements recite abstract ideas while the non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
An operating method of a token voting system using a blockchain network, the operating method comprising:
generating hash data based on a) vote data received from a user terminal and b) salt data randomized for encryption, in response to a voting request of the user terminal;
storing the vote data, status information about the vote data, and the hash data in a database server;
providing the hash data to the user terminal;
checking a transaction generated by the user terminal
transmitting the hash data and a token to the blockchain network;
setting the status information according to a check result of the transaction; and
confirming a) the hash data transmitted by the user terminal to the blockchain network with the token and b) the hash data stored in the database server which was generated in a voting control server based on the vote data and the salt data match each other, otherwise the vote data is fraudulent vote data not counted.
Claim 16, recites (i.e., sets forth or describes) a method of managing and verifying voting data by collecting and validating information (vote data), generating a hash of the data, storing the hashed data for later use in generating results, and verifying and updating the status of the vote data. Claim 1 is significantly similar to claim 16. As such claim 1 also recites an abstract idea. Specifically, but for the additional elements, the claim under its broadest reasonable interpretation recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas (i.e., managing personal behavior or relationships or interactions between people.)
Step 2A Prong Two: Because the claim recites abstract ideas, the analysis proceeds to
determine whether the claim recites additional elements that recite a practical application of the
abstract ideas. Here, the additional elements of a token voting system, a blockchain network, a database server, a voting control server, a monitoring server, a verification server and a user terminal merely serve as a tool to perform the abstract idea (MPEP § 2106.05(f)). Therefore, the claim as a whole fail to recite a practical application of the abstract ideas.
Step 2B: Determines whether the claim as a whole amount to significantly more than the exception itself. Evaluating additional elements to determine whether they amount to an inventive concept requires considering them both individually and in combination to ensure that they amount to significantly more than the judicial exception itself. Here, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. As discussed previously with respect to Step 2A, the additional elements merely serve as a tool to perform an abstract idea. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Dependent Claims: Claims 2-15 and 17-27 have also been analyzed for subject matter
eligibility. However, claims 2-15 and 17-27 also fail to recite patent eligible subject matter for the
following reasons:
Claim 2 recites the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the voting control server is configured to, in response to the voting request, generate the hash data using the vote data and the salt data randomized for encryption, and store the salt data in the database server.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The non-bolded additional elements of a voting control server and a database server to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP §2106.05(f)). Further, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Claim 3 recites the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the vote data comprises data corresponding to an option determined by the user terminal among a plurality of options
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The non-bolded additional elements of a user terminal to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP §2106.05(f)). Further, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Claims 4 and 18 recite the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the status information indicates any one of a created state, a committed state, and a finalized state of the vote data.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas.
Claims 5 and 19 recite the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the voting control server is configured to, when the vote data is stored in the database server, set the status information to the created state.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The non-bolded additional elements of a voting control server and a database server to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP §2106.05(f)). Further, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Claims 6 and 20 recite the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the monitoring server is configured to, when the transaction is checked, set the status information to the committed state.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The non-bolded additional elements of a monitoring server to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP §2106.05(f)). Further, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Claims 7 and 21 recite the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the verification server is configured to, when a counting of the vote data is completed in the blockchain network, set the status information to the finalized state.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The non-bolded additional elements of a verification server and a blockchain network to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP §2106.05(f)). Further, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Claims 8 and 22 recite the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the monitoring server is configured to compare data stored in each of the blockchain network and the database server to check whether there is an omission of a vote.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The non-bolded additional elements of a monitoring server, a database server and a blockchain network to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP §2106.05(f)). Further, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Claims 9 and 23 recite the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the verification server is configured to, if there is no omission of the vote, provide the vote data received from the database server and salt data to the blockchain network to verify the vote data.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The non-bolded additional elements of a verification server, a database server and a blockchain network to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP §2106.05(f)). Further, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Claims 10 and 24 recite the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the verification server is configured to, when a counting of the vote data is completed in the blockchain network, receive a vote result from the blockchain network and store the vote result in the database server.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The non-bolded additional elements of a verification server, a database server and a blockchain network to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP §2106.05(f)). Further, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Claim 11 recites the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the database server is configured to provide the vote result to the user terminal in response to a vote result request received from the user terminal.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The non-bolded additional elements of a user terminal and a database server to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP §2106.05(f)). Further, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Claim 12 recites the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
information about the token comprises digital content information and token identification information.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The non-bolded additional elements of a voting control server and a database server to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP §2106.05(f)). Further, the additional element “digital” generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)). Further, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Claim 13 recites the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the token identification information is visualized and displayed on a tangible object.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas.
Claims 14 and 26 recite the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the token identification information is converted into a barcode or QR code and displayed on the tangible object.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas.
Claims 15 and 27 recite the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the token identification information comprises uniform resource locator (URL) information indicating an address where the token is stored.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas.
Claim 17 recites the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
the generating of the hash data comprises generating the hash data using the vote data and the salt data randomized for encryption, and the vote data comprises data corresponding to an option determined by the user terminal among a plurality of options.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The non-bolded additional elements of a user terminal to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP §2106.05(f)). Further, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Claim 25 recites the following bolded claim elements as abstract ideas while the
non-bolded claim elements recite additional elements according to MPEP 2106.04(a).
information about the token comprises digital content information and token identification information visualized and displayed on a tangible object.
The claim further recites an abstract idea. In other words, it recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The non-bolded additional elements of a voting control server and a database server to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP §2106.05(f)). Further, the additional element “digital” generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)). Further, the additional elements, taken individually and in combination, do not result in the claim as a whole, amounting to significantly more than the judicial exception. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 4-6, 12-14, 16, 18-20 and 25-26 are rejected under 35 U.S.C. 103 as being unpatentable over Goswami (US 2020/0258338 A1) in view of Ebrahimi (US 20180227130 A1), in further view of Colemen (US 2009/0248533 A1).
Regarding claims 1 and 16 Goswami discloses:
storing the vote data, status information about the vote data, and the hash data in a database server; (Goswami ¶0066, In some embodiments, databases 150 can also contain a voter-ballot database 154. The voter-ballot database 154 stores the electronic completed ballots submitted by the voters. In some embodiments, the voter-ballot database 154 can also contain ballots submitted by voters, either via electronic voting through a mobile app or website as described further below, through a mailed ballot, or from a voting machine at a polling place. In some embodiments, the record of votes includes information gathered by a particular state or county's database. In some embodiments, the voter-ballot database 154 can determine or store information regarding whether if a particular voter has voted more than once based on the identifier received with each ballot or which is associated with each ballot. For example, the voter-ballot database can determine that a particular voter voted both at polling place by receiving a voting identifier from a voting machine at a polling place and by the identifier received a mail-in ballot. The voting can remain anonymous, and only the comparison or match between identifiers will be noted. Goswami ¶0112, The choices can be stored in a “voter ballot” internal database in user interface 131 until they are ready to be submitted… The ballot choices are saved in the voter-ballot off-chain database 154 along with voter ID, ballot barcode or other computer or machine-readable identifier, hash of the digitally stored ballot, and timestamp. Goswami ¶0128, This hash is then stored on the verification contract database 1409 as part of a blockchain. In some embodiments, the hash can also be transmitted to neutral third-party location to provide an additional level of security for the system. At the same time, the blockchain abstraction layer 1402 stores the data in the database 1503. In some embodiments, the data is stored in any of the databases 150 described above or in the voting databases 1404, or any other database that the blockchain abstraction layer 1402 can use to store data.)
providing the hash data to the user terminal; (Goswami ¶0012, the blockchain access layer is further configured to send the hash of the ballot selections and the electronic signature to the user operated mobile computing device or to the election official system. Goswami ¶0129, In some embodiments, when any client device, such as applications 1401 and 1403, then reads data from blockchain abstraction layer 1402, the blockchain abstraction layer 1402 can read the data from the database 1503 and also retrieve the hash from verification contract database 1409 and transmit the data to the client device.)
checking a transaction generated by the user terminal transmitting the hash data and a token to the blockchain network; and (Goswami ¶0051, In some embodiments, the entities also include parity authorities 112a-c. Parity authorities 112a-c act as validators for the transactions entered onto the block, ensuring that the transactions accurately reflect what happened.)
confirming a) the hash data transmitted by the user terminal to the blockchain network with the token and b) the hash data stored in the database server which was generated in a voting control server based on the vote data and the salt data match each other, otherwise the vote data is fraudulent vote data not counted. (Goswami ¶0129, In some embodiments, when any client device, such as applications 1401 and 1403, then reads data from blockchain abstraction layer 1402, the blockchain abstraction layer 1402 can read the data from the database 1503 and also retrieve the hash from verification contract database 1409 and transmit the data to the client device. Then the client device can calculate its own hash of the transmitted data and compare it the hash of the data it received to determine if the data has been altered. If the calculated hash and the received hash do not match, a flag or error can be generated to indicate that data has been altered, corrupted, tampered with, or can identify another problem. Goswami ¶0130, In some embodiment, the hash comparison can occur whenever data is retrieved by the system. Goswami ¶0132, …an application attempting to display the accurate ballot or an auditor wishing to validate the integrity of the ballot can simply compare the verification hash on the ballot and compare it to the has of the presented ballots on the voters' devices. Goswami ¶0133, A ballot presentment check can include retrieving verification hashes independently from any of the 3rd party locations and compared against the hash computed on the ballot that the application is about to present. In case of any difference between the hashes, the app can signal a possible variance in the ballot content integrity. An auditor can compare the hashes of the possible ballot styles and sample the hashes of ballots presented to voters from various precincts and find a match. Any instance of incorrect ballot presentment instances can be identified and flagged.)
Goswami does not disclose, however Ebrahimi teaches:
generating hash data based on a)vote data received from a user terminal and b) salt data randomized for encryption, in response to a voting request of the user terminal; (Ebrahimi ¶0007, The method includes hashing the data combined with the salt using a certification hash algorithm to create a generated hashed data. Ebrahimi ¶0037, Each field is then processed to produce a hash of the data. Optionally, to further obfuscate the original data, the hash can be produced of the original data along with a paired random data to prevent brute-force discovery of the hashed data; in this case, to validate the hash, the data and the random data (e.g., salt) must always be used together. Ebrahimi ¶0043, In each reference of hashing data, optionally a Salt is added to the data before hashing to obfuscate the data further. Ebrahimi ¶0066, application of a salt value to a corresponding certification would ensure that the certification is obfuscated from discovery, such as through a brute force discovery process. This is because the salt value is virtually impossible to discover without disclosure from a holder of the salt value. Ebrahimi ¶0082, In particular, a salt generator 471 generates a salt value, and combines the above information (e.g., transaction number 432, the input data—or selected fields of the input data—received from the user, and, optionally, a timestamp) with the salt value when generating the certification record. For example, the salt value may be appended to the data, or added to the data, or concatenated with the data, etc. The salt value or salt may be unique value, such as a random number generated by a random number generator. Ebrahimi ¶0083, In addition, the certification record (including the salt value) might be hashed and digitally signed by the certifier using a private key of the certifier associated with a public key.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the features of Goswami with the teaching of Ebrahimi. One of ordinary skills in the art would have been motivated to combine these features in order to obfuscate the data even further.
The combination of Goswami and Ebrahimi do not disclose, however Colemen teaches:
setting the status information according to a check result of the transaction; and (Colemen ¶0132, The transaction record may include a data field relating to the status of the transaction, which may also be used as an index. When the transaction is first recorded in the transaction database 126 as a transaction record, generally the status data field is set to open. That is, the transaction system 114, and in particular record module 122, identifies the transaction recorded in the transaction database 126 as an open transaction.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the features of the combination of Goswami and Ebrahimi with the teaching of Colemen. One of ordinary skills in the art would have been motivated to combine these features in order to ensure synchronization between off-chain vote data and on-chain transaction status. The combination would provide a predictable and straightforward result of improving vote integrity and auditability by recording the transaction status in the vote data.
Further, the claim limitation “generating hash data based on a)vote data received from a user terminal and b) salt data randomized for encryption” is a conditional limitation which means that the claim limitation is only required when the stated condition is met.
Regarding claim 2, the combination of Goswami, Ebrahimi and Colemen further disclose:
generate the hash data using the vote data and the salt data randomized for encryption, and (Ebrahimi ¶0007, The method includes hashing the data combined with the salt using a certification hash algorithm to create a generated hashed data. Ebrahimi ¶0037, Each field is then processed to produce a hash of the data. Optionally, to further obfuscate the original data, the hash can be produced of the original data along with a paired random data to prevent brute-force discovery of the hashed data; in this case, to validate the hash, the data and the random data (e.g., salt) must always be used together. Ebrahimi ¶0043, In each reference of hashing data, optionally a Salt is added to the data before hashing to obfuscate the data further. Ebrahimi ¶0066, application of a salt value to a corresponding certification would ensure that the certification is obfuscated from discovery, such as through a brute force discovery process. This is because the salt value is virtually impossible to discover without disclosure from a holder of the salt value. Ebrahimi ¶0082, In particular, a salt generator 471 generates a salt value, and combines the above information (e.g., transaction number 432, the input data—or selected fields of the input data—received from the user, and, optionally, a timestamp) with the salt value when generating the certification record. For example, the salt value may be appended to the data, or added to the data, or concatenated with the data, etc. The salt value or salt may be unique value, such as a random number generated by a random number generator. Ebrahimi ¶0083, In addition, the certification record (including the salt value) might be hashed and digitally signed by the certifier using a private key of the certifier associated with a public key.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the features of Goswami, Ebrahimi and Colemen with the teaching of Ebrahimi. One of ordinary skills in the art would have been motivated to combine these features in order to obfuscate the data even further.
The combination of Goswami, Ebrahimi and Colemen further disclose,
store the (Goswami ¶0128, This hash is then stored on the verification contract database 1409 as part of a blockchain. In some embodiments, the hash can also be transmitted to neutral third-party location to provide an additional level of security for the system. At the same time, the blockchain abstraction layer 1402 stores the data in the database 1503. In some embodiments, the data is stored in any of the databases 150 described above or in the voting databases 1404, or any other database that the blockchain abstraction layer 1402 can use to store data)
While Goswami does not explicitly state that the salt data is store in the database, it would have been obvious to one of ordinary skill in the art to store the salt data in the same way as the other data (hash data, voter data. etc.) is stored in the database in order to maintain a record to use for validation of the hash data.
Regarding claims 4 and 18, the combination of Goswami, Ebrahimi and Colemen further discloses:
the status information indicates any one of a created state, a committed state, and a finalized state of the vote data. (Colemen ¶0074, The record module may record the transaction in a transaction database 126 and identify the status of the transaction. Colemen ¶0132, The transaction record may include a data field relating to the status of the transaction, which may also be used as an index.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the features of Goswami, Ebrahimi and Colemen with Colemen’s additional teaching. One of ordinary skills in the art would have been motivated to combine these features in order to provide more granular tracking and a life cycle management of the vote data which is a well-known design principle used in distributed systems to represent the progressive verification and confirmation of digital data (vote data).
Furthermore, the claimed limitation “the status information indicates any one of a created state, a committed state, and a finalized state of the vote data” is non-functional material that does not move to distinguish over prior art.
Regarding claims 5 and 19, the combination of Goswami, Ebrahimi and Colemen further discloses:
the voting control server is configured to, when the vote data is stored in the database server, set the status information to the created state. (Colemen ¶0132, When the transaction is first recorded in the transaction database 126 as a transaction record, generally the status data field is set to open.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the features of Goswami, Ebrahimi and Colemen with Colemen’s additional teaching. One of ordinary skills in the art would have been motivated to combine these features in order to distinguish the vote data in the initial or created state from vote data in other stages of the transaction which is a standard practice in blockchain systems used to track data life cycles.
Furthermore, the claimed limitation “set the status information to the created state” is non-functional material that does not move to distinguish over prior art.
Regarding claims 6 and 20, the combination of Goswami, Ebrahimi and Colemen further discloses:
the status information is set to the committed state when the transaction is checked. (Colemen ¶0145, For example, a reply message authorizing or confirming the transaction request may include Y as a reply text. In response, the record module 122 may set to the status of the transaction record to authorized or confirmed, in addition or in alternative to closed.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the features of Goswami, Ebrahimi and Colemen with Colemen’s additional teaching. One of ordinary skills in the art would have been motivated to combine these features in order to distinguish the vote data after it is checked from vote data in other stages of the transaction which is a standard practice in blockchain systems used to track data life cycles.
Furthermore, the claimed limitation “the status information is set to the committed state when the transaction is checked” is non-functional material that does not move to distinguish over prior art.
Regarding claim 12, the combination of Goswami, Ebrahimi and Colemen further discloses:
information about the token comprises digital content information and token identification. (Goswami ¶0044, The system can verify the identity of the voter and create a pseudo-anonymous token in the form of a unique identifier that represents the voter… In some embodiments, the machine-readable identifier is a United States Postal Service Electronic Postmark (EPM®), or is a code or identifier associated with an EPM®. The paper ballot having the identifier thereon can then be mailed to the voter that corresponds to that token. Goswami ¶0116, The EPM 132 can then generate a particular electronic barcode associated with that voter. In some embodiments, the EPM 132 can also generate special coding identifiers, such as bar codes, that represent identifying information about the voter, such as state, voter ID, issuer, voter residence, voter mailing address, age, sex, birth, education level, etc. In some embodiments, the special coding identifiers and electronic barcode are then printed on a special form used as part of the verification process. These forms can also be electronically signed and dated by the system and the state issuing the form. Goswami ¶0118, This registration can include a voter signature, such as an image of a voter's electronically captured hand-written signature, for the election official to store and use to authenticate ballots and voters. The signature object can be a bitmap created within the VBM application. Once the voter has registered with the appropriate election authority, the voter can then receive authorization that allows them download and install the application. In some embodiments, this authorization can be a ballot access token.)
Furthermore, the claimed limitation “…comprises digital content information and token identification” is non-functional material that does not move to distinguish over prior art.
Regarding claim 13, the combination of Goswami, Ebrahimi and Colemen further discloses:
the token identification information is visualized and displayed on a tangible object. (Goswami ¶0044, In some embodiments, the machine-readable identifier is a United States Postal Service Electronic Postmark (EPM®), or is a code or identifier associated with an EPM®. The paper ballot having the identifier thereon can then be mailed to the voter that corresponds to that token. Goswami ¶0116, The EPM 132 can then generate a particular electronic barcode associated with that voter. In some embodiments, the EPM 132 can also generate special coding identifiers, such as bar codes, that represent identifying information about the voter, such as state, voter ID, issuer, voter residence, voter mailing address, age, sex, birth, education level, etc. In some embodiments, the special coding identifiers and electronic barcode are then printed on a special form used as part of the verification process. These forms can also be electronically signed and dated by the system and the state issuing the form. Goswami ¶0117, Once the voter's identification has been verified, the voter can then go to the polls where, a polling worker can confirm the voter's identity. The poll worker can then issue a special electronic postmarked stamped voting card. The voting card can be taken to the polling machine, where it is inserted. Goswami ¶0118, In some embodiments, this authorization can be a ballot access token. A voter can receive a ballot access token from the VBM application or from the system. In some embodiments, the ballot access token is included on a physical document that is mailed to the specific voter.)
Regarding claims 14 and 26, the combination of Goswami, Ebrahimi and Colemen further discloses:
the token identification information is converted into a barcode or QR code and displayed on the tangible object. (Goswami ¶0044, In some embodiments, the vote by mail system then generates a paper ballot that is printed with a QR code, barcode, or other computer or machine-readable identifier that represents the token. Goswami ¶0116, he EPM 132 can then generate a particular electronic barcode associated with that voter. In some embodiments, the EPM 132 can also generate special coding identifiers, such as bar codes, that represent identifying information about the voter, such as state, voter ID, issuer, voter residence, voter mailing address, age, sex, birth, education level, etc. In some embodiments, the special coding identifiers and electronic barcode are then printed on a special form used as part of the verification process. Goswami ¶0118, The ballot access token can be a QR code or other computer readable code which allows the voter to access the ballot on the VBM application when scanned.)
Regarding claim 25, the combination of Goswami, Ebrahimi and Colemen further discloses:
information about the token comprises digital content information and token identification information visualized and displayed on a tangible object. (Goswami ¶0044, The system can verify the identity of the voter and create a pseudo-anonymous token in the form of a unique identifier that represents the voter… In some embodiments, the machine-readable identifier is a United States Postal Service Electronic Postmark (EPM®), or is a code or identifier associated with an EPM®. The paper ballot having the identifier thereon can then be mailed to the voter that corresponds to that token. Goswami ¶0116, The EPM 132 can then generate a particular electronic barcode associated with that voter. In some embodiments, the EPM 132 can also generate special coding identifiers, such as bar codes, that represent identifying information about the voter, such as state, voter ID, issuer, voter residence, voter mailing address, age, sex, birth, education level, etc. In some embodiments, the special coding identifiers and electronic barcode are then printed on a special form used as part of the verification process. These forms can also be electronically signed and dated by the system and the state issuing the form. Goswami ¶0117, Once the voter's identification has been verified, the voter can then go to the polls where, a polling worker can confirm the voter's identity. The poll worker can then issue a special electronic postmarked stamped voting card. The voting card can be taken to the polling machine, where it is inserted. Goswami ¶0118, This registration can include a voter signature, such as an image of a voter's electronically captured hand-written signature, for the election official to store and use to authenticate ballots and voters. The signature object can be a bitmap created within the VBM application. Once the voter has registered with the appropriate election authority, the voter can then receive authorization that allows them download and install the application. In some embodiments, this authorization can be a ballot access token. A voter can receive a ballot access token from the VBM application or from the system. In some embodiments, the ballot access token is included on a physical document that is mailed to the specific voter.)
Furthermore, the claimed limitation “information about the token comprises digital content information and token identification information visualized and displayed on a tangible object” is non-functional material that does not move to distinguish over prior art.
Claim 3 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Goswami, Colemen and Ebrahim as applied to claim 2 and 16 above, and further in view of Spanos (US 9,836,908 B2).
Regarding claim 3, the combination of Goswami, Colemen and Ebrahimi do not disclose, however Spanos teaches:
the vote data comprises data corresponding to an option determined by the user terminal among a plurality of options (Spanos col 2 lines 60-61, receive voting data comprising one or more votes for one or more candidates in an election. See claim 1)
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the features of Goswami, Colemen and Ebrahimi with Spano’s teaching. One of ordinary skills in the art would have been motivated to combine these features in order to provide the user with a list of options to select from which would be an expected and essential feature in a voting system.
Furthermore, the claimed limitation “…comprises data corresponding to an option determined by the user terminal among a plurality of options” is non-functional material that does not move to distinguish over prior art.
Regarding claim 17, the combination of Goswami, Colemen and Ebrahimi further disclose:
the generating of the hash data comprises generating the hash data using the vote data and the salt data randomized for encryption, and (Ebrahimi ¶0007, The method includes hashing the data combined with the salt using a certification hash algorithm to create a generated hashed data. Ebrahimi ¶0037, Each field is then processed to produce a hash of the data. Optionally, to further obfuscate the original data, the hash can be produced of the original data along with a paired random data to prevent brute-force discovery of the hashed data; in this case, to validate the hash, the data and the random data (e.g., salt) must always be used together. Ebrahimi ¶0043, In each reference of hashing data, optionally a Salt is added to the data before hashing to obfuscate the data further. Ebrahimi ¶0066, application of a salt value to a corresponding certification would ensure that the certification is obfuscated from discovery, such as through a brute force discovery process. This is because the salt value is virtually impossible to discover without disclosure from a holder of the salt value. Ebrahimi ¶0082, In particular, a salt generator 471 generates a salt value, and combines the above information (e.g., transaction number 432, the input data—or selected fields of the input data—received from the user, and, optionally, a timestamp) with the salt value when generating the certification record. For example, the salt value may be appended to the data, or added to the data, or concatenated with the data, etc. The salt value or salt may be unique value, such as a random number generated by a random number generator. Ebrahimi ¶0083, In addition, the certification record (including the salt value) might be hashed and digitally signed by the certifier using a private key of the certifier associated with a public key.)
It