Geographic position verification method, device and equipment based on zero knowledge proof

Through a zero-knowledge proof method, using distance signature data and anchor public key to verify the geographical location, the problems of privacy leakage and low security in the prior art are solved, and high-security geolocation verification is achieved.

CN120165880APending Publication Date: 2025-06-17ZHEJIANG NANOMICRO TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510418554.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-03
Publication Date
2025-06-17

AI Technical Summary

Technical Problem

Existing geolocation verification methods are prone to leak user privacy and have low security.

Method used

Using a zero-knowledge proof method, a comprehensive position proof is generated by the distance signature data between the device to be verified and multiple anchor points, the validity of the distance data signature is verified, the calculated position of the device is calculated, and a sub-zero knowledge proof is generated to verify the consistency of the claimed position and the calculated position.

Benefits of technology

During the verification process, there is no need to send actual geographical location information, which avoids privacy leakage and improves the security of location verification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120165880A_ABST
    Figure CN120165880A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to the technical field of position verification, and discloses a geographic position verification method, device and equipment based on zero-knowledge proof, and the method comprises the steps: generating a comprehensive position proof according to the signature data of a plurality of anchor points in a preset range of to-be-verified equipment; for each piece of signature data in the comprehensive position proof, verifying the validity of the distance data signature by adopting a public key of an anchor point; obtaining a calculation position of the to-be-verified equipment through triangulation or multilateral measurement according to the plurality of distance data with valid signatures in the comprehensive position proof; and generating a sub-zero knowledge proof according to the calculation position of the to-be-verified equipment, wherein the sub-zero knowledge proof generates a sub-polynomial according to self-constraint conditions to verify whether the claimed position of the to-be-verified equipment is consistent with the calculation position or not. According to the method, the geographic position is verified through zero-knowledge proof, and the geographic position information of the user does not need to be sent to the verification party in the verification process, so that the privacy of the user is prevented from being leaked, and the safety of position verification is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the technical field of location verification, and in particular, to a geographical location verification method, device, and equipment based on zero-knowledge proof. Background Art

[0002] The Decentralized Physical Infrastructure Network (DePIN) uses cryptographic economic protocols to deploy physical infrastructure and hardware networks in the real world. DePIN aims to establish an efficient and transparent system, and through a token incentive mechanism, it promotes participants to jointly build a physical infrastructure network. The physical infrastructure network includes physical assets such as computing networks, energy networks, transportation networks, and telecommunications networks.

[0003] Geographical location information plays a crucial role in DePIN. The geographical location of a device determines its access ability to surrounding physical resources and the effectiveness of services. Accurate geographical location information can help the network optimize the distribution and utilization of resources, ensuring the efficient operation of each node. Moreover, many DePIN projects distribute rewards or resources based on geographical location. Accurate geographical location information can ensure the fairness of the reward mechanism, avoiding centralization or deception behaviors. Therefore, it is particularly important to verify the geographical location of devices. For example, if a node falsely claims to be in a high-demand area to obtain more resources, then geographical location verification can prevent location deception.

[0004] Currently, when performing geographical location verification, the party to be verified needs to send its own geographical location information to the verifier for verification. However, in this process, it is easy to cause the privacy leakage of the party to be verified. Therefore, there is an urgent need for a geographical location verification method with higher security. Summary of the Invention

[0005] The purpose of the present invention is to provide at least a geographical location verification method, device, and equipment based on zero-knowledge proof, which are used to solve the problems of easy leakage of user privacy and low security in the existing methods.

[0006] To solve the above technical problems, at least one embodiment of the present application provides a geographical location verification method based on zero-knowledge proof, including:

[0007] Generating a comprehensive location proof according to the signature data of multiple anchor points within a preset range of the device to be verified. The comprehensive location proof includes multiple signature data, and the signature data includes the public key of the anchor point and the signed distance data;

