Block chain enabled community detection encryption method

By adopting blockchain technology and smart contracts in a distributed digital identity management system, combining vector commitment and community search algorithms, the problems of insufficient system dynamics and privacy leakage risks are solved, and efficient and reliable identity permission management and privacy protection are achieved.

CN120017316AActive Publication Date: 2025-05-16BEIJING INST OF TECH
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510022273.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-07
Publication Date
2025-05-16
Estimated Expiration
2045-01-07

AI Technical Summary

Technical Problem

The existing distributed digital identity management system lacks dynamics, tampering and privacy leakage risks, and is difficult to adapt to complex social relationships and role changes, and lacks effective identity authentication and authorization mechanisms.

Method used

Blockchain technology is used to realize distributed identity authentication, dynamic authorization is achieved through smart contracts, and vector commitment technology is introduced to constrain data to ensure data verifiability and traceability. Combined with the community search algorithm, differentiated identity permission management is achieved based on the user's status and role in the community.

Benefits of technology

Through blockchain technology, a decentralized trust mechanism is established to ensure the security and reliability of the identity management system, and to realize dynamic permission management, improve management accuracy and efficiency, and better protect user privacy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120017316A_ABST
    Figure CN120017316A_ABST
Patent Text Reader

Abstract

The invention relates to a block chain enabled community detection encryption method, and belongs to the technical field of privacy protection and identity information management. According to the method, behaviors of a data owner in community detection are restrained, safety of digital identity information of a user is protected, and a new decentralized trust mechanism is established. Firstly, distributed identity authentication is realized by using a block chain technology, and dynamic authorization is realized by means of an intelligent contract. In the aspect of data, a vector commitment technology is introduced to restrain data uploaded by a data owner, and the committed data is placed on a block chain to realize verifiability and traceability. By establishing a reliable trust basis, the security and reliability of the identity management system are ensured. Besides, differentiated identity authority management is realized by combining a community search algorithm according to the status and role of the user in the community, so that the management accuracy and efficiency are greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a blockchain-enabled community detection encryption method, and belongs to the technical field of privacy protection and identity information management. Background Art

[0002] Digital identity is an important means of communication, providing a clear representation of online entities in a network environment. Personal digital identity is usually established through a combination of personal attribute information, in the form of a unique account in a system or platform. The emergence of identity-based social networks has further enabled users to establish connections with each other through various online activities, such as creating virtual profiles and content sharing, and establishing relationships through network connection mapping.

[0003] Traditionally, digital identities are built in a centralized manner, which brings many challenges to the trustworthiness, governance, and interoperability of user identities in social networks. When services are provided between untrusted nodes or participants, it becomes particularly challenging to establish mutual trust between platforms. Previous studies have attempted to improve trustworthiness by adding additional security modules, but this approach often comes at a higher cost in terms of resource requirements.

[0004] The emergence of distributed identity (DID) is an option to eliminate the harm caused by centralized settings. The decentralized setting of distributed identity (DID) provides some ideal functions different from centralized settings, such as avoiding dependence on centralized authority. Distributed digital identity records the basic information, social relationships, activity records, etc. of individuals, all of which can be used as important input basis for community modeling and analysis. The attributes of individuals in the community, such as their roles and influence, can be extracted from digital identities for community feature analysis. These digital identity data provide the necessary basic information for community detection methods.

[0005] However, traditional identity management methods cannot adapt to complex social relationships and role changes. In large-scale distributed systems, user identity information is highly dynamic and fragmented, and the roles and permissions played by users in different scenarios are also different. This poses a huge challenge to traditional centralized identity management systems, and a single identity management method is difficult to cope with this complexity. In a distributed system, users' private data is widely scattered across various nodes, and how to effectively control the access rights and usage scope of data is a major challenge. Due to the high degree of dispersion of data, it is difficult to establish a unified access control mechanism, and different nodes may adopt different privacy protection strategies, lacking a global perspective. Once data is leaked or abused, it is difficult to quickly locate the problem and take remedial measures. Users want to have more control and decision-making power over their identity information. How to strike a balance between protecting user privacy and ensuring system security has become a technical problem that needs to be solved urgently.

