diff --git a/paper/gfs.tex b/paper/gfs.tex index 3d45d68..50eb1c6 100644 --- a/paper/gfs.tex +++ b/paper/gfs.tex @@ -223,7 +223,7 @@ if they are not interested in them directly. The protocol must also incentivize nodes to seed when they do not need anything in particular, as they might have the blocks others want. Thus, -BitFlow nodes send blocks to their peers, optimistically expecting the debt to +BitSwap nodes send blocks to their peers, optimistically expecting the debt to be repaid. But, leeches (free-loading nodes that never share) must be avoided. A simple credit-like system solves the problem: \begin{enumerate} @@ -243,8 +243,8 @@ The differing strategies that BitSwap peers might employ have wildly different effects on the performance of the exchange as a whole. In BitTorrent, while a standard strategy is specified (tit-for-tat), a variety of others have been implemented, ranging from BitTyrant (sharing the least-possible), -to BitThief (exploiting a vulnerability and never share), to PropShare ( -sharing proportionally). A range of strategies (good and malicious) could +to BitThief (exploiting a vulnerability and never share), to PropShare +(sharing proportionally). A range of strategies (good and malicious) could similarly be implemented by BitSwap peers. The choice of function, then, should aim to: @@ -263,7 +263,7 @@ Let the \textit{debt ratio} $ r $ between a node and its peer be: \[ r = \dfrac{\texttt{bytes\_sent}}{\texttt{bytes\_recv}} \] Given $r$, let the probability of sending to a debtor be: - \[ 1 - P\Big( \; send \; | \; r \;\Big) = \dfrac{1}{1 + exp(6-3r)} \] + \[ P\Big( \; send \; | \; r \;\Big) = \dfrac{1}{1 + exp(6-3r)} \] As you can see in Table 1, this function drops off quickly as the nodes' \ \textit{debt ratio} surpasses twice the established credit. @@ -393,7 +393,7 @@ the connection. If -- acording to the receiver's \texttt{Ledger} -- the sender is not a trusted agent (transmission below zero, or large outstanding debt) the receiver may opt to ignore the request. This should be done probabilistically with an \texttt{ignore\_cooldown} timeout, as to allow errors to be corrected -and attackers to be thwarted. BitSwap +and attackers to be thwarted. If activating the connection, the receiver initializes a Peer object, with the local version of the \texttt{Ledger}, and setting the \texttt{last\_seen} @@ -459,8 +459,8 @@ the future, if it is useful to do so. In case of a \texttt{send\_block} message, the receiver may check the block to see if it is needed and correct, and if so, use it. Regardless, all such out-of-order messages trigger a - \texttt{close(false)} message from the receiver, to force re- - initialization of the connection. + \texttt{close(false)} message from the receiver, to force + re-initialization of the connection. \end{itemize} % TODO: Rate Limiting / Node Silencing