[0008] For each signature data in the comprehensive location proof, using the public key of the anchor point to verify the validity of the distance data signature;

[0009] Based on multiple distance data with valid signatures in the comprehensive location proof, the calculated location of the device to be verified is obtained through triangulation or multilateration;

[0010] A sub-zero knowledge proof is generated based on the calculated location of the device to be verified. The sub-zero knowledge proof generates a sub-polynomial according to its own constraint conditions to verify whether the claimed location of the device to be verified is consistent with the calculated location.

[0011] In some embodiments, a comprehensive location proof is generated based on the signature data of multiple anchor points within a preset range of the device to be verified, including:

[0012] The device to be verified sends location request information to multiple anchor points with known geographical locations within the preset range;

[0013] Each anchor point determines the physical distance from itself to the device to be verified according to the time when the location request information is received;

[0014] Each anchor point digitally signs the physical distance with its own private key and returns the signature data to the device to be verified;

[0015] The device to be verified combines the signature data returned by multiple anchor points to generate a comprehensive location proof containing multiple signature data.

[0016] In some embodiments, the method further includes:

[0017] Obtain the region number of the quadrilateral region where the device to be verified is located. The quadrilateral region is formed by dividing the earth's surface according to longitude and latitude;

[0018] Generate a parent polynomial commitment for hiding the region number of the quadrilateral region where the device to be verified is located;

[0019] Generate a parent zero knowledge proof based on the parent polynomial commitment and the sub-polynomial commitments of all sub-zero knowledge proofs.

[0020] In some embodiments, the method further includes: constructing a proof circuit to verify whether the region number of the device to be verified is equal to the specified region number.

[0021] In some embodiments, the parent zero knowledge proof integrates the verification results of all sub-zero knowledge proofs in a nested manner.

[0022] In some embodiments, the zk-STARKs verification algorithm is used to verify the parent zero knowledge proof.

[0023] In some embodiments, the quadrilateral region is determined by the longitude and latitude coordinates of the four vertices of the region.

[0024] At least one embodiment of the present application further provides a geographical location verification device based on zero knowledge proof, including:

[0025] A generation module, configured to generate a comprehensive location proof according to signature data of multiple anchor points within a preset range of a device to be verified, where the comprehensive location proof includes multiple signature data, and the signature data includes a public key of an anchor point and signed distance data;

[0026] A processing module, configured to, for each signature data in the comprehensive location proof, use the public key of the anchor point to verify the validity of the distance data signature;

[0027] A calculation module, configured to obtain a calculated location of the device to be verified through triangulation or multilateration according to multiple distance data with valid signatures in the comprehensive location proof;

[0028] A verification module, configured to generate a sub-zero knowledge proof according to the calculated location of the device to be verified, and the sub-zero knowledge proof generates a sub-polynomial according to its own constraint conditions to verify whether the claimed location of the device to be verified is consistent with the calculated location.

[0029] At least one embodiment of the present application further provides an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned geographical location verification method based on zero knowledge proof.

[0030] At least one embodiment of the present application further provides a computer-readable storage medium, storing a computer program, and when the computer program is executed by a processor, the above-mentioned geographical location verification method based on zero knowledge proof is implemented.

[0031] The geographical location verification method, device and equipment provided by the embodiments of the present application generate a comprehensive location proof according to signature data of multiple anchor points within a preset range of a device to be verified, where the comprehensive location proof includes multiple signature data, and the signature data includes a public key of an anchor point and signed distance data; for each signature data in the comprehensive location proof, use the public key of the anchor point to verify the validity of the distance data signature; obtain a calculated location of the device to be verified through triangulation or multilateration according to multiple distance data with valid signatures in the comprehensive location proof; generate a sub-zero knowledge proof according to the calculated location of the device to be verified, and the sub-zero knowledge proof generates a sub-polynomial according to its own constraint conditions to verify whether the claimed location of the device to be verified is consistent with the calculated location. Geographical location verification is performed through zero knowledge proof, and during the verification process, the geographical location information of oneself does not need to be sent to the verifier, avoiding the leakage of user privacy and improving the security of location verification. Description of the Drawings