[0006] In addition, in a distributed environment, users may have multiple identities, and how to grant differentiated permissions based on different identities becomes a major problem. In the absence of a trusted authentication mechanism, it is easy for malicious users to impersonate legitimate identities and perform illegal operations. This will not only threaten the security of the system, but also undermine the trust foundation of the entire ecosystem. This means that before authorization, the problem of unreliable data owners needs to be considered. Malicious community data owners can change the community information in the uploaded data, which will cause data users to be unable to obtain the correct community classification results, waste computing power, and even increase the possibility of a user being assigned more permissions by modifying the data. In a decentralized environment lacking centralized management, how to establish a reliable identity authentication and authorization mechanism is also an important challenge. If the trust mechanism is not sound, it is easy for malicious users to impersonate identities and endanger the security of the entire system. Summary of the invention

[0007] The purpose of the present invention is to creatively propose a blockchain-enabled community detection encryption method in view of the lack of dynamism, tampering and privacy leakage risks of existing distributed digital identity management systems.

[0008] This method not only constrains the behavior of data owners in community detection, but also protects the security of user digital identity information, and establishes a new decentralized trust mechanism. First, blockchain technology is used to implement distributed identity authentication, and dynamic authorization is achieved with the help of smart contracts. In terms of data, vector commitment technology is introduced to constrain the data uploaded by the data owner, and the committed data is placed on the blockchain to achieve verifiability and traceability. By building a reliable trust foundation, the security and reliability of the identity management system are ensured. In addition, by combining the community search algorithm, differentiated identity authority management is achieved according to the user's status and role in the community, greatly improving the accuracy and efficiency of management.

[0009] This method can better understand the relationships and behavior patterns of users in the community, so as to formulate more reasonable privacy policies. Differentiated identity authority management can be achieved according to the status and role of users in the community, which greatly improves the accuracy and efficiency of management. For example, privacy rights can be appropriately relaxed for core community members, and stricter privacy protection measures can be taken for marginal members. At the same time, community search algorithms can help more accurately evaluate users' community status and influence, and combine users' digital identity information to achieve more intelligent trust assessment and management.

[0010] By mining the social network data in digital identities, individuals belonging to the same community can be more accurately discovered. At the same time, the individual activity information recorded in the digital identity can further enrich the analysis of community characteristics, which in turn optimizes the performance of the community detection algorithm. For example, identity characteristics based on community roles can help divide communities more accurately and improve the accuracy of detection results. In addition to providing data support for community analysis, community detection and search algorithms themselves can also optimize the management of digital identities in turn. Community detection algorithms can discover groups of individuals with strong correlations, which helps to organize and manage digital identities more reasonably. For example, differentiated digital identity permissions and privacy policies can be given to individuals in different communities. This can not only improve the efficiency of digital identity management, but also better protect individual privacy.

[0011] In order to achieve the above object, the present invention adopts the following technical scheme.

[0012] First, the relevant concepts or definitions involved in the method of the present invention are explained.

[0013] (1) Data owner. Responsible for providing information about users who need permission management. This information may include the user's work unit, position, trust, communication frequency, etc., which is an important basis for the system to allocate permissions. The data owner must first collect and organize the information of relevant users, and the data owner must ensure the accuracy and timeliness of the information. After collecting user information, the data owner must calculate the commitment value of the entire data and upload it to the blockchain network, which becomes a verifiable digital record. The purpose is to ensure the integrity and immutability of user information and prevent malicious modification during transmission or storage. In addition, the data owner must regularly update user information to promptly reflect employee changes, such as joining, leaving, and position adjustment. These information updates also need to calculate the commitment value and upload it to the blockchain network to ensure that the permission management system always has the latest user information.

[0014] (2) Blockchain. Blockchain plays a key role in distributed permission management solutions. It provides users with DID identification and private key generation services, and stores user attribute commitments and user information provided by data owners. First, the blockchain generates a unique DID identification and private key for the user, allowing the user to independently manage and control their own digital identity information. Second, the blockchain stores the attribute commitments submitted by the user and the owner. When the user calculates the commitment value of his or her attribute information and uploads it to the blockchain network, the blockchain will record these attribute commitments. These attribute commitments will play a key role in the subsequent permission verification process.

