# A P2P Scheme for Debating and Voting with Unconditional Flexibility
## 4 Analysis
### Attack Example
If the objective of adversaries is to establish as many aliases as possible, they will fill area 2, which is larger than area 1, with different aliases (the maximum would be \(n\)). The rest of the signatures for each alias must be present in area 1 at least \(h-m=n-2m\) times. Dividing area 1 (\(m(n-m)\)) between \(n-2m\) the maximum number of aliases defined by this method without exceeding \(n\) is obtained. If adversaries achieve more aliases than there are eligible users among said adversaries, that is, at least \(m+1\), inconsistency is possible, which can be expressed as:  
\[\frac{m(n-m)}{n-2m}\geq m+1\equiv m\geq\sqrt{n+1}-1 \tag{4}\]  
Therefore, if \(m<\sqrt{n+1}-1\) adversaries cannot register different aliases, and inconsistency is not possible. In the previous example \(n=6\), therefore the threshold is \(m<\sqrt{6+1}-1=1.6\). In other words, when there are six users the maximum number of adversaries is one and a minimum of five signatures are required for any alias. A single adversary would need four signatures for each alias from honest users besides his/her own. For two aliases it would be eight, and he/she can achieve only five. On the other hand, the example shows that a successful attack can be carried out with two adversaries, just one over the threshold. As can be seen, phase one and the beginning of the next are devoted to obtain valid aliases in the sense that they must accomplish three conditions: representing an eligible user, just one per user, and keeping privacy. **Definition 1**. : _A digital certificate is a valid alias if the next conditions are achieved: (1) The private key belongs to an eligible user. (2) The public key has been sent to the rest of users by a method that prevents them of knowing the sender (privacy). (3) The public key has been checked by the rest of users by a method that avoids multiple aliases for the same user (uniqueness)._  
**Theorem 1**. : _Users will obtain a valid alias per honest user and no more aliases than there are adversaries._  
Proof. : As mentioned above, TLS channels and digital certificates prevent adversaries out of the user list from participating in this scheme; therefore, only eligible users can send their aliases to the rest. In other words, any alias received in this scheme belongs to an eligible user, so first property of valid aliases is accomplished. As aliases reach users by anonymous channels in phase 2, there is no way to relate user with alias by means of how the data is sent (physical traceability). Considering the data there are two exchanges: a blinded message \(b\) from a known sender in phase 1 and a public key, the alias \(a\), signed by the receiver from an unknown sender in phase 2. Individually, none of them is enough to reveal the author: \(b\) is computed with a random and unknown number, \(a\) has nothing linked to the author except an unknown private key, and the signature on \(a\) only throws that he/she is one of the eligible users who were signed in phase 1. (An adversary could make only one signature in this phase to reveal one alias, but he/she will be detected in step 6 and banned.) However, taken together, there is a mathematical relation between \(a\) and \(b\): \(b=a\cdot r^{K_{i}}(mod\;\;n_{i})\). But \(r\) is a random and unknown number. Let \(x\) be any other alias public key and let \(s\) be \((x^{-1}\cdot a)^{K_{i}^{-1}}\cdot r(mod\;\;n_{i})\). Then, if \(s\) is chosen to build the blind signature with \(x\) it follows:  
\[Blind(x,s,K_{i})=x\cdot s^{K_{i}}=x\cdot((x^{-1}\cdot a)^{K_{i}^{-1}}\cdot r )^{K_{i}}(mod\;\;n_{i})=\] \[a\cdot r^{K_{i}}(mod\;\;n_{i})=Blind(a,r,K_{i})\]  
In other words, for any alias \(x\) there is a number \(s\) such that the blind signature \(Blind(x,s,K_{i})\) matches \(b\). Therefore, exchanged data cannot be used to deduce the owner of \(a\). As the receiver cannot link alias with user, the second property of valid aliases is accomplished too.