[0032] One or more embodiments are exemplarily illustrated by the pictures in the corresponding drawings, and these exemplary illustrations do not constitute a limitation on the embodiments.

[0033] Figure 1 is a flowchart of a geographical location verification method based on zero - knowledge proof provided by an embodiment of the present application;

[0034] Figure 2 is a schematic diagram of a geographical location verification device based on zero - knowledge proof provided by an embodiment of the present application;

[0035] Figure 3 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. Detailed implementation manners

[0036] In order to enable those skilled in the art of the present technology to better understand the technical solutions of the present disclosure, and to fully understand how the present disclosure applies technical means to solve technical problems and the implementation process of achieving corresponding technical effects and be able to implement accordingly, the following will, in conjunction with the drawings in the embodiments of the present disclosure, clearly and completely describe the technical solutions in the embodiments of the present disclosure. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all of the embodiments. The embodiments of the present disclosure and each feature in the embodiments can be combined with each other on the premise of not conflicting, and the formed technical solutions are all within the protection scope of the present disclosure. Based on the embodiments in the present disclosure, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present disclosure.

[0037] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above - mentioned drawings are used to distinguish similar objects, and do not necessarily need to be used to describe a specific order or sequence. It should be understood that such used data can be interchanged under appropriate circumstances so that the embodiments of the present disclosure described here can be implemented in an order different from those illustrated or described here. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non - exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these process, method, product or device.

[0038] It should be noted that the steps shown in the flowchart of the drawings can be executed in a computer system such as a set of computer - executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a sequence different from that here.

[0039] In order to ensure the fairness of reward or resource allocation in the DePIN project and avoid centralization or fraud, it is necessary to verify the geographical location information of the device. The party to be verified first needs to obtain the geographical location information of the device, and then needs to send its own geographical location information to the verifier for verification. In this process, the following problems exist: on the one hand, the user cannot prove that they are at the location they claim, and on the other hand, the user may be reluctant to disclose their location due to privacy concerns, resulting in the inability to verify the true geographical location of the device. Moreover, sending one's own geographical location information to the verifier easily leads to the privacy leakage of the party to be verified and low security.

[0040] To solve the above technical problems existing in the prior art, the present invention proposes a geographical location verification method based on zero-knowledge proof, which uses zero-knowledge proof technology to verify the geographical location, and adopts two-layer nested zero-knowledge proof. The sub-proof is used to prove that the geographical location advertised by the device is the same as the real location, and the parent-proof is used to prove to the verifier that its geographical location is within a certain range. The following will specifically describe the implementation details of the geographical location verification method based on zero-knowledge proof provided by this application. The following content is only the implementation details provided for easy understanding and is not necessary for implementing this solution.

[0041] Embodiment 1:

[0042] Figure 1 It is a flowchart of the geographical location verification method based on zero-knowledge proof provided by an embodiment of this application. The geographical location verification method based on zero-knowledge proof provided by this embodiment can be applied to an electronic device with communication, computing, and data storage capabilities. As Figure 1 shown, the geographical location verification method based on zero-knowledge proof provided by this embodiment may include:

[0043] S101. Generate a comprehensive location proof according to the signature data of multiple anchor points within the preset range of the device to be verified. The comprehensive location proof includes multiple signature data, and the signature data includes the public key of the anchor point and the signed distance data.