[0015] (3) Community detection system. The community detection system is a key module in distributed permission management. It is responsible for dividing users into communities based on their attribute information. The results of the community division will become an important basis for the permission management system to assign access rights. The community detection system first obtains the user's attribute information from the data provided by the data owner. This attribute information will be used as input and processed and analyzed by the community detection algorithm. The community detection algorithm uses the improved Louvain algorithm, which divides users into different communities based on the attribute similarity between them. Users with higher attribute similarity are more likely to be divided into the same community. The purpose is to identify user groups with common characteristics. For example, one community may include all management personnel of a company who have similar job responsibilities and permission requirements. Another community may include R&D personnel within the company who need to access technical resources different from those of the management. The community detection system needs to run this community detection algorithm regularly to dynamically adjust the user's community affiliation, promptly reflect changes in user attributes, and ensure that permission allocation always matches the user's actual needs.

[0016] (4) Commitment Verification Module. This module is used to verify the access request made by the user to ensure that the request complies with the commitment and policy established in advance. When a user initiates an access request to a resource provider, the resource provider will forward the request to the commitment verification module for review.

[0017] The commitment verification module will check the following aspects: whether the identity of the requesting user has been authenticated by a trusted DID; whether the user has the attributes that are classified into the community with access rights to the resource; and whether the data provided by the data owner is authentic. If all of the above conditions are met, the commitment verification module will send an authorization ticket to the resource provider, indicating that the request has been verified and can be allowed to access. Conversely, if any of the conditions are not met, the commitment verification module will reject the access request and notify the resource provider of the access denial.

[0018] A blockchain-enabled community detection encryption method includes users obtaining verifiable credentials, user attribute generation commitments, data owners providing partial user information, community detection, commitment consistency check, authority allocation, and dynamic authority adjustment.

[0019] Step 1: User registration application, obtain verifiable credentials, and upload them to the blockchain.

[0020] Specifically, the steps include:

[0021] Step 1.1: The user generates his own DID identifier and private key through the DID service on the blockchain;

[0022] Step 1.2: The user applies for and obtains a verifiable credential containing his or her attribute information through the DID service.

[0023] Step 2: User attributes generate commitments and upload to the blockchain.

[0024] Specifically, the steps include:

[0025] Step 2.1: The user calculates the commitment value of his / her attribute information through the vector commitment technology to obtain the attribute commitment;

[0026] Step 2.2: The user uploads the property commitment to the blockchain for storage and digitally signs it using his or her own DID private key.

[0027] Step 3: The data owner provides some user information.

[0028] Specifically, the steps include:

[0029] Step 3.1: The data provided by the data owner is used to calculate the vector value through the vector commitment technology to obtain the information summary;

[0030] Step 3.2: The data owner uploads the information summary to the blockchain for storage and authenticates it with his or her own digital signature.

[0031] Step 4: Perform cluster analysis on users (Louvain algorithm can be used, etc.), identify the association patterns between users, and divide users into different communities. Each community represents a relatively independent user group, which serves as the basis for authority allocation.

[0032] Specifically, the steps include:

[0033] Step 4.1: Initialization.

[0034] First, treat each point as a community, and then optimize the modularity. Keep traversing all nodes, save the communities with positive modularity gain each time, then traverse the adjacent nodes to record the changes in modularity, and then change the community number of the node to the community number with the maximum gain. Move the node out of the current community and add the node to the new community. Record the modularity contribution of each node.

[0035] Step 4.2: Iterative merging.

[0036] By traversing the communities and nodes in the communities, the weights and numbers of the nodes are obtained. Then all non-empty communities are traversed to obtain the weights between communities, and then the communities are updated.

[0037] Step 5: Perform consistency check on the commitment.

[0038] Specifically, the steps include:

[0039] Step 5.1: The system first verifies the user's digital identity credentials.

[0040] The user digitally signs the request using his or her DID private key. The system verifies the validity of the signature and confirms whether the user's attribute commitment is consistent with that stored on the blockchain and whether it meets the community detection strategy.

[0041] Step 5.2: The system checks whether the user information summary provided by the data owner is consistent with that stored on the blockchain.

[0042] Step 6: Assign permissions to data owners.

[0043] Specifically, the steps include:

