## 4 Voting Algorithm
### Basic Definition and Rules of the Voting Algorithm
#### 4.2.3 The Initialization of Security Weight  
The allocation principle is based on the user public key grades. The higher the grade, the higher the security coefficient representing the user, and the higher the security weight in the security event. The initial security weight value is set to \(SW_{1}\), \(SW_{2}\), \(SW_{3}\), andfor Basic Grade, Personal Grade, Professional Grade, and Top Grade, respectively. SWL (Security Weight List) is a list of the security weight values of all nodes in a domain. The four grades correspond to different voting weights in the voting algorithm, which are \(VW_{1}\), \(VW_{2}\), \(VW_{3}\), and \(VW_{4}\) for the Basic Grade, Personal Grade, Professional Grade, and Top Grade, respectively. The proportion of votes weight \(VW_{1}\), \(VW_{2}\), \(VW_{3}\), and \(VW_{4}\) is 1:2:3:4. The specific value can be increased proportionally as needed. For four grades of users, the initial security weight value increases according to the grade, and the setting standard is unified and public in the whole network by Audit Institutions. At the same time, the voting weight value \(VW_{i}\) of each grade corresponds to the user's security weight value \(SW_{i}\) one by one. We can derive the value of \(VW_{i}\) from the value of \(SW_{i}\) according to the published rules. For example, when \(SW_{1}=100\), \(SW_{2}=150\), \(SW_{3}=200\), \(SW_{4}=250\), and \(VW_{1}=1\), \(VW_{2}=2\), \(VW_{3}=3\), \(VW_{4}=4\), if a user's security weight is 156, we can infer that his voting weight is 1, or if his \(SW_{i}\)_is 203_, then his voting weight is \(VW_{2}\); i.e., 2. With this mapping rule, we will not store the \(VW_{i}\) values of all user nodes and reduce the system overhead. The setting standard of a specific \(SW_{i}\) value is limited by the following conditions. We assume that \(ET_{i}\) is the number of content error tolerance; according to the rules for security weight increase and decrease, the initial weight value should be set as the following according to the rules above:  
\[SW_{i}-1-2-\cdots-ET_{i}\leq 0\Rightarrow\frac{(1+ET_{i})*ET_{i}}{2}\geq SW_{i}. \tag{1}\]  
When the number of content errors reaches \(ET_{i}\), the weight \(SW_{i}\) is reduced to 0, which is considered as a malicious user, and the public key is revoked. For example, we set \(SW_{1}=100\); then, \(ET_{i}=14\), \(SW_{1}\) is reduced to 0 and meets the Formula (1) conditions. It means that \(SW_{1}\) level users are only allowed to publish less than 14 invalid or incorrect contents; otherwise, they will be considered as malicious users. If the security weight of the higher grades has been reduced to the lower grades, its public key grades will also be degraded. For example, if the _Top-Grade_ user's security weight value is reduced to \(SW_{3}\) due to multiple misbehaving, then its public key grade is reduced to Professional Grade. On the contrary, if the security weight is increased to a higher grade due to good performance, the public key will also be upgraded. The subsequent \(SW_{i}\)_value_ update is based on the table generated during the voting procedure, which is called RVWL (Revocation Voting Weight List). It is an array with each element in the form of three-tuple composed of \(<\)_UID\({}_{x}\)_, \(SW_{xnew}\), \(\alpha_{\mathrm{x}}>\) from all voting users. It is generated and updated by the initiator of the revocation within the valid voting time. After the revocation is successful, it is sent to the SNR node for publication. \(SW_{xnew}\) is the new security weight due to actively reporting misbehavior and malicious behavior to the network, and \(\alpha_{\mathrm{x}}\) is the voting coefficient of users. In the next part of the voting procedure, we will specifically explain the meaning and calculation method of the parameters. Meanwhile, the primary feature of the ICN network is to ensure the fast and effective content search, which means to find the content nearby.