[0044] In this embodiment, multiple anchor points with known geographical locations around the device to be verified are first selected (such as Wi-Fi hotspots, base stations, routers, or other devices). The locations of these anchor points are known and public, and they can communicate with the device to be verified. Each anchor point generates its own public-private key pair. Among them, the public key is public and can be accessed by the device; the private key is stored in the anchor point to ensure security. Each anchor point calculates the physical distance to the device to be verified according to the time when the location request information sent by the device to be verified is received, by measuring Ping latency, signal strength, or other appropriate measurement methods. Each anchor point digitally signs the calculated distance data with its own private key. This signature proves the authenticity of the distance data and that the data has not been tampered with. The anchor point returns the signed distance data to the device to be verified. The returned data packet usually includes the public key of the anchor point, the signature, the distance information, and the timestamp, etc. The device to be verified collects the signed distance data from multiple anchor points, and the data of each anchor point is attached with a digital signature and the corresponding public key. The device combines all the signed data from different anchor points to generate a comprehensive location proof containing multiple signatures. This proof indicates that the distance data between the device and multiple anchor points has been encrypted and signed and has not been tampered with.

[0045] That is, in some alternative embodiments, a comprehensive location proof is generated based on the signature data of multiple anchor points within the preset range of the device to be verified. Specifically, it may include: the device to be verified sends location request information to multiple anchor points with known geographical locations within the preset range; each anchor point determines the physical distance to the device to be verified according to the time when the location request information is received; each anchor point digitally signs the physical distance with its own private key and returns the signed data to the device to be verified; the device to be verified combines the signed data returned by multiple anchor points to generate a comprehensive location proof containing multiple signed data.

[0046] In an alternative embodiment, the device to be verified can also communicate with multiple anchor points with known locations (such as Wi-Fi hotspots, base stations, GPS satellites, etc.) using multi-anchor point distance measurement technology and measure the physical distances to these anchor points. Through the distance measurements of multiple anchor points, the true location of the device can be calculated using triangulation technology, or the PING application can be used to measure network latency, and the location of the device can be verified by analyzing the round-trip time of data packets.

[0047] S102. For each signature data in the comprehensive location proof, use the public key of the anchor point to verify the validity of the distance data signature.

[0048] A verification device (e.g., other nodes on the blockchain) receives a comprehensive location proof generated by the device to be verified, which includes multiple signature data. For each signature data in the comprehensive location proof, the public key of the anchor is used to verify the signature of each distance data. The verification device ensures that these distance data are indeed generated by the corresponding anchor and have not been tampered with by confirming the validity of the signature.

[0049] S103. Obtain the calculated location of the device to be verified through triangulation or multilateration based on multiple distance data with valid signatures in the comprehensive location proof.

[0050] In this embodiment, the verification device can adopt triangulation or multilateration technology, use the distance data of multiple anchors to calculate the possible location range of the device to be verified, and compare it with the claimed location of the device to be verified. If multiple verification devices have consistent location verification of the device to be verified, the system accepts this location proof. If some signatures are invalid or the location calculation results do not match, the system rejects this proof.

[0051] S104. Generate a sub-zero-knowledge proof based on the calculated location of the device to be verified. The sub-zero-knowledge proof generates a sub-polynomial according to its own constraint conditions to verify whether the claimed location and the calculated location of the device to be verified are consistent.

[0052] After verifying the location of the device to be verified, a third party (verification device) generates a zero-knowledge proof (e.g., zk-SNARKs or zk-STARKs) to prove that they have verified the location of the device to be verified without disclosing the specific verification details. This zero-knowledge proof serves as a sub-proof for the subsequent device location proof and is denoted as a sub-zero-knowledge proof (sub-proof) in this embodiment. The sub-zero-knowledge proof generates a corresponding polynomial P sub (x) = x - x real for verifying whether the claimed location x of the device to be verified and the calculated location (i.e., the actual location) x obtained in step S103 real are consistent. The sub-zero-knowledge proof also generates a commitment to its polynomial and passes this commitment to the parent zero-knowledge proof.