[0044] Step 6.1: Check whether the previous identity authentication and commitment consistency checks have passed;

[0045] Step 6.2: The system assigns corresponding access rights to users based on the community to which they belong.

[0046] Step 7. Dynamically adjust data owner permissions.

[0047] Specifically, the steps include:

[0048] Step 7.1: The attributes and social relationships of the data owner change;

[0049] Step 7.2: The system periodically re-tests the community and dynamically adjusts user permissions based on the test results.

[0050] Beneficial Effects

[0051] Compared with the prior art, the method of the present invention has the following advantages:

[0052] 1. This method uses the decentralized and tamper-proof characteristics of blockchain to achieve distributed management of identity authentication, avoiding the problems of single point failure and centralized authorization. By deploying smart contracts on the blockchain, dynamic authorization and revocation of identities are achieved, introducing flexibility and controllability to identity management. The consensus mechanism of the blockchain ensures the reliability and consistency of identity authentication information and enhances the security of the system.

[0053] 2. This method constrains the data uploaded by the data owner through vector commitment technology, and then stores the committed data on the blockchain, which protects the privacy of the data owner and realizes the verifiability and traceability of the data, providing a reliable data foundation for subsequent community analysis and management.

[0054] 3. This method combines community search algorithms to fully mine individual activity information recorded in digital identities, enrich the analysis dimensions of community characteristics, divide communities more accurately, and improve the accuracy of community detection results. At the same time, differentiated identity authority management is achieved based on the user's status and role in the community. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] Figure 1 It is a schematic diagram of the process of the present invention. DETAILED DESCRIPTION

[0056] The following figure further illustrates the method of the present invention in detail in combination with the accompanying drawings and embodiments.

[0057] Example

[0058] like Figure 1 As shown, a blockchain-enabled community detection encryption method. This embodiment elaborates on the community detection encryption process in the blockchain-enabled identity authority management scenario.

[0059] In the scenario of enterprise employee project authority allocation, employees are users and managers are data owners. It is now necessary to allocate various authorities to new projects and determine leaders based on previous data to ensure that the results are fair, just and open. Its service capabilities are reflected by the time and economic cost of executing the service.

[0060] Step 1: User registration application, obtain verifiable credentials, and upload them to the blockchain.

[0061] Users can verify their credentials by registering and obtaining an authoritative certificate. This verifiable credential is a blockchain-based digital credential that is issued by a trusted third-party organization and can be independently verified for authenticity. Each verifiable credential contains some of the user's attributes, including education, work, skill certificates, place of residence and other personal information.

[0062] Step 1.1: The user generates his own DID identifier and private key through the DID service on the blockchain;

[0063] Step 1.2: The user applies for and obtains a verifiable credential containing his or her attribute information through the DID service.

[0064] exist Figure 1 In the process, users receive verifiable credentials issued by three authoritative institutions: company, department, and community, which eventually converge into relatively complete user attributes of digital identity. For example, the user's company is Company A, he works in the development department, his specific job is product development, and his residence is Community A.

[0065] Step 2: The user generates a commitment based on his or her own attributes and uploads it to the blockchain.

[0066] Step 2.1: The user uses the vector commitment technology to calculate the commitment value of his attribute information and obtain the attribute commitment. The attribute commitment is a digital summary of the user's attribute information, which can uniquely identify the user's attribute set but will not disclose the specific attribute content;

[0067] Step 2.2: The user uploads the attribute commitment to the blockchain for storage and digitally signs it with his / her own DID private key. This ensures the integrity and ownership of the attribute commitment, that is, these commitments are indeed generated by the user and have not been tampered with, thus facilitating the final verification of the user's attributes.

[0068] Step 3: The data owner provides some user information.

[0069] Step 3.1: After the user obtains the verifiable credentials and generates the attribute commitment, the data owner participates. The data owner has some of the user's personal information. For example, a department manager may obtain the work unit, position, and internal social relationship information of all employees in the department. The data provided by the data owner is used to calculate the vector value through the vector commitment technology to obtain the information summary.

[0070] Step 3.2: The data owner uploads the information summary to the blockchain for storage and authenticates it with his own digital signature. This ensures the source and integrity of these information summaries.

