1. ´ÅÁ¦Ö©ÖëÊÖÒռܹ¹ÓëP2PÍøÂçÊÊÅä
´ÅÁ¦Ö©ÖëµÄ½¹µãÊÂÇé»úÖÆ½¨ÉèÔÚÂþÑÜʽ½ÚµãͨѶÐÒé»ù´¡ÉÏ£¬Ã¿¸ö½Úµã¶¼Ï൱ÓÚ×ÔÁ¦µÄÖ©ÖëÖ÷Ìå¡£ÕâÖÖÈ¥ÖÐÐÄ»¯Éè¼ÆÊ¹ÏµÍ³Äܹ»Èƹý¹Å°åËÑË÷ÒýÇæµÄÖÐÑëЧÀÍÆ÷ÏÞÖÆ£¬Í¨¹ýDHT£¨ÂþÑÜʽ¹þÏ£±í£©ÊÖÒÕ¹¹½¨ÁýÕÖÈ«ÇòµÄÍøÂçÐáÌ½ÍøÂç¡£Ïà½ÏÓڹŰåÍøÂçÅÀ³æµÄÏßÐÔÅÀȡģʽ£¬´ÅÁ¦Ö©ÖëµÄÍØÆËʽËÑË÷Ëã·¨¿É½«×ÊÔ´¶¨Î»Ð§ÂÊÌáÉý40%ÒÔÉÏ¡£ÊÖÒÕˢдøÀ´µÄÖ±½ÓÓÅÊÆÔÚÓÚ£ºÓû§Ö»ÐèÊäÈëÌØ¶¨ÎļþÖ¸ÎÆ£¨ÈçSHA-1¹þÏ£Öµ£©£¬ÏµÍ³¾ÍÄÜ¿ìËÙÔÚÊýÒÔÒڼƵĽڵãÖж¨Î»×ÊÔ´ÂþÑÜλÖá£
2. ÖÇÄÜËã·¨Çý¶¯µÄ×ÊÔ´·¢Ã÷»úÖÆ
ÊÂʵÊÇʲôÈôÅÁ¦Ö©ÖëÄܹ»´©Í¸ÍøÂçÃÔÎí£¬×¼È·²¶»ñÄ¿µÄ×ÊÔ´£¿ÆäÉñÃØÔÚÓÚÈýÖØ¸´ºÏË㷨ϵͳ£ºÊÇ»ùÓÚBloom FilterµÄ¸ÅÂÊË÷ÒýËã·¨£¬ÄÜÔÚº£Á¿Êý¾ÝÖпìËÙɸѡDZÔÚÆ¥ÅäÏÊÇ×Ô˳ӦÈȶÈ×·×ÙÊÖÒÕ£¬Í¨¹ý½Úµã»îÔ¾¶ÈÓë×ÊÔ´¹²ÏíÆµ´ÎµÄʵʱÆÊÎö£¬¶¯Ì¬µ÷½âÅÀÈ¡ÓÅÏȼ¶£»ÊÇÓïÒåÍØÆËÓ³Éäϵͳ£¬¹¹½¨×ÊÔ´¼äµÄDZÔÚ¹ØÁªÍøÂç¡£ÕâÖÖ¸´ºÏÊÖÒÕµÄÓ¦Óã¬Ê¹µÃËÑË÷ÏìӦʱ¼ä¼á³ÖÔÚ300msÒÔÄÚ£¬×ÝÈ»ÊÇÀäÃÅ×ÊÔ´Ò²ÄÜÔÚ24СʱÄÚ½¨ÉèÓÐÓÃË÷Òý¡£
3. ´ÅÁ¦Á´½ÓÊÖÒÕ±ê×¼µÄÑÝ»¯Àú³Ì
´ÅÁ¦Á´½Ó£¨Magnet URI£©µÄ±ê×¼»¯Àú³ÌÊÇÖ§³ÖÕû¸öϵͳÉú³¤µÄ»ùʯ¡£´Ó×î³õµÄED2K¹þÏ£Ëã·¨µ½ÏÖÔڵĶàÐÒ鼿Èݼƻ®£¬URI¹æ·¶ÒÑÑݽøÖÁv2.3°æ±¾¡£Ð±ê×¼µÄ×î´óÍ»ÆÆÔÚÓÚÖ§³Ö¶àÖÖÎļþ±êʶ·ûÁªºÏÅÌÎÊ£¬°üÀ¨TTH£¨Tiger Tree Hash£©¡¢ED2KºÍBTIH£¨BitTorrent Info Hash£©µÄ¸´ºÏÑéÖ¤»úÖÆ¡£ÕâÖÖ¿çÐÒ鼿ÈÝÉè¼ÆÏÔÖøÌáÉýÁË×ÊÔ´¿ÉÓÃÐÔ¼ì²âµÄ׼ȷ¶È£¬²âÊÔÊý¾ÝÏÔʾÎóÅÐÂʽµµÍÖÁ0.17%ÒÔÏ¡£ÖµµÃ×¢ÖØµÄÊÇ£¬±ê×¼»¯Àú³ÌÒ²ÔÚÍÆ¶¯¸üϸÁ£¶ÈµÄ°æÈ¨±£»¤»úÖÆÉú³¤¡£
4. ÂþÑÜʽ´æ´¢ÓëÄÚÈÝѰַµÄ¸ïÃü
Óë¹Å°åHTTPÐÒéÒÀÀµÎ»ÖÃѰַ²î±ð£¬´ÅÁ¦Ö©Öëϵͳ»ùÓÚÄÚÈÝѰַ£¨Content-Addressable£©ÔÀí£¬ÕâÖÖ²î±ð´øÀ´ÁËÄÄЩʵÖÊÐԸı䣿ÔÚÄÚÈÝѰַģʽÖУ¬Ã¿¸ö×ÊÔ´¶¼±»¸¶ÓëΨһµÄÊý×ÖÖ¸ÎÆ£¬Ê¹µÃÎļþÑéÖ¤ÎÞÐèÒÀÀµ´æ´¢Î»Öá£ÅäºÏIPFS£¨ÐǼÊÎļþϵͳ£©µÄÆÕ¼°£¬ÕâÖÖ»úÖÆÕýÔÚÖØËÜÍøÂç×ÊÔ´µÄ´æ´¢·¶Ê½¡£ÊµÑéÊÒÊý¾ÝÏÔʾ£¬ÔÚ°ÙÍò¼¶½ÚµãÇéÐÎÏ£¬ÂþÑÜʽ´æ´¢ÏµÍ³µÄÊý¾ÝÈßÓà¶È±ÈÖÐÐÄ»¯´æ´¢µÍ58%£¬Í¬Ê±¼á³Ö99.99%µÄÊý¾Ý¿É´ïÐÔ¡£ÕâÖÖÊÖÒÕÍ»ÆÆÎªºã¾ÃÊý×Ö×ÊÔ´ÉúÑÄÌṩÁËȫнâ¾ö¼Æ»®¡£
5. Çå¾²»úÖÆÓëºÏ¹æÐÔÌôÕ½ÆÊÎö
ÃæÁÙÈÕÒæÑÏËàµÄÍøÂçÇå¾²ÐÎÊÆ£¬´ÅÁ¦Ö©ÖëϵͳÔõÑù¹¹½¨·ÀÓùϵͳ£¿½¹µãÊÖÒÕ°üÀ¨ËIJã·À»¤¼Ü¹¹£º´«Êä²ãµÄTLS 1.3¼ÓÃÜÐÒé¡¢½ÚµãÈÏÖ¤µÄECDSAÊý×ÖÊðÃû»úÖÆ¡¢Á÷Á¿»ìÏýµÄÑó´Ð·ÓÉÊÖÒÕ£¨Onion Routing£©£¬ÒÔ¼°ÐÐΪÆÊÎöµÄÒì³£¼ì²âϵͳ¡£ÕâЩ²½·¥½«ÖÐÐÄÈ˹¥»÷£¨MITM£©ÀÖ³ÉÂÊÑ¹ÖÆÔÚ0.03%ÒÔÏ¡£µ«ÖµµÃ˼Ë÷µÄÊÇ£¬ÔÚ×·ÇóÊÖÒÕ×ÔÓɵÄͬʱ£¬ÔõÑùƽºâÒþ˽±£»¤ÓëÕýµ±ºÏ¹æµÄ½çÏߣ¿Ä¿½ñÐÐÒµÕýÔÚ̽Ë÷»ùÓÚÁã֪ʶ֤ʵ£¨ZKP£©µÄÐÂÐÍÑé֤ϵͳ£¬ÒÔÆÚʵÏÖî¿ÏµÓëÒþ˽µÄË«Ïò¼æÈÝ¡£
´ÅÁ¦Ö©ÖëµÄÊÖÒÕÑÝÏ£ÍûÏÖÁËÒ»¸öÖ÷ÒªÇ÷ÊÆ£ºÔÚÈ¥ÖÐÐÄ»¯ÓëºÏ¹æÐÔÖ®¼ä£¬ÍøÂç×ÊÔ´ÖÎÀíÕýÔÚ×·ÇóÐÂµÄÆ½ºâµã¡£Æä½ÓÄɵÄÂþÑÜʽË÷ÒýËã·¨²»µ«Ìá¸ßÁË×ÊÔ´¶¨Î»Ð§ÂÊ£¬¸üΪÖ÷ÒªµÄÊǹ¹½¨Æð¿¹Éó²éµÄÍøÂç»ù´¡ÉèÊ©¡£Î´À´Ëæ×ÅÁ¿×Ó¼ÓÃÜÊÖÒÕµÄÈÚÈ룬ÕâÖÖϵͳ¿ÉÄÜÉú³¤³ö¸üÖØ´óµÄ×ÊÔ´ÍØÆËÓ³ÉäÄÜÁ¦¡£µ«ÊÖÒÕǰ½ø×ÜÊÇÅãͬ×ÅеÄÌôÕ½£¬ÔõÑùÔÚ¿ª·ÅÐÒé¿ò¼ÜϽ¨Éè¿ÉÒ»Á¬µÄÄÚÈÝÉú̬£¬ÈÔÊÇÐÐÒµÐèÒªÅäºÏ½â´ðµÄÃüÌâ¡£´ÅÁ¦Ö©Öë×÷ΪÊý×Öʱ´úµÄ×ÊÔ´Ïòµ¼£¬ÆäÉú³¤¹ì¼£½«Ò»Á¬Ó°ÏìÍøÂçÐÅÏ¢µÄ×éÖ¯ÓëÁ÷ͨ·½·¨¡£1. ´ÅÁ¦Ö©ÖëÊÖÒռܹ¹ÓëP2PÍøÂçÊÊÅä
´ÅÁ¦Ö©ÖëµÄ½¹µãÊÂÇé»úÖÆ½¨ÉèÔÚÂþÑÜʽ½ÚµãͨѶÐÒé»ù´¡ÉÏ£¬Ã¿¸ö½Úµã¶¼Ï൱ÓÚ×ÔÁ¦µÄÖ©ÖëÖ÷Ìå¡£ÕâÖÖÈ¥ÖÐÐÄ»¯Éè¼ÆÊ¹ÏµÍ³Äܹ»Èƹý¹Å°åËÑË÷ÒýÇæµÄÖÐÑëЧÀÍÆ÷ÏÞÖÆ£¬Í¨¹ýDHT£¨ÂþÑÜʽ¹þÏ£±í£©ÊÖÒÕ¹¹½¨ÁýÕÖÈ«ÇòµÄÍøÂçÐáÌ½ÍøÂç¡£Ïà½ÏÓڹŰåÍøÂçÅÀ³æµÄÏßÐÔÅÀȡģʽ£¬´ÅÁ¦Ö©ÖëµÄÍØÆËʽËÑË÷Ëã·¨¿É½«×ÊÔ´¶¨Î»Ð§ÂÊÌáÉý40%ÒÔÉÏ¡£ÊÖÒÕˢдøÀ´µÄÖ±½ÓÓÅÊÆÔÚÓÚ£ºÓû§Ö»ÐèÊäÈëÌØ¶¨ÎļþÖ¸ÎÆ£¨ÈçSHA-1¹þÏ£Öµ£©£¬ÏµÍ³¾ÍÄÜ¿ìËÙÔÚÊýÒÔÒڼƵĽڵãÖж¨Î»×ÊÔ´ÂþÑÜλÖá£
2. ÖÇÄÜËã·¨Çý¶¯µÄ×ÊÔ´·¢Ã÷»úÖÆ
ÊÂʵÊÇʲôÈôÅÁ¦Ö©ÖëÄܹ»´©Í¸ÍøÂçÃÔÎí£¬×¼È·²¶»ñÄ¿µÄ×ÊÔ´£¿ÆäÉñÃØÔÚÓÚÈýÖØ¸´ºÏË㷨ϵͳ£ºÊÇ»ùÓÚBloom FilterµÄ¸ÅÂÊË÷ÒýËã·¨£¬ÄÜÔÚº£Á¿Êý¾ÝÖпìËÙɸѡDZÔÚÆ¥ÅäÏÊÇ×Ô˳ӦÈȶÈ×·×ÙÊÖÒÕ£¬Í¨¹ý½Úµã»îÔ¾¶ÈÓë×ÊÔ´¹²ÏíÆµ´ÎµÄʵʱÆÊÎö£¬¶¯Ì¬µ÷½âÅÀÈ¡ÓÅÏȼ¶£»ÊÇÓïÒåÍØÆËÓ³Éäϵͳ£¬¹¹½¨×ÊÔ´¼äµÄDZÔÚ¹ØÁªÍøÂç¡£ÕâÖÖ¸´ºÏÊÖÒÕµÄÓ¦Óã¬Ê¹µÃËÑË÷ÏìӦʱ¼ä¼á³ÖÔÚ300msÒÔÄÚ£¬×ÝÈ»ÊÇÀäÃÅ×ÊÔ´Ò²ÄÜÔÚ24СʱÄÚ½¨ÉèÓÐÓÃË÷Òý¡£
3. ´ÅÁ¦Á´½ÓÊÖÒÕ±ê×¼µÄÑÝ»¯Àú³Ì
´ÅÁ¦Á´½Ó£¨Magnet URI£©µÄ±ê×¼»¯Àú³ÌÊÇÖ§³ÖÕû¸öϵͳÉú³¤µÄ»ùʯ¡£´Ó×î³õµÄED2K¹þÏ£Ëã·¨µ½ÏÖÔڵĶàÐÒ鼿Èݼƻ®£¬URI¹æ·¶ÒÑÑݽøÖÁv2.3°æ±¾¡£Ð±ê×¼µÄ×î´óÍ»ÆÆÔÚÓÚÖ§³Ö¶àÖÖÎļþ±êʶ·ûÁªºÏÅÌÎÊ£¬°üÀ¨TTH£¨Tiger Tree Hash£©¡¢ED2KºÍBTIH£¨BitTorrent Info Hash£©µÄ¸´ºÏÑéÖ¤»úÖÆ¡£ÕâÖÖ¿çÐÒ鼿ÈÝÉè¼ÆÏÔÖøÌáÉýÁË×ÊÔ´¿ÉÓÃÐÔ¼ì²âµÄ׼ȷ¶È£¬²âÊÔÊý¾ÝÏÔʾÎóÅÐÂʽµµÍÖÁ0.17%ÒÔÏ¡£ÖµµÃ×¢ÖØµÄÊÇ£¬±ê×¼»¯Àú³ÌÒ²ÔÚÍÆ¶¯¸üϸÁ£¶ÈµÄ°æÈ¨±£»¤»úÖÆÉú³¤¡£
4. ÂþÑÜʽ´æ´¢ÓëÄÚÈÝѰַµÄ¸ïÃü
Óë¹Å°åHTTPÐÒéÒÀÀµÎ»ÖÃѰַ²î±ð£¬´ÅÁ¦Ö©Öëϵͳ»ùÓÚÄÚÈÝѰַ£¨Content-Addressable£©ÔÀí£¬ÕâÖÖ²î±ð´øÀ´ÁËÄÄЩʵÖÊÐԸı䣿ÔÚÄÚÈÝѰַģʽÖУ¬Ã¿¸ö×ÊÔ´¶¼±»¸¶ÓëΨһµÄÊý×ÖÖ¸ÎÆ£¬Ê¹µÃÎļþÑéÖ¤ÎÞÐèÒÀÀµ´æ´¢Î»Öá£ÅäºÏIPFS£¨ÐǼÊÎļþϵͳ£©µÄÆÕ¼°£¬ÕâÖÖ»úÖÆÕýÔÚÖØËÜÍøÂç×ÊÔ´µÄ´æ´¢·¶Ê½¡£ÊµÑéÊÒÊý¾ÝÏÔʾ£¬ÔÚ°ÙÍò¼¶½ÚµãÇéÐÎÏ£¬ÂþÑÜʽ´æ´¢ÏµÍ³µÄÊý¾ÝÈßÓà¶È±ÈÖÐÐÄ»¯´æ´¢µÍ58%£¬Í¬Ê±¼á³Ö99.99%µÄÊý¾Ý¿É´ïÐÔ¡£ÕâÖÖÊÖÒÕÍ»ÆÆÎªºã¾ÃÊý×Ö×ÊÔ´ÉúÑÄÌṩÁËȫнâ¾ö¼Æ»®¡£
5. Çå¾²»úÖÆÓëºÏ¹æÐÔÌôÕ½ÆÊÎö
ÃæÁÙÈÕÒæÑÏËàµÄÍøÂçÇå¾²ÐÎÊÆ£¬´ÅÁ¦Ö©ÖëϵͳÔõÑù¹¹½¨·ÀÓùϵͳ£¿½¹µãÊÖÒÕ°üÀ¨ËIJã·À»¤¼Ü¹¹£º´«Êä²ãµÄTLS 1.3¼ÓÃÜÐÒé¡¢½ÚµãÈÏÖ¤µÄECDSAÊý×ÖÊðÃû»úÖÆ¡¢Á÷Á¿»ìÏýµÄÑó´Ð·ÓÉÊÖÒÕ£¨Onion Routing£©£¬ÒÔ¼°ÐÐΪÆÊÎöµÄÒì³£¼ì²âϵͳ¡£ÕâЩ²½·¥½«ÖÐÐÄÈ˹¥»÷£¨MITM£©ÀÖ³ÉÂÊÑ¹ÖÆÔÚ0.03%ÒÔÏ¡£µ«ÖµµÃ˼Ë÷µÄÊÇ£¬ÔÚ×·ÇóÊÖÒÕ×ÔÓɵÄͬʱ£¬ÔõÑùƽºâÒþ˽±£»¤ÓëÕýµ±ºÏ¹æµÄ½çÏߣ¿Ä¿½ñÐÐÒµÕýÔÚ̽Ë÷»ùÓÚÁã֪ʶ֤ʵ£¨ZKP£©µÄÐÂÐÍÑé֤ϵͳ£¬ÒÔÆÚʵÏÖî¿ÏµÓëÒþ˽µÄË«Ïò¼æÈÝ¡£
´ÅÁ¦Ö©ÖëµÄÊÖÒÕÑÝÏ£ÍûÏÖÁËÒ»¸öÖ÷ÒªÇ÷ÊÆ£ºÔÚÈ¥ÖÐÐÄ»¯ÓëºÏ¹æÐÔÖ®¼ä£¬ÍøÂç×ÊÔ´ÖÎÀíÕýÔÚ×·ÇóÐÂµÄÆ½ºâµã¡£Æä½ÓÄɵÄÂþÑÜʽË÷ÒýËã·¨²»µ«Ìá¸ßÁË×ÊÔ´¶¨Î»Ð§ÂÊ£¬¸üΪÖ÷ÒªµÄÊǹ¹½¨Æð¿¹Éó²éµÄÍøÂç»ù´¡ÉèÊ©¡£Î´À´Ëæ×ÅÁ¿×Ó¼ÓÃÜÊÖÒÕµÄÈÚÈ룬ÕâÖÖϵͳ¿ÉÄÜÉú³¤³ö¸üÖØ´óµÄ×ÊÔ´ÍØÆËÓ³ÉäÄÜÁ¦¡£µ«ÊÖÒÕǰ½ø×ÜÊÇÅãͬ×ÅеÄÌôÕ½£¬ÔõÑùÔÚ¿ª·ÅÐÒé¿ò¼ÜϽ¨Éè¿ÉÒ»Á¬µÄÄÚÈÝÉú̬£¬ÈÔÊÇÐÐÒµÐèÒªÅäºÏ½â´ðµÄÃüÌâ¡£´ÅÁ¦Ö©Öë×÷ΪÊý×Öʱ´úµÄ×ÊÔ´Ïòµ¼£¬ÆäÉú³¤¹ì¼£½«Ò»Á¬Ó°ÏìÍøÂçÐÅÏ¢µÄ×éÖ¯ÓëÁ÷ͨ·½·¨¡£