[0053] The geographical location verification method based on zero - knowledge proof provided by this embodiment generates a comprehensive location proof according to the signature data of multiple anchor points within a preset range of the device to be verified. The comprehensive location proof includes multiple signature data, and the signature data includes the public key of the anchor point and the signed distance data. For each signature data in the comprehensive location proof, the public key of the anchor point is used to verify the validity of the distance data signature. The calculated location of the device to be verified is obtained through triangulation or multilateration based on multiple distance data with valid signatures in the comprehensive location proof. A sub - zero - knowledge proof is generated based on the calculated location of the device to be verified. The sub - zero - knowledge proof generates a sub - polynomial according to its own constraint conditions to verify whether the claimed location of the device to be verified is consistent with the calculated location. The geographical location is verified through zero - knowledge proof. During the verification process, there is no need to send one's own geographical location information to the verifier, which avoids disclosing user privacy and improves the security of location verification.

[0054] Embodiment 2:

[0055] Based on the above - mentioned embodiment, the following will further elaborate on how to implement a two - layer nested zero - knowledge proof. The sub - proof is used to prove that the geographical location advertised by the device is the same as the real location, and the parent - proof is used to prove to the verifier that its geographical location is within a certain interval. The geographical location verification method based on zero - knowledge proof provided by this embodiment can be applied to electronic devices with communication, computing, and data - storage capabilities. Its specific implementation process is as follows:

[0056] The earth's surface can be divided into multiple quadrilateral regions according to longitude and latitude. Each quadrilateral region is determined by the longitude and latitude coordinates of the four vertices of the region. For example, a quadrilateral region can be expressed as: A(x1,y1), B(x2,y2), C(x3,y3), D(x4,y4). Further, all quadrilateral regions can be numbered, and then each quadrilateral region has a unique region number (ZoneID). The geographical location verification method based on zero - knowledge proof provided by this embodiment may further include: obtaining the region number of the quadrilateral region where the device to be verified is located. Among them, the quadrilateral region is formed by dividing the earth's surface according to longitude and latitude, and the quadrilateral region is determined by the longitude and latitude coordinates of the four vertices of the region.

[0057] The device to be verified needs to generate a random value (or use a specific source of randomness), and generate a polynomial commitment C to hide the area number information of the area where the device to be verified is located. This polynomial commitment C can be implemented using a Merkle tree or other commitment schemes. The parent zero-knowledge proof will include the verification results of its own polynomial and all sub-zero-knowledge proof commitments, forming a complete polynomial commitment. To ensure that the data is correctly embedded in the proof and any unauthorized modifications will be detected. That is, based on the above embodiments, the geographical location verification method based on zero-knowledge proof provided in this embodiment may further include: generating a parent polynomial commitment for hiding the area number of the quadrilateral area where the device to be verified is located; generating a parent zero-knowledge proof according to the parent polynomial commitment and the sub-polynomial commitments of all sub-zero-knowledge proofs. Among them, the parent zero-knowledge proof integrates the verification results of all sub-zero-knowledge proofs in a nested manner, and the zk-STARKs verification algorithm can be used to verify the parent zero-knowledge proof. And a proof circuit can be constructed to verify whether the area number of the device to be verified is equal to the specified area number.

[0058] Next, it will be further described how to construct a proof circuit to verify whether the area number of the device is equal to the specified area number. The constraint condition is: x = ZoneID. Generate a zk-STARKs zero-knowledge proof: zk-STARKs uses the FRI (Fast Recursive Integrity Verification) scheme to generate a parent zero-knowledge proof (parent proof). The parent proof not only verifies its own constraint conditions, but also needs to include and verify the polynomial commitments of all sub-zero-knowledge proofs to generate an overall zk-STARK zero-knowledge proof. This final proof not only verifies the polynomial of the parent proof, but also ensures the correctness of all sub-proofs. Use the constraint condition to generate a polynomial, and the location information of the device is used as the root of this polynomial. The parent proof will verify the commitments of the inherited sub-proofs to ensure that the polynomials corresponding to these commitments meet the constraint conditions.