[0071] Step 4: You can use the Louvain algorithm to perform cluster analysis on users, identify the association patterns between users, and divide users into different communities. Each community represents a relatively independent user group and can serve as the basis for permission allocation.

[0072] Step 4.1: Initialization.

[0073] First, treat each point as a community, and then optimize the modularity. Keep traversing all nodes, save the communities with positive modularity gain each time, then traverse the adjacent nodes to record the changes in modularity, and then change the community number of the node to the community number with the maximum gain. Move the node out of the current community and add the node to the new community. Record the modularity contribution of each node.

[0074] Step 4.2: Iterative merging.

[0075] Traverse the communities and nodes in the communities, obtain the weights and numbers of the nodes. Then traverse all non-empty communities, obtain the weights between communities, and then update the communities. Figure 1 The data provided by the data owner is shown in Table 1. First, the six employees are divided according to the department. Then, the trust between employees and the frequency of direct communication between employees are used as weights, and three different communities are divided according to the degree of job competence. Finally, it is determined that user A in department A is more suitable for the job.

[0076] Step 5: Perform consistency check on the commitment.

[0077] Step 5.1: The system first verifies the user's digital identity credentials. The user digitally signs the request with his or her DID private key, and the system verifies the validity of the signature, confirms whether the user's attribute commitment is consistent with that stored on the blockchain, and whether it meets the community detection strategy.

[0078] Step 5.2: The system checks whether the user information summary provided by the data owner is consistent with that stored on the blockchain.

[0079] Step 6: Assign permissions to data owners.

[0080] Step 6.1: Check whether the previous identity authentication and commitment consistency checks have passed;

[0081] Step 6.2: If both the identity verification and commitment consistency checks are passed, the system assigns the appropriate access rights to the user based on the community to which the user belongs. Each community has a different set of permissions, reflecting the needs of different user groups. The user's access rights will be dynamically determined based on their attributes.

[0082] Figure 1 In the A department, user A will be granted the permissions of "assign permissions, modify projects, and view projects", while user B, user D, and user E will be granted the permission of "view projects". This allows for more fine-grained control of user access rights and allows permissions to be adjusted at any time based on changes in user attributes.

[0083] Step 7: Dynamically adjust data owner permissions.

[0084] Step 7.1: The data owner’s attributes and social relationships change. For example, the user may switch to another company or be promoted to a higher position;

[0085] Step 7.2: To ensure that permission allocation always reflects the latest status of the user, the system needs to re-detect the community regularly and dynamically adjust the user's permissions based on the detection results. When the user's community affiliation changes, the system adjusts its permission set accordingly to adapt to the new role and needs. This dynamic permission management mechanism ensures that the system is always in the optimal permission configuration state, avoiding the problem of permission abuse or insufficient permissions. At the same time, it reduces the workload of system administrators, eliminating the need to manually manage the permissions of each user.

[0086] The characters involved in the method in this embodiment are shown in Table 1:

[0087] Table 1 Character Description

[0088]

[0089]

[0090] In step 2, the user generates a commitment method as follows:

[0091] Input: p,g,h,x,r

[0092] Output: C,

[0093] (1)g←g1*g2*...*gn

[0094] (2)h←h1*h2*...*hn

[0095] (3)x←x1+x2+...+xn

[0096] (4)r←r1+r2+...+rn

[0097] (5)C←g^x*h^r(mod p)

[0098] (6)return C

[0099] The input ciphertext p, g, h, x, r refers to the three system parameters of the algorithm in the permission allocation, the user attributes, and the user-defined random numbers. Select two large prime numbers p and q, where q is a factor of p-1. This ensures that the computational complexity of calculating discrete logarithms on the ring modulo p is high enough. Then, select a generator g that satisfies the order of g is p-1. After that, select another generator h to ensure that h and g are generated independently and h cannot be expressed as a power of g. Then, (p, g, h) is made public as the public parameters of the vector commitment scheme. Let the user's attribute be x_i, then all the user's attribute information constitutes a vector x=(x_1,x_2,...,x_n). The user generates n random numbers as a vector r=(r_1,r_2,...,r_n) as the randomization factor of the commitment to protect the privacy value. Then, the user calculates the commitment value C, C = g^x*h^r (mod p), where g^x represents g to the power of x, h^r represents h to the power of r, and the product of the two is modulo p to get the final commitment value C. The user uploads (C, r) as a commitment to the blockchain, where C is the commitment value and r is the randomization factor. The user retains x as his own attribute information.

