From ed61e2e4cb221c4f3b1dbe33fc18dbbde7b1dd17 Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Fri, 9 Aug 2024 17:00:03 +0100 Subject: [PATCH] Autosave: 2024-08-09 17:00:03 --- .zk/notebook.db | Bin 4153344 -> 4153344 bytes zk/Torrenting.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/.zk/notebook.db b/.zk/notebook.db index b1ae7001e1eb62a99cc6b3fbac34f3d0237dca95..42bf40f79750aa03dc90dbafea50042bef7c7c8f 100644 GIT binary patch delta 19891 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 RkF&>dy{B^amaSIs{{S1y3p@Y- delta 15838 zcmeHuX>?r2btdX<{rbJvE6`}{0I?Gdpc^~D6(mJ~5=oJwNKq6Qv4L&?E%X958YDqc zY}M-~C`Fb{nU>#7CUKNSaW-Y_$YaRk%-HftCNnzYoH#R+OxBSz$?-{Iot#NBb|xpW z=ezYl+sT|+^22BTghaotS9R;wty{Nl-Fxfyi(mX(_98y_n|z`uh zK7I8k0&=(a(YHOpImvU;d(L~x`=}H6G1l;QHvF5~gN~^7;L*lr`F3^e?d8TRz0GnV zTd&A*DPJh1*PmT1WV7kTQl^k!*V`Vve{fg8{{uC;uU4w5kq!mgeYI}~XK(qHz-Mb7 zd+_1MKgM2i28#Op+s~c)!32B$f%@V%%p0DZXT;M-|KHa5dn%iI@RhCZF3-`Lxp!W~ zKZer2&pa%ReoB;TYS_pA{ey;k3+(l`pTGCA&R%?=-v6uG!^X5RV)PhoM(xA@ZwFt? zc_;R=Fesvb2U&8)1I$lfUCc*cEzF{?$lJg0gJ=J{_L-W%p9em(ZQW=8 zBrs9KJJC|3*1mGGCLlAm&yZ{Gh#KE3Pu1wCQ5aJh(-`wGrZeVc%y53|M_7+kJ+<`) z+j>LVdPClNL)m&m-Fid&>>Hjxe~Ps^fAI~^B5U0~|4q-&+*G82nkh$J)2~U!_3fK$ z`Y*6~j4&@HrbZUhiPY3YdTDBMVQL~VIg(fyTUs2OPA;aF5)0EaORUt#;1yj^|p< zm$iWQUw!+f8&ZN@RBd&y@|S_n>2uP*R^C#Uly>>IGi~2uj&e@9oADpjm z>4%&u^?j2{-~5n1$6j~#-v!2(Uqo&F7P^kz1Cn2|QFrm@!?P0mEvMyW)OcRe=hdSM z_c7;6+&k-h@@4&1=W`zc*!U0VzwMlRML+5!==BEy=val=tSoiRIe+wF{kZer%=%fW z=JU>{F`)B}D%$tIs-JYe@~Zyp&Tqe@A6DmpS8_su#H`HTQJniPq0_rWhgs1NZ{63o z?t8cH8(a6y&)&C`)BXf|L-D=meKs)UZD4OWb?;kGE9`61(1Um1|I_UYU$ug!6!_fs z>esEuWfg3jmz?;IMP~1P>(4BFeE9hB32cAs&w~H?okNR@3k&1PsmattYIH2Iu#g^| znoi6tr6336Q&Zy;ixbJ|g^AJRWMX__aXht@0>sjIYGEdwPLHIr}KOMp+j882- zb@)WKqd#5$!Eacy@-#f*K}$0S|%v@v6`kXy^9bLo6Z z!1NkSOJ$ap(&&P|4U$wyi&7m^)A_{$M)9(;)EZ&l%y&BivRPtz0qBvH#q0*)P#KWr zQhHe+)_hFQC71J=619Pv-KNA)k~K+9msSWdIy5plztchWVQdhE+K9qjA_gUOBe#$) zgSZg(yUHZ1o=Jrzfv`zq8m67gxO8+fwV2K(T?{cGb*3q48@Zfd5{8zTTv~AlZ&9S8TPoK}tRQg7l5_(lOlOy0VSS>mhiMym7i$1| zNnui0V(!oelWw>uyv%cJHSR*mk`f3Qp<2J;4|y#sR_eDevWj>k86o!D!Epw&S*>uVE|F^GG#GYOjT!UT~Ux#FVi#mQo6X5Toe!%Q&#hZ z8=|Z;DF;|tVV-=tbfZvQMMuF1N!2})lySTG!Q!Im5MZ8CdT}L@-)RBNO1e4&Jc`Z? zOz1mkFejfk9JKU^VFb+WzAq~KnDfWiVnOHI*J4MVlf~GOQz^y{IPVo>-3^RQ@bM6n zuFK2nky@l%3Y~*pzd5JvQ;Eq%JO|*Vp+t7NuSCq^>9PrR1`Jv!9VX*+PDK zJ(Cj6S0IX_&@405v_h=3XmbN^5(v5T)gMr#gzw_;lSlc0)umQAEZ1zcP zQ{b>`_+&_yN-oCA!4a>Iu|;<%Q<9RvP|KvpUohpy8)HG%(QcL#E05ys}<|#IF_dU;(w?#NJsi6>{#VBaB#s zdhVB$^kN3p;D36RPc^m5NaRCHR7nUJ!7a_uE=Ol((p_tV;?s5ng~xWuCQU3A-Aj5Q}=Sh}q<# zD_#Tjs{fp%6xJWE+D%!$vD5LG1f{r?x#==9?opKMnZgFI6Dv61!J}F2pcB_HjvGp=Ab^3x_2S z9UPe@SHA3H4@IilE=kwj4P7Zn>Sk`C0GV;Ne`a`BD+7-gTnRdVWCZe=N<$vNhybm5 z+s_Vnh80>iY*)UIXZ$h=rxSQ*rlG7z8JB0zDr#;$oxSdI`J_TRf~NI?LM$olaQTkR zKp5ePKF7xdZM*O?=8XhqraMC(Rm=HF=Zl$5Ri0q#Mn0Qa6~qh*af&j@+Yg=L#V1!5c z0Ph2{AygO=GUAK!DQ++es&^%QGnsOCGL&z$&OJHGhS#ustyaJ=4g8rw!!W|_rWwVF zV_1IE^yAAkEXy=&eZhdY&cfki1T53vX8HU^u+?u`{y@lYgnT~3@R|4@^jYD6&lj`+ z>i6}bQ0MpgOnNg+(+ZfD*%d&o->^c#vd;|o{211UR##9@5v|m5$DwU zWb^iKemeRs`Qq7?bjOKIezoI7ax-1*7#<$(psGjdV8xO5_o~kplX)oK;@_(`4y{4% z7n9_+eYc0R_D=Nmz{^wB(NN9M(5{}XL-#h=cHl$N-(cIH|4)N|!6f5|^Q$MjW}Q#{ z-e5d1zGrj>f5YQrlVek(qt3f4u{!6*C%Cz+xnbIP4f4E9sh@$A(jjmXWT0K-3eo6bqopJADZRLNVCE{7IvpVCf zuf=u+7)w@XELfYKu}+-x&Tp*8c9qo>jxSg>FfN`@px$s$2pc3SNqGnY!22TcDAc2< z?GP3a_K|lVlNMl;z$%*FIiAH!Hx7kN)-{**GI=qX7u8d;MCMZTJLb}%T3K30|1uEF z;eg7mZJ-l~Xbj-E&BN;!{hAedeIqA|&oVWYzD^bq45i3XQwu`LW^gcz)&dSnQ5X^D zq$ob-P5~nnB@Zce$dG85kkp$bQg~Tl(qYDyMfIqp6tTBO`6`oEz%BGWDXYcQjiftF zoh)5<0d7KLEUyTNYq0%Nuyvtq#rsn@TEtu)8JD$E+IjbdSYr#J8dg|AK)@Dq4M~`+ zAj$dgomgv`saX$ z=D0*H)H|h1Y|>sO<8FaBGdAj$8@qZK8+XfBcoX~p7yMZ`0n=1nmMXIDhk~$Iaop*x z?JN8VNlK*z8N3Ondr1s^z-G4;S#!Mtm&R^M&C+Ia-;P6MM5(C&ufSf7Fe$!w_pQDw zeVU|@VsD450|FJrCjRan_GkMgFLU52DwPiC_ADx~8A zDINhfX4lIy9BX$jbt)7Gj4q%66sU4t@YP-L+kBzEfD%3*Y-wLOslam(v*hPy=Xdo< zF!b%!GMOkt@FN7S2wxMbOH6r`pEz+-MjA4jMQK`_#qojI2`F04q-TW|*=By)K4b-|=1C78ocP6E>PL z*XXI`M~>?r16bw=a)<1JV-hjyw2Ok{iiUy+(RL|!oC~up)U55E3&i-_7N}R5Q0460(sLE2wIhu zhk+ofLj)I-b*A4O?mb2G_djzvub8l%uBYQ`P$?VHolK|&9rQXc3i0D>m_pzC3|FYrca|51I1)A7mSmNJvq z^2?$VZ-;cdL_q7U^25F}5K5desSOv^le;zPq0|gg94fVejY+tYh#t_cK)Euo6O^L) znr=`^@aZhPEBMSVbN0!~`bHK#&Qo`I6zja}jR8H`+a zwF#exMC~Y+N6C1Bkb)5>NYrPYFa7-Rcv)SIBWwoQm6S029v`_uaHZf^`2%pCeEv`X zUXrf~epbNp1p=*ppWhdN*A#@y<0sE35DxqOmOpG+em??!aJhW70Tkt9-EW~Ux_m!E z#^rxN%=r5eGA@gF>;GHK`1=tuF8>2!#@~;Sar^%zX1w)&^t10bC<#M0wHou!&D*B- z+M$;1f!W62HOhrw`ro;NJ5lQ$S5W>QR}fK4+I-*Z3I_fcS8(SRLT2A_1>p%|hX_yb zI}T`>f8RaO|Dyxy`9}{_I3NG$feJSKqX!Ca|NoZ<>O(AwdB0ra{j%p@ZCf3U|0D28 zb+)m?Q9sq(T@ETWUr5x{1oC=fF`Hb6SI@&Zx@SDnQl=J#Qav7F4FQPUJW7pR*Jb`DWJ%FL_ z^^cN3Sdk8NsMGkEc3OKZ($sWFgE!QSmh&{%Ufz!$Tl-+9mr{7&!x^6YAv>uKTH;|o z+l`8WeYjT;VNvDgQ+SVP3T_H=I>u?xyzLYt?DZ(cLcYX_zx|r)+mm$I6Q=XUE~CC| zN~^a->u#AY;L=5!M6)g-&U&c{L*eGDiJRQu{cSXr4H=y)2kKcSIkMK)$LzyT3 zzeGj^#}&O)!9A9;kj$1ii4;e!L@F&&>2VUAR{j_b!jEJ9%hDMc!(ii}X%ZIlkl8r+@a^2SlT9Mq)6 zQdtXPVJcIq*P{m!RYJY)tH%I5KHY(@`q9BgKzN3E&zM0Bs2C=|^g0yp-JZm=NA_aG zshzAUw)clB1~F|i{8 z26jZX{m6OVcHz92nC0QiAzbPfV=d4S$Y}7kDY;O>fV+(?=_5jq2M7~Cp8%cns^4$K zPvQNQfFf_?^29vdPi%_@1e6!#dCa*;`#_7@0Oxw|aIJBwb-MPFPFuwu>;q_%52$#9 zp5XBz>J$`BS4mxT`A|_k<7snFE%nrwX%}TH9!upz_%!;|2%4XPw+eO39|3jtb@+R^ zOQ@|3j?sHS8^^S&HMnR}Se$g))-lyLniw68C#K?~i8!uCNjhKJqZ-Nh)Y!=6)L3Gg zcVcWs)7CQa>mzX<2LPW_cSEe5A6@S0cYd>0X_--j>9rfl?D|T)uz<_{Oft_%GK!Ii z>dhwe%kkum)i|;F?ip3dU(e*k=D4JGI9Hz!HU<|98`(l`L2Q{Hm{sc@@cO#40O@J$ zO0UOD#dJEJLv$-$jIRsNHx<8?#x-kpl`8WDYUfqu27Nt6K|&Nlpu)d$B5@a58(Lj5Q=NNsCbE?SV!l?I^pDT z+Hm!AVuxQLea?}kf;~h^#}H)QR_mOvuJlC8CW587E7Jr4e(JHe-J^owVg?B^(lI`c zCo(?LwB=uW;Uu1Rj_`~SvDG1xdoI&PK(K+h`xHOfOLb3^jNGg70aOw6S{5qqDx`1* zcsCJ?h{0qoNei$wrs0-GD1)fnS^$2CHeqAoZqkk``n5XJFynmBK^n{X_2+uJCV;|X zL<&u*+{sAzqL1*w`sS{B!#l>05s6(LjX;iydsmZ5lA%6d2zL;>nw_! z0X$BU;^JDw#Md11rtlRqcBwdj7wIs&+v34(P*I3AA3`1mZ3iCGWkgcOQGEFc6>(}B zq@snLzs~k_FwJSsL991(J-u|C-EF0fVqc`eW=La(X`k^&NIJr_)b*qj+w6Ad7jr$` zbnf`6_5@Uwbea^*(Sa*B2xNYDRB*kHAFdVRI8JaX5zgoL5>opyF`1YJrIViof3(hB zxHR{YDO4%;lVYf`o8r1SL9Pi7#i(K3qN{ew7$F&Q)lBZTX&uML!pK|ZDFNuF;I>^LT9yh@V9pX@@vt=MhaE~-b# ztQYdbsIN59hT`Gfs7{;$y*AU#+S)#n-^y+3X+K9N{vd_i=uo*`CUOtStt2hBLFUyF zP`-@s^pk{YPSw(-40Z%nZD47#n2j_@Cm4_IN7Pj6>~b$X!}|yY;N1*4zJk~4E-Ww& z&R4~bxGeUgM3&>zyq@foN2=>|uC0n)0$D;nDv?>mnSrPICoOwqgT$v>q*93UG^+dxHZy56Tj9*ROyGQ*XiKSZE(4fP}xIG zc;4-$72BHEl}u@~kIdtj_I(K2AoCnGdQ=>LbgWibn&>*<^YFw4+GQ_jAu)pnv&jt= z$cc%Fu6RRev!eDoVLiD=!`tpLkdL>n4tg5bl`s)@))TTK0mXTvZmQLigTmxgCmPsU z=SLraL#$KOczwFBZY*pyd*@Z7Vdp}l&N>|HB5}g~KO&fk9FYJLhU&hy40O?N^c>xu4- z;>guK!E;>+bA=zJdGJ#-cmpA{^%EWwHhU_Q$`v;9rFk@0p65hR(Vlbu>FYhSG)yvX zIREAKp2mjmhx6#`)p)b#nP%NbxNbYKkN32u6oeRCo2|ai{;{mzxaf}r=jsBx!j`|@ z@O9uS(8p8A0r6e6jFCy)%r$!J!-0`#Q^?xg60-~*3!gXay{6?g&+@&af!YgW&3<23 z;8}ji@3pTrTeU&o-oVz?#?M}D`r#+GfB4hUi{9-MpNV!W_gcQtwB7QB=IraNZTsc3 zEg$Ht_1=xkE%?xP8$Rv$bl|gV`^M$YSO1_sF0C``FU<#m&jkkkpYWeoeiqk||ITTc z?K=JTyYGLAZ4VyqdRdhM>)YG&U13e3eBOIsKH0VX<&)i0VfM{!^=kKTGv}+x?gr;U;M0pwA3pu~?8avRpV;>MzdYD& zZ2#d;4E~Mm{OFTCP0r}nWW;%Yc8}NjeBV&LWEjp@`i7buwSQ;}c0kGb>Pt#p^x`9D z4xPN*KO8?vm*AVjxl|X`Y=6Fg=#Xdo_um}+Tj_|w{%~e#B%Mkp(}~eVq?#{Hj3HTg zX=Hk8JiU}mj7_E~yL@zXaeOK@GdeLfxipg21~eH$*_Up<~W1;uu7>p-X-Qcc-|*Ea&ea4a|hYvD@&c zYIP}Hr0!niaTc;vD$4RkR!}hF-jm+JCE5$HVjcZC|@f7bkfA+_*C@%BUR68$HQK-}_ zX|R*wz|xC>+o2Vtf(u$P-p$NtB4ZgZ4kMzmx1~H{BtVXFp+igPBol1 z_9U8Q$z6<2TyxTlk}G}3=#mq^uo1oZ$h<5g@r5Q5McN|nk~bH{@|{Ay%f?MHOaeE7 z$mya{Rw-1noLMCJr)fMQqk&PDj419e==4n47GG+)e2Tz~A7jO%D2bZ7CZY=ZDG3$1=c2q{(u#%h0_-SyRYoEId9nQVE=Gw0VlPCH z0=YxnfXIjyU1u}}SsX444~pwkB1o0xT;Vz`Tdi*6qB=)KK6G>l_qKV#ir7(RtmBG2 zonK!8OE7HNu9KL%+jq+_&V@t|LkxtR*`7EE&Ta_qAzP=EaWxTt9@?h};oeCS^LXlc zzv}L!gF9EGG~n(w%2S1JNaQ_(OVB$LaEXFizv1<$eybyDIh(-)W*J#R1Rmp;kb^2_ zxIz&wD%nVL%#d6s0&xpzK?PcIZFgw*p&4U=DI5764b~$;W(XeJ5g|JBj4!Z3fzPgW8b2gbP)=-qew(iknie88DF4g#0B`X_kRR zC@Oj>-!y;=P~5em3$95`{AvQFTHSB9QxU&Co*x{&~MF*&S zT#{?NW$Wr;OJpk~Eg`8T#6=nU5VWi5< za0LM?^mt0a(~2>WU2W}=0W`xeU}ma z&W+R~>mG-2jIFBvXqIU~#D^vdfZ=%pi zf?Nf=j$)g$9M$kw1TT&to1BLc^!TZ0krGue9JXPrQCY#gDe~ zyhws`eUh=8$k*$`xWIBn9|jtpZ=~k{KM0!dHjocxpFwsYvV&X+xXjq*3gG$GKJEpm zJwQC*MS$e8x6oj>WpIA^lSP6$l~fT7&)#z0{VIz(zjJBC$5xzcmq+T#$u0$q?TXZT z0v;UQiBQmbGU)Y0_g&FYA8lKd)yhQtPryb{(4VOOspaVxdU0@$gR6q$F)Mo=TRSjXxQBoN3Ol z{K-&Pvr+^M_o64V$V%LRDpi-#NWtbI=fa;3b+jQWp3U-h)N9Mx!a_33cM}XUby8U# zciO)`)Ox^EDi)BDRN}J;sUzCS4>Q|9^iFvW=QV;(=$lRE7E(!G13LO1lOfJq8A*6*ez^f0dM-jt_>q8f6Kw@Kid>^Ne4WkSV*7_L9c{TWTfKhMy zb>z6>R}2B@ddpiKst#A<)kJlqI$9m8j#nqDlhvu}bake>r@FVgue!f_;4=r6M4M0j zc8&kv_-A}?`D(0Y^8kKW`?~%mJ?zP9zodQ}?&t5R3P1EAd0U=5s5GhDH8s+&I@alf gqZ0f0_U!3{4N`4fd&F%Nk9PIG@Pt#}god5s; diff --git a/zk/Torrenting.md b/zk/Torrenting.md index 3179d32..faf1705 100644 --- a/zk/Torrenting.md +++ b/zk/Torrenting.md @@ -17,4 +17,53 @@ to others. ## Procedure -Large files are divided into small +Large files are divided into small equal sized pieces and each piece is assigned +a unique hash identifier. The `.torrent` file details the number of pieces, +their sizes and hash values. + +Clients request different pieces from different peers simultaneously. As pieces +are received, they are verified against their hash. Corrupted or incorrect +pieces are discarded and re-downloaded. + +The client software reassembles the pieces in the correct order and the final +file will be identical to the original which can be verified by comparing +hashes. + +## Key terms + +- _tracker_ + - a server that coordinates communication between peers (so there is a server + but its role is more lightweight than client-server, coordinating the peers + rather than hosting or distributing file content) +- _swarm_ + - a group of peers sharing the same file +- _seeding_ + - uploading file pieces to other peers +- _leeching_ + - downloading file pieces from other peers + +> An alternative to a tracker server is to use trackerless methods such as +> distributed hash tables + +## Terminological clarification + +- _BitTorrent_ is the communications [protocols](Network_protocols.md) for P2P + file sharing. It was also a client software developed by the company + BitTorrent Inc. + +- _torrenting_ is the general terms for that act of sharing files using the + BitTorrent protocol + +## Napster + +Napster pre-dated the emergence of the BitTorrent protocol. It did not segment +files and files were downloaded directly from peers. It was a centralised P2P +network because there was a central server that indexed all available files +which kept a database of all connected users and their files. + +When you searched Napster you would be querying this DB on the server. The +server would facilitate a direct connection between the consumer and provider +peer for the data exchange. + +When users share with BitTorrent the `.torrent` file is the source of truth and +a swarm is created around the users who have possess the file.