[0059] Generate a polynomial: The device to be verified uses its location coordinates to generate a polynomial and ensures that it meets the predetermined constraints (i.e., the device location is within the area). The polynomial P(x) = x - ZoneID represents this constraint. If x = ZoneID, then the value of P(x) should be 0.

[0060] Construct and verify Fri: Use the Fri technique to generate and compress the proof to ensure its efficiency and verifiability.

[0061] The verification device can use the zk-STARKs verification algorithm to verify the proofs generated by the device to be verified. The verifier does not need to know the specific location of the device, but only needs to confirm whether its location is within the specified area. When the verification device verifies the parent proof, it simultaneously verifies all the sub-proofs included in the parent proof. The parent proof integrates the verification results (including polynomial commitments) of the sub-proofs in a nested manner, thereby ensuring the consistency and correctness of the entire proof chain.

[0062] In summary, the geographical location verification method based on zero-knowledge proof proposed in this application uses zero-knowledge proof technology to verify the geographical location, and adopts a two-layer nested zero-knowledge proof. The sub-proof is used to prove that the geographical location advertised by the device is the same as the actual location, and the parent proof is used to prove to the verifier that its geographical location is within a certain range. During the process of verifying the geographical location, it is not necessary to send its own geographical location information to the verification party, avoiding the leakage of user privacy and improving the security of location verification.

[0063] Embodiment 3:

[0064] Another embodiment of this application relates to a geographical location verification device based on zero-knowledge proof. The implementation details of the geographical location verification device based on zero-knowledge proof in this embodiment will be specifically described below. The following content is only the implementation details provided for convenient understanding and is not necessary for implementing this solution. The schematic diagram of the geographical location verification device based on zero-knowledge proof in this embodiment can be as Figure 2 shown, including: a generation module 201, a processing module 202, a calculation module 203, and a verification module 204.

[0065] The generation module 201 is configured to generate a comprehensive location proof according to the signature data of multiple anchor points within a preset range of the device to be verified. The comprehensive location proof includes multiple signature data, and the signature data includes the public key of the anchor point and the signed distance data;

[0066] The processing module 202 is configured to, for each signature data in the comprehensive location proof, use the public key of the anchor point to verify the validity of the distance data signature;

[0067] The calculation module 203 is configured to obtain the calculated location of the device to be verified through triangulation or multilateration according to the multiple distance data with valid signatures in the comprehensive location proof;

[0068] The verification module 204 is configured to generate a sub zero-knowledge proof according to the calculated location of the device to be verified. The sub zero-knowledge proof generates a sub-polynomial according to its own constraint conditions to verify whether the claimed location of the device to be verified is consistent with the calculated location.

[0069] The device of this embodiment can be used to execute Figure 1The technical solutions of the method embodiments shown have similar implementation principles and technical effects, which will not be elaborated here.

[0070] In some alternative embodiments, the generation module 201 is configured to generate a comprehensive location proof based on the signature data of multiple anchor points within a preset range of the device to be verified. Specifically, it may include:

[0071] The device to be verified sends location request information to multiple anchor points at known geographical locations within a preset range;

[0072] Each anchor point determines the physical distance from the device to be verified according to the time when the location request information is received;

[0073] Each anchor point digitally signs the physical distance with its own private key and returns the signature data to the device to be verified;

[0074] The device to be verified combines the signature data returned by multiple anchor points to generate a comprehensive location proof containing multiple signature data.

[0075] In some alternative embodiments, the verification module 204 is further configured to:

[0076] Obtain the region number of the quadrilateral region where the device to be verified is located. The quadrilateral region is formed by dividing the Earth's surface according to longitude and latitude;

[0077] Generate a parent polynomial commitment for hiding the region number of the quadrilateral region where the device to be verified is located;

[0078] Generate a parent zero-knowledge proof based on the parent polynomial commitment and the sub-polynomial commitments of all sub-zero-knowledge proofs.

[0079] In some alternative embodiments, a proof circuit is constructed to verify whether the region number of the device to be verified is equal to the specified region number.