[0100] The community detection method in step 4 is as follows:

[0101] (1) m = 0\;

[0102] (2)For{vid in G.keys()}

[0103] (3)

[0104] (4)cid\_vertices[vid] = {vid}\;

[0105] (5)vid\_vertex[vid] = Vertex(vid, vid, {vid})\;

[0106] (6) \\Calculate the number of edges\;

[0107] (7)}

[0108] (8) \\Modular optimization stage\;

[0109] (9)\For{v\_vid in visit\_sequence}

[0110] (10)

[0111] (11)v\_cid = vertex[v\_vid].\_cid\;

[0112] (12)k\_v = sum(G[v\_vid].values()) + vid\_vertex[v\_vid].\_kin\; (13)cid\_Q = \{\}\;

[0113] (14)\For{w\_vid in G[v\_vid].keys()}

[0114] (15)

[0115] (16)w\_cid = vid\_vertex[w_vid].\_cid\;

[0116] (17)\If{w\_cid in cid\_Q}

[0117] (18)

[0118] (19) continue\;

[0119] (20)}

[0120] (21)\Else

[0121] (twenty two){

[0122] (23)\\Tot is the sum of the link weights associated with the nodes in community C. \;

[0123] (24)\\k\_v\_in is the sum of links between node i and node C. \;

[0124] (25)delta\_Q = k\_v\_in - k\_v * tot / m \;

[0125] (26)cid\_Q[w\_cid] = delta\_Q \;

[0126] (27)}

[0127] (28)\EndIf

[0128] (29)}

[0129] (30)\\Get the number of the maximum gain cid max\_delta\_Q\;

[0130] (31)\If{max\_delta\_Q\geq 0.0and cid\neq v\_cid}

[0131] (32)

[0132] (33)vid\_vertex[v\_vid].\_cid = cid \;

[0133] (34)cid\_vertices[cid].add(v\_vid)\;

[0134] (35)cid\_vertices[v\_cid].remove(v\_vid)\;

[0135] (36)}

[0136] (37)\EndIf

[0137] (38)}

[0138] (39)Network cohesion stage\;

[0139] (40)\For{cid,vertices in cid\_vertices.items()}

[0140] (41)

[0141] (42)new\_vertex = Vertex(cid, cid, set()) \;

[0142] (43)\\Consider all points in the neighborhood as one point\;

[0143] (44)\For{vid in vertices}

[0144] (45)

[0145] (46) Traverse each neighboring node of vid in the community network and calculate the total weight\ in the community network;

[0146] (47)}

[0147] (48)cid\_vertices[cid] = {cid} \;

[0148] (49)vid\_vertex[cid] = new\_vertex\;

[0149] (50)}

[0150] (51)G = collections.defaultdict(dict) \;

[0151] (52) \\Iterate over the community numbers that are now not empty and find the weights of the edges between communities. \;

[0152] (53) \\Update communities and points, treating each community as a point\;

[0153] The above includes two stages:

[0154] Initialization phase. First, treat each point as a community, obtain the community number cid_vertices, node number vid_vertex and edge number m of these communities. Then optimize the modularity, and continuously traverse all nodes. Each time, first obtain the community number v_cid and weight k_v of the node, and save the community with positive modularity cid_Q gain, then traverse the adjacent nodes to record the change of modularity cid_Q, and then change the community number vid of the node to the community number cid with the maximum gain, remove the node from the current community, and add the node to the new community. At the same time, record the modularity contribution \Delta Q_i of each node.

[0155] Iterative merging phase. By traversing the communities and nodes within the communities, obtain the node weight k and number vid, then traverse all non-empty communities, obtain the weights between communities, and then update the communities. Specifically, for each node i, calculate the modularity increment \Delta Q{i,j} obtained after moving i to the adjacent community j. Select the community j that maximizes \Delta Q_{i,j} and move node i to this community. Repeat the above steps until the modularity Q cannot be increased any further.

