A blockchain-enabled community detection encryption method
By using blockchain technology and smart contracts to dynamically authorize and manage permissions in a distributed identity management system, combined with community search algorithms, the problems of poor dynamism of identity information and privacy leakage risks in the distributed identity management system are solved, and efficient and secure identity and permission management is achieved.
Patent Information
- Application Number
- CN202510022273.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-07
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2045-01-07
AI Technical Summary
In distributed identity management systems, user identity information is not dynamic, the risk of privacy leakage is high, and there is a lack of effective trusted authentication and authorization mechanisms, making it difficult to balance system security and privacy protection.
This approach utilizes blockchain technology for distributed identity authentication, combines smart contracts for dynamic authorization, leverages vector commitment technology to constrain data, and incorporates community search algorithms for differentiated permission management. By recording user attribute commitments on the blockchain and conducting community checks, a reliable trust mechanism is established.
It achieves flexibility and controllability in identity management, improves the accuracy and efficiency of identity and access control, ensures the security of user privacy and the reliability of the system, and can more accurately divide communities and dynamically adjust permissions.
Smart Images

Figure CN120017316B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a blockchain-enabled community detection encryption method, belonging to the field of privacy protection and identity information management technology. Background Technology
[0002] Digital identity is an important means of communication, providing a clear representation of online entities in a network environment. A personal digital identity is typically established through a combination of personal attribute information, taking the form of a unique account within a system or platform. The emergence of identity-based social networks further enables users to connect through various online activities, such as creating virtual profiles and sharing content, as well as establishing relationships through network connection mapping.
[0003] Traditionally, digital identities have been built in a centralized manner, which presents numerous challenges to the credibility, governance, and interoperability of user identities within social networks. Establishing mutual trust between platforms becomes particularly challenging when services are provided between untrusted nodes or participants. Previous research has attempted to improve credibility 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 Recognition (DID) offers an alternative to centralized systems, mitigating their inherent drawbacks. The decentralized nature of DID provides several desirable features compared to centralized systems, such as avoiding reliance on centralized authority. Distributed digital identities record an individual's basic information, social relationships, and activity logs, all of which can serve as crucial input for community modeling and analysis. An individual's role and influence within the community can be extracted from their digital identity for community feature analysis. This digital identity data provides essential foundational information for community detection methods.
[0005] However, traditional identity management methods are ill-suited to complex social relationships and changing roles. In large-scale distributed systems, user identity information is highly dynamic and fragmented, with users playing different roles and having varying permissions in different scenarios. This poses a significant challenge to traditional centralized identity management systems, as a single identity management approach struggles to cope with this complexity. In distributed systems, user privacy data is widely dispersed across various nodes, making effective control over data access permissions and usage scope a major challenge. Due to the highly dispersed nature of the data, establishing a unified access control mechanism is difficult; different nodes may adopt different privacy protection strategies, resulting in a lack of a holistic perspective. In the event of data breaches or misuse, it is difficult to quickly locate the problem and take remedial measures. Users desire greater control and decision-making power over their identity information. Finding a balance between protecting user privacy and ensuring system security has become a pressing technical issue.
[0006] Furthermore, in a distributed environment, users may possess multiple identities, making it crucial to grant differentiated permissions based on these identities a significant challenge. Without a trusted authentication mechanism, malicious users can easily impersonate legitimate individuals to perform unauthorized operations. This not only threatens system security but also undermines the foundation of trust within the entire ecosystem. This means that the unreliability of data owners must be considered before granting authorization. Malicious community data owners can alter community information in uploaded data, leading to users receiving incorrect community classifications, wasting computing power, and even increasing the likelihood of a particular user gaining more privileges through data modification. Establishing reliable identity authentication and authorization mechanisms in a decentralized environment lacking centralized management is also a critical challenge. If the trust mechanism is inadequate, malicious users can easily impersonate others, jeopardizing the security of the entire system. Summary of the Invention
[0007] The purpose of this invention is to address the lack of dynamism and the risks of tampering and privacy leakage in existing distributed digital identity management systems by creatively proposing a blockchain-enabled community detection encryption method.
[0008] This method, while constraining the behavior of data owners in community monitoring, protects the security of users' digital identity information and establishes a new decentralized trust mechanism. First, it utilizes blockchain technology to achieve distributed identity authentication and leverages smart contracts for dynamic authorization. On the data side, it introduces vector commitment technology to constrain the data uploaded by data owners, and places the committed data 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. Furthermore, by combining a community search algorithm, it achieves differentiated identity permission management based on users' status and roles within the community, significantly improving the accuracy and efficiency of management.
[0009] This method enables a better understanding of users' relationships and behavioral patterns within the community, leading to more appropriate privacy policies. By differentiating identity and access permissions based on users' status and roles within the community, it significantly improves the accuracy and efficiency of management. For example, privacy permissions can be more lenient for core community members, while stricter privacy protection measures can be implemented for peripheral members. Simultaneously, community search algorithms can help more accurately assess users' community status and influence, and by combining this with users' digital identity information, it enables more intelligent trust assessment and management.
[0010] By mining social network data within digital identities, individuals belonging to the same community can be identified more accurately. Simultaneously, the individual activity information recorded within digital identities can further enrich the analysis of community characteristics, thereby optimizing the performance of community detection algorithms. For example, identity features based on community roles can help to more accurately segment communities, improving the accuracy of detection results. Besides providing data support for community analysis, community detection and search algorithms themselves can also optimize the management of digital identities. Community detection algorithms can discover groups of individuals with strong connections, which helps in the more rational organization and access control of digital identities. For instance, differentiated digital identity permissions and privacy policies can be granted to individuals in different communities. This not only improves the efficiency of digital identity management but also better protects individual privacy.
[0011] To achieve the above objectives, the present invention adopts the following technical solution.
[0012] First, the relevant concepts or definitions involved in the method of the present invention will be explained.
[0013] (1) Data Owner. The data owner is responsible for providing information about users requiring access control. This information may include the user's workplace, position, trust level, communication frequency, etc., and is a crucial basis for the system's access control allocation. The data owner must first collect and organize the relevant user information, ensuring its accuracy and timeliness. After collecting user information, the data owner calculates the commitment value of the entire data and uploads it to the blockchain network, creating a verifiable digital record. This ensures the integrity and immutability of user information, preventing malicious modification during transmission or storage. Furthermore, the data owner must regularly update user information, promptly reflecting employee changes such as onboarding, resignation, and job adjustments. These updates also require calculating commitment values and uploading them to the blockchain network to ensure the access control system always has the latest user information.
[0014] (2) Blockchain. Blockchain plays a crucial role in distributed access control schemes. It provides users with DID (Digital Identity) identifiers and private keys, and stores user attribute commitments and user information provided by data owners. First, the blockchain generates unique DID identifiers and private keys for users, allowing them to manage and control their digital identity information. Second, the blockchain stores attribute commitments submitted by users and data owners. When a user calculates the commitment value of their attribute information and uploads it to the blockchain network, the blockchain records these attribute commitments. These attribute commitments will play a key role in subsequent access control verification processes.
[0015] (3) Community Detection System. The community detection system is a key module in distributed access control, responsible for classifying users into communities based on their attribute information. The results of this community classification become an important basis for the access control system to allocate access permissions. The community detection system first obtains user attribute information from the data provided by the data owner. This attribute information is used as input and processed and analyzed by the community detection algorithm. The community detection algorithm uses an improved Louvain algorithm, which classifies users into different communities based on the similarity of their attributes. Users with higher attribute similarity are more likely to be classified into the same community. The purpose is to identify user groups with common characteristics. For example, one community may contain all management personnel of a company, who have similar job responsibilities and permission requirements. Another community may contain R&D personnel within the company who need access to technical resources different from those of the management. The community detection system needs to run this community detection algorithm regularly to dynamically adjust users' community affiliation, reflect changes in user attributes in a timely manner, and ensure that permission allocation always matches the actual needs of users.
[0016] (4) Commitment Verification Module. This module verifies user access requests to ensure they comply with pre-defined commitments and policies. When a user sends an access request to a resource provider, the provider forwards the request to the commitment verification module for review.
[0017] The commitment verification module checks the following: whether the requesting user's identity has been verified by a trusted DID; whether the user has the attributes required to access the resource; and whether the data provided by the data owner is authentic. If all conditions are met, the commitment verification module sends an authorization ticket to the resource provider, indicating that the request has been verified and access is permitted. Conversely, if any condition is not met, the commitment verification module rejects the access request and notifies the resource provider to deny access.
[0018] A blockchain-enabled community detection encryption method includes user obtaining verifiable credentials, user attribute generating commitments, data owner providing partial user information, community detection, commitment consistency check, permission allocation, and dynamic permission adjustment.
[0019] Step 1: User registration application, obtaining verifiable credentials, and uploading them to the blockchain.
[0020] Specifically, it includes the following steps:
[0021] Step 1.1: Users generate their own DID identifier and private key through the DID service on the blockchain;
[0022] Step 1.2: Users apply for and obtain verifiable credentials containing their own attribute information through the DID service.
[0023] Step 2: Generate commitments based on user attributes and upload them to the blockchain.
[0024] Specifically, it includes the following steps:
[0025] Step 2.1: The user calculates the commitment value of their attribute information using vector commitment technology, thus obtaining the attribute commitment;
[0026] Step 2.2: The user uploads the attribute commitment to the blockchain for storage and digitally signs it using their own DID private key.
[0027] Step 3: The data owner provides some user information.
[0028] Specifically, it includes the following steps:
[0029] Step 3.1: The data provided by the data owner is used to calculate vector values using vector commitment techniques to obtain a message digest;
[0030] Step 3.2: The data owner uploads the message digest to the blockchain for storage and uses their own digital signature for authentication.
[0031] Step 4: Perform cluster analysis on users (using algorithms such as Louvain's algorithm) to identify patterns of association between users and divide them into different communities. Each community represents a relatively independent group of users, serving as the basis for permission allocation.
[0032] Specifically, it includes the following steps:
[0033] Step 4.1: Initialization.
[0034] First, treat each node as a community, and then optimize the modularity. Iterate through all nodes, saving the communities with positive modularity gain at each iteration. Then, iterate through adjacent nodes, recording the changes in modularity. Finally, change the node's community number to the community number that yielded the maximum gain. Remove the node from its current community and add it to a new community. Record the modularity contribution of each node.
[0035] Step 4.2: Iterative merging.
[0036] By traversing the communities and their nodes, the weights and numbers of the nodes are obtained. Then, all non-empty communities are traversed to obtain the weights between communities, and finally, the communities are updated.
[0037] Step 5: Perform a consistency check on the commitment.
[0038] Specifically, it includes the following steps:
[0039] Step 5.1: The system first verifies the user's digital identity credentials.
[0040] Users digitally sign their requests using their DID private key. The system verifies the validity of the signature, confirms whether the user's attribute commitments are consistent with those stored on the blockchain, and whether they meet the community's 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, it includes the following steps:
[0044] Step 6.1: Check whether the previous authentication and commitment consistency checks have passed;
[0045] Step 6.2: The system assigns appropriate access permissions to users based on their community.
[0046] Step 7. Dynamically adjust data owner permissions.
[0047] Specifically, it includes the following steps:
[0048] Step 7.1: The attributes and social relationships of the data owner change;
[0049] Step 7.2: The system periodically re-performs community checks and dynamically adjusts user permissions based on the check results.
[0050] Beneficial effects
[0051] The method of the present invention has the following advantages compared with the prior art:
[0052] 1. This method leverages the decentralized and immutable characteristics of blockchain to achieve distributed management of identity authentication, avoiding single points of failure and centralized authorization issues. By deploying smart contracts on the blockchain, dynamic authorization and revocation of identities are achieved, introducing flexibility and controllability to identity management. The blockchain's consensus mechanism ensures the reliability and consistency of identity authentication information, enhancing system security.
[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. This protects the privacy of the data owner and achieves 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, enriching the analytical dimensions of community features, more accurately segmenting communities, and improving the accuracy of community detection results. Simultaneously, it achieves differentiated identity and access control based on users' status and roles within the community. Attached Figure Description
[0055] Figure 1 This is a flowchart illustrating the method of the present invention. Detailed Implementation
[0056] The method of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments.
[0057] Example
[0058] like Figure 1 As shown, a blockchain-enabled community detection encryption method is presented. This embodiment elaborates on the community detection encryption process in a blockchain-enabled identity and access management scenario.
[0059] In the scenario of allocating project permissions to enterprise employees, employees are users and managers are data owners. Now, it is necessary to allocate various permissions to new projects based on past data and determine the leader to ensure the fairness, impartiality and transparency of the results. The service capability is reflected by the time and economic cost of executing the service.
[0060] Step 1: User registration application, obtaining verifiable credentials, and uploading them to the blockchain.
[0061] Users can register and obtain authoritative verification credentials to validate their credentials. These verifiable credentials are blockchain-based digital certificates issued by trusted third-party institutions and whose authenticity can be independently verified. Each verifiable credential contains some of the user's attributes, including personal information such as education, employment, skills certificates, and place of residence.
[0062] Step 1.1: Users generate their own DID identifier and private key through the DID service on the blockchain;
[0063] Step 1.2: Users apply for and obtain verifiable credentials containing their own attribute information through the DID service.
[0064] exist Figure 1 In this system, users receive verifiable credentials issued by three authoritative institutions: their company, their department, and their community. These credentials ultimately converge to form a relatively complete digital identity and user attributes. For example, the user's company is Company A, they work in the development department, their specific job is product development, and their residence is Community A.
[0065] Step 2: Users generate commitments based on their attributes and upload them to the blockchain.
[0066] Step 2.1: The user calculates the commitment value using vector commitment technology to obtain the attribute commitment. An attribute commitment is a digital digest of the user's attribute information; it uniquely identifies the user's set of attributes without revealing the specific attribute content.
[0067] Step 2.2: The user uploads the attribute commitment to the blockchain for storage and digitally signs it using their own DID private key. This ensures the integrity and ownership of the attribute commitment, meaning that these commitments were 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 verifiable credentials and generates an attribute commitment, the data owner participates. The data owner possesses some of the user's personal information; for example, a department manager might have information such as the work units, positions, and internal social relationships of all employees in their department. The data provided by the data owner is used to calculate vector values using vector commitment techniques to obtain a message digest.
[0070] Step 3.2: The data owner uploads the message digest to the blockchain for storage and authenticates it using their own digital signature. This ensures the source and integrity of these message digests.
[0071] Step 4: The Louvain algorithm can be used 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, which can serve as the basis for permission allocation.
[0072] Step 4.1: Initialization.
[0073] First, treat each node as a community, and then optimize the modularity. Iterate through all nodes, saving the communities with positive modularity gain at each iteration. Then, iterate through adjacent nodes, recording the changes in modularity. Finally, change the node's community number to the community number that yielded the maximum gain. Remove the node from its current community and add it to a new community. Record the modularity contribution of each node.
[0074] Step 4.2: Iterative merging.
[0075] Iterate through the communities and their nodes, obtaining the node weights and IDs. Then, iterate through all non-empty communities, obtaining the weights between them, and finally update the community rankings. Figure 1 The data provided by the data owner is shown in Table 1. First, the six employees were divided into departments. Then, based on the trust between employees and the frequency of direct communication between employees, three different communities were divided according to their competence in the job. Finally, it was determined that user A was more suitable for the job in department A.
[0076] Step 5: Perform a 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 using their DID private key. The system verifies the validity of the signature, confirms whether the user's attribute commitments are consistent with those stored on the blockchain, and whether they meet 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 authentication and commitment consistency checks have passed;
[0081] Step 6.2: If authentication and commitment consistency checks pass, the system assigns appropriate access permissions to the user based on their community. Each community has a different set of permissions, reflecting the needs of different user groups. Access permissions will be dynamically determined based on the user's attributes.
[0082] Figure 1 In Department A, user A will be granted the permissions to "assign permissions, modify projects, and view projects," while users B, D, and E will be granted the permission to "view projects." This allows for more granular control over user access permissions and enables adjustments to permissions based on changes in user attributes.
[0083] Step 7: Dynamically adjust data owner permissions.
[0084] Step 7.1: The attributes and social relationships of the data owner change. For example, the user may switch jobs to another company or be promoted to a higher position;
[0085] Step 7.2: To ensure that permission allocation always reflects the user's latest status, the system needs to periodically re-perform community checks and dynamically adjust user permissions based on the check results. When a user's community affiliation changes, the system adjusts their permission set accordingly to adapt to the new role and requirements. This dynamic permission management mechanism ensures that the system is always in an optimal permission configuration state, avoiding problems such as permission abuse or insufficient permissions. At the same time, it reduces the workload of system administrators, eliminating the need for them 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 three system parameters of the algorithm used in permission allocation, user attributes, and user-defined random numbers. Two large prime numbers p and q are chosen, where q is a factor of p-1. This ensures that the computational complexity of calculating the discrete logarithm modulo p is sufficiently high. Then, a generator g is chosen, satisfying that g has an order of p-1. Next, another generator h is chosen, ensuring that h and g are generated independently, and h cannot be expressed as a power of g. Then, (p, g, h) is publicly disclosed as the common 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, forming a vector r = (r_1, r_2, ..., r_n), which serve as randomization factors for the commitment, used to protect privacy values. Then, the user calculates the commitment value C, C = g^x * h^r (mod p), where g^x represents g raised to the power of x, and h^r represents h raised to the power of r. The product of the two and taking the modulo p yields the final commitment value C. The user uploads (C, r) as the commitment to the blockchain, where C is the commitment value and r is the randomization factor. The user retains x as their own attribute information.
[0100] The community testing 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 sides;
[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 link weights related to nodes in community C.
[0123] (24)\\k_v_in is the total number 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 ID 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) Treat all points in the neighborhood as a single point.
[0143] (44) For {vid in vertices}
[0144] (45){
[0145] (46) Traverse each neighbor node of vid in the community network and calculate the total weight of 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 through the currently non-empty community IDs 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, each node is treated as a community, and its community ID (cid_vertices), node ID (vid_vertex), and number of edges (m) are obtained. Then, modularity is optimized by iterating through all nodes. In each iteration, the community ID (v_cid) and weight (k_v) of the node are obtained, and communities with positive modularity (cid_Q) gains are saved. Next, adjacent nodes are traversed, and the changes in modularity (cid_Q) are recorded. Then, the node's community ID (vid) is changed to the community ID (cid) that yields the maximum gain. The node is removed from its current community and added to a new community. Simultaneously, the modularity contribution (Delta Q_i) of each node is recorded.
[0155] Iterative merging phase. By traversing the communities and nodes within each community, the weight k and index vid of each node are obtained. Then, all non-empty communities are traversed to obtain the weights between communities, and the communities are updated. Specifically, for each node i, the modularity increment ΔQi,j is calculated after moving i to the adjacent community j. The community j that maximizes ΔQi,j is selected, and node i is moved to that community. The above steps are repeated until the modularity Q can no longer be increased.
[0156] Through these two iterative phases, the Louvain algorithm eventually finds a node partition that maximizes the modularity Q, resulting in the optimal community structure. This algorithm is highly efficient because it employs a bottom-up hierarchical approach. In the first phase, each node represents a community, and modularity is increased by merging adjacent communities. In the second phase, the communities obtained in the previous step are treated as new nodes, and the merging process from the first step is repeated until no further improvement in modularity is possible. This hierarchical approach allows the Louvain algorithm to achieve a time complexity of O(n log n), making it extremely efficient.
Claims
1. A blockchain-enabled community detection encryption method, characterized in that, This includes user obtaining verifiable credentials, user attribute generating commitments, data owner providing partial user information, community testing, commitment consistency checks, permission allocation, and dynamic permission adjustment; Step 1: User registration application, obtaining verifiable credentials, and uploading them to the blockchain; Step 2: Generate commitments based on user attributes and upload them to the blockchain; Step 2.1: The user calculates the commitment value of their attribute information using vector commitment technology, thus obtaining the attribute commitment; Step 2.2: The user uploads the attribute commitment to the blockchain for storage and digitally signs it using their own DID private key, where DID stands for Distributed Identity Recognition; Step 3: The data owner provides some user information; Step 3.1: The data provided by the data owner is used to calculate vector values using vector commitment techniques to obtain a message digest; Step 3.2: The data owner uploads the message digest to the blockchain for storage and uses their own digital signature for authentication; Step 4: Perform cluster analysis on users to 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 permission allocation; Step 4.1: Initialization; First, treat each node as a community, and then optimize the modularity. Iterate through all nodes, and each time iterates through the community with positive modularity gain. Then iterate through the adjacent nodes to record the change in modularity. Then change the community number of the node to the community number that has the maximum gain. Remove the node from its current community and add the node to the new community. Record the modularity contribution of each node; Step 4.2: Iterative merging; By traversing the community and the nodes within the community, the weight and number of each node are obtained; Then iterate through all non-empty communities, obtain the weights between communities, and then update the communities; Step 5: Perform a consistency check on the commitments; Step 6: Assign permissions to data owners; Step 6.1: Check whether the previous authentication and commitment consistency checks have passed; Step 6.2: The system assigns appropriate access permissions to users based on their community. Step 7: Dynamically adjust data owner permissions; Step 7.1: The attributes and social relationships of the data owner change; Step 7.2: The system periodically re-performs community checks and dynamically adjusts user permissions based on the check results.
2. The blockchain-enabled community detection encryption method as described in claim 1, characterized in that, Step 1 includes: Step 1.1: Users generate their own DID identifier and private key through the DID service on the blockchain, where DID stands for Distributed Identity Recognition; Step 1.2: Users apply for and obtain verifiable credentials containing their own attribute information through the DID service.
3. The blockchain-enabled community detection encryption method as described in claim 1, characterized in that, Step 5 includes: Step 5.1: The system first verifies the user's digital identity credentials; Users digitally sign their requests using their own DID private key, where DID stands for Distributed Identity Recognition; 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; Step 5.2: The system checks whether the user information summary provided by the data owner is consistent with that stored on the blockchain.
Citation Information
Patent Citations
Decentralized privacy protection method
CN110046521A
Matrix commitment privacy protection method based on heterogeneous graph
CN117375890A