[0080] In some alternative embodiments, the parent zero-knowledge proof integrates the verification results of all sub-zero-knowledge proofs in a nested manner.

[0081] In some alternative embodiments, the zk-STARKs verification algorithm is used to verify the parent zero-knowledge proof.

[0082] In some alternative embodiments, the quadrilateral region is determined by the longitude and latitude coordinates of the four vertices of the region.

[0083] It is worth mentioning that all the modules involved in this embodiment are logical modules. In practical applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. In addition, to highlight the innovative part of this application, units that are not closely related to solving the technical problems proposed in this application are not introduced in this embodiment, but this does not mean that there are no other units in this embodiment.

[0084] Embodiment 4:

[0085] Another embodiment of this application relates to an electronic device, as Figure 3 shown, including: at least one processor 301; and a memory 302 communicatively connected to the at least one processor 301; wherein, the memory 302 stores instructions executable by the at least one processor 301, and the instructions are executed by the at least one processor 301 to enable the at least one processor 301 to execute the zero-knowledge-proof-based geographical location verification method in the above embodiments.

[0086] Among them, the memory and the processor are connected by a bus. The bus can include any number of interconnected buses and bridges, and the bus connects various circuits of one or more processors and memories together. The bus can also connect various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art, so they will not be further described herein. The bus interface provides an interface between the bus and the transceiver. The transceiver can be an element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices on the transmission medium. The data processed by the processor is transmitted over the wireless medium through the antenna. Further, the antenna also receives data and transmits the data to the processor.

[0087] The processor is responsible for managing the bus and general processing, and can also provide various functions, including timing, peripheral interfaces, voltage regulation, power management, and other control functions. The memory can be used to store data used by the processor during operation. The processor can include, but is not limited to, for example, one or more processors or microprocessors, etc. Each processor can be implemented by an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a controller, a microcontroller, a microprocessor, or other electronic components, and is used to execute the methods in the above embodiments.

[0088] Embodiment 5:

[0089] Another embodiment of the present application relates to a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the above method embodiments are implemented. That is, those skilled in the art can understand that all or part of the steps in implementing the methods of the above embodiments can be completed by instructing relevant hardware through a program. The program is stored in a storage medium and includes several instructions to enable a device (which can be a single-chip microcomputer, a chip, etc.) or a processor to execute all or part of the steps of the methods described in various embodiments of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks, or optical discs.

[0090] The computer-readable storage medium may also store at least one computer-executable program / instructions, such as computer-readable instructions. The computer-readable storage medium includes, but is not limited to, for example, volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory, etc. The computer-readable storage medium may include, for example, read-only memory (ROM), hard disk, flash memory, etc. For example, the non-transitory computer-readable storage medium may be connected to a computing device such as a computer. Then, when the computing device runs the computer-readable instructions stored on the computer-readable storage medium, the various methods described above may be performed.

[0091] In addition, the computer device may further include (but is not limited to) a data bus, an input / output (I / O) bus, a display, and input / output devices (such as a keyboard, a mouse, a speaker, etc.).

[0092] The processor may communicate with external devices via the I / O bus through a wired or wireless network.

[0093] In one embodiment, the at least one computer-executable instruction may also be compiled into or form a software product / computer program product, and when one or more computer-executable instructions are run by a processor, the steps of various functions and / or methods in the embodiments described in this technology are executed.

[0094] Those of ordinary skill in the art can understand that the above embodiments are specific embodiments for implementing this application, and in actual applications, various changes may be made to them in form and details without departing from the spirit and scope of this application.

[0095] In the embodiments provided in the present disclosure, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions, and operations of devices, methods, and computer program products according to multiple embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a part of code, and the above-mentioned module, program segment, or part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than marked in the accompanying drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, as well as the combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.