[0156] Through the iteration of these two stages, the Louvain algorithm will eventually find a node partition that maximizes the modularity Q, that is, the optimal community structure. This algorithm is very efficient because it uses a bottom-up hierarchical approach. In the first stage, each node is a community, and then the modularity is improved by merging adjacent communities. In the second stage, the community obtained in the previous step is used as a new node, and the merging process of the first step is repeated until the modularity can no longer be improved. This hierarchical approach makes the time complexity of the Louvain algorithm reach O(n\log n), which is very efficient.

Claims

1. A blockchain-enabled community detection encryption method, characterized in that: It includes users obtaining verifiable credentials, user attribute generation commitment, data owners providing partial user information, community detection, commitment consistency check, authority allocation, and dynamic authority adjustment; Step 1: User registration application, obtain verifiable credentials, and upload to the blockchain; Step 2: User attributes generate commitments and upload them to the blockchain; Step 3: The data owner provides some user information; Step 4: Perform cluster analysis on users, identify the association patterns between users, and divide users into different communities; each community represents a relatively independent user group, which serves as the basis for authority allocation; Step 5: Check the consistency of the commitment; Step 6: Assign permissions to data owners; Step 7: Dynamically adjust data owner permissions.

2. A blockchain-enabled community detection encryption method as claimed in claim 1, characterized in that: Step 1 includes: Step 1.1: The user generates his or her own DID identifier and private key through the DID service on the blockchain, where DID stands for distributed identity identification; Step 1.2: The user applies for and obtains a verifiable credential containing his or her attribute information through the DID service.

3. A blockchain-enabled community detection encryption method as claimed in claim 1, characterized in that: Step 2 includes: Step 2.1: The user calculates the commitment value of his / her attribute information through the vector commitment technology to obtain the attribute commitment; Step 2.2: The user uploads the attribute commitment to the blockchain for storage and digitally signs it using his or her own DID private key, where DID stands for distributed identity.

4. A blockchain-enabled community detection encryption method as claimed in claim 1, characterized in that: Step 3 includes: Step 3.1: The data provided by the data owner is used to calculate the vector value through the vector commitment technology to obtain the information summary; Step 3.2: The data owner uploads the information summary to the blockchain for storage and authenticates it with his or her own digital signature.

5. A blockchain-enabled community detection encryption method as claimed in claim 1, characterized in that: Step 4 includes: Step 4.1: Initialization; First, each point is considered as a community, and then the modularity is optimized; all nodes are continuously traversed, and each traversal saves the community with positive modularity gain, and then the adjacent nodes are traversed to record the change of modularity, and then the community number of the node is changed to the community number with the maximum gain; the node is removed from the current community and added to the new community; the modularity contribution of each node is recorded; Step 4.2: Iterative merging; By traversing the communities and the nodes in the communities, the weights and numbers of the nodes are obtained; then all non-empty communities are traversed to obtain the weights between communities, and then the communities are updated.

6. A blockchain-enabled community detection encryption method as claimed in claim 1, characterized in that: Step 5 includes: Step 5.1: The system first verifies the user's digital identity credentials; The user digitally signs the request using his or her DID private key, where DID stands for distributed identity identification; the system verifies the validity of the signature and confirms whether the user's attribute commitment is consistent with that stored on the blockchain and whether it meets the community detection strategy; Step 5.2: The system checks whether the user information summary provided by the data owner is consistent with that stored on the blockchain.

7. A blockchain-enabled community detection encryption method as claimed in claim 1, characterized in that: Step 6 includes: Step 6.1: Check whether the previous identity authentication and commitment consistency checks have passed; Step 6.2: The system assigns corresponding access rights to users based on the community to which they belong.

8. A blockchain-enabled community detection encryption method as claimed in claim 1, characterized in that: Step 7 includes: Step 7.1: The attributes and social relationships of the data owner change; Step 7.2: The system periodically re-tests the community and dynamically adjusts user permissions based on the test results.

Citation Information

Patent Citations

  • Decentralized privacy protection method

    CN110046521A

  • Matrix commitment privacy protection method based on heterogeneous graph

    CN117375890A

  • Private data security sharing method based on block chain

    CN117692227A

  • Privacy protection distributed digital identity management method based on block chain

    CN118940316A

  • Honest behavior enforcement via blockchain

    US20220278845A1