[0096] It should be noted that in the present disclosure, the term "including", "comprising", or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article, or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed, or further includes elements inherent to such process, method, article, or device. Without further limitation, the element limited by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article, or device including the element.

[0097] Although the disclosed embodiments of the present disclosure are as above, the above content is only an embodiment adopted for the convenience of understanding the present disclosure, and is not intended to limit the present disclosure. Any person skilled in the art within the technical field to which the present disclosure pertains may make any modifications and changes in the form of implementation and details without departing from the spirit and scope disclosed by the present disclosure. However, the scope of patent protection of the present disclosure shall still be subject to the scope defined by the appended claims.

Claims

1. A method for verifying geographic location based on zero-knowledge proof, characterized in that: include: Generate a comprehensive location certificate based on the signature data of multiple anchor points within a preset range of the device to be verified, wherein the comprehensive location certificate includes multiple signature data, and the signature data includes the public key of the anchor point and the signed distance data; For each signature data in the comprehensive location proof, the public key of the anchor point is used to verify the validity of the distance data signature; Obtaining the calculated position of the device to be verified by triangulation or multilateral measurement based on multiple distance data with valid signatures in the comprehensive position certificate; A sub-zero-knowledge proof is generated according to the calculated position of the device to be verified, and the sub-zero-knowledge proof generates a sub-polynomial according to its own constraints for verifying whether the declared position of the device to be verified is consistent with the calculated position.

2. The method according to claim 1, characterized in that The generating of the comprehensive location proof according to the signature data of multiple anchor points within the preset range of the device to be verified includes: The device to be verified sends location request information to multiple anchor points with known geographical locations within a preset range; Each anchor point determines the physical distance between itself and the device to be verified according to the time when the location request information is received; Each anchor point digitally signs the physical distance with its own private key, and returns the signature data to the device to be verified; The device to be verified combines the signature data returned by multiple anchor points to generate a comprehensive location proof containing multiple signature data.

3. The method according to claim 1 or 2, characterized in that: The method further comprises: Obtaining an area number of a quadrilateral area where the device to be verified is located, where the quadrilateral area is formed by dividing the earth's surface according to longitude and latitude; Generate a parent polynomial commitment for hiding the area number of the quadrilateral area where the device to be verified is located; A parent zero-knowledge proof is generated according to the parent polynomial commitment and the child polynomial commitments of all child zero-knowledge proofs.

4. The method according to claim 3, characterized in that The method further includes: constructing a certification circuit to verify whether the area number of the device to be verified is equal to a specified area number.

5. The method according to claim 3, characterized in that: The parent zero-knowledge proof integrates the verification results of all child zero-knowledge proofs in a nested manner.

6. The method according to claim 3, characterized in that The parent zero-knowledge proof is verified using the zk-STARKs verification algorithm.

7. The method according to claim 3, characterized in that The quadrilateral area is determined by the longitude and latitude coordinates of the four vertices of the area.

8. A geographical location verification device based on zero-knowledge proof, characterized in that: include: A generation module, configured to generate a comprehensive location proof based on signature data of multiple anchor points within a preset range of the device to be verified, wherein the comprehensive location proof includes multiple signature data, and the signature data includes a public key of the anchor point and signed distance data; A processing module, configured to verify the validity of the distance data signature using the public key of the anchor point for each signature data in the comprehensive location proof; A calculation module, used for obtaining the calculated position of the device to be verified by triangulation or multilateral measurement according to the multiple distance data with valid signatures in the comprehensive position certificate; A verification module is used to generate a sub-zero-knowledge proof according to the calculated position of the device to be verified, and the sub-zero-knowledge proof generates a sub-polynomial according to its own constraints to verify whether the declared position of the device to be verified is consistent with the calculated position.

9. An electronic device, characterized in that: include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the geographic location verification method based on zero-knowledge proof as described in any one of claims 1 to 7.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method for verifying a geographic location based on zero-knowledge proof according to any one of claims 1 to 7 is implemented.