359 |
|
|
360 |
\scriptsize |
\scriptsize |
361 |
\begin{longtable}{|l|l|l|l|} |
\begin{longtable}{|l|l|l|l|} |
362 |
\caption[Open problems in P2P]{Open problems in P2P} \label{table_problems_p2p} \\ |
\caption[Security problems in P2P]{Security problems in P2P} \label{table_security_problems_p2p} \\ |
363 |
|
|
364 |
|
|
365 |
|
|
403 |
\parbox{110pt}{Identify all nodes simultaneously across the system, collect pool of nodes which are validated, distributed node ID creation} & |
\parbox{110pt}{Identify all nodes simultaneously across the system, collect pool of nodes which are validated, distributed node ID creation} & |
404 |
\parbox{110pt}{Not practically realizable, research focused on persistence, not on identity distinction} |
\parbox{110pt}{Not practically realizable, research focused on persistence, not on identity distinction} |
405 |
\\ \hline |
\\ \hline |
406 |
|
|
407 |
|
|
408 |
\parbox{90pt}{Spam attack} & |
\parbox{90pt}{Spam attack} & |
409 |
\parbox{110pt}{Hostile entity creates false versions of data} & |
\parbox{110pt}{Hostile entity creates false versions of data} & |
417 |
\parbox{110pt}{Do not trust to single entity, get information from multiple entities, trust on majority's opinion} & |
\parbox{110pt}{Do not trust to single entity, get information from multiple entities, trust on majority's opinion} & |
418 |
\parbox{110pt}{Easy to implement, creates more network traffic} |
\parbox{110pt}{Easy to implement, creates more network traffic} |
419 |
\\ \hline |
\\ \hline |
|
|
|
|
|
|
|
\parbox{90pt}{Sudden network partition} & |
|
|
\parbox{110pt}{Sub network is isolated from other network because of network disconnection} & |
|
|
\parbox{110pt}{Self-tuning, environment observatorion, localized network connection for minimun latency (backup connections)} & |
|
|
\parbox{110pt}{Creates more overhead/space requirements per node} |
|
|
\\ \hline |
|
|
|
|
|
|
|
|
\parbox{90pt}{Searching} & |
|
|
\parbox{110pt}{Efficient searching requires exploiting of previous queries} & |
|
|
\parbox{110pt}{View trees, bloom filters and its variations} & |
|
|
\parbox{110pt}{Effective, but not flexible} |
|
|
\\ \hline |
|
|
|
|
420 |
|
|
|
\parbox{90pt}{Efficient data discovery} & |
|
|
\parbox{110pt}{Find resources efficiently, if resource exists (broadcasting)} & |
|
|
\parbox{110pt}{Super nodes, node clusters, caching techiques} & |
|
|
\parbox{110pt}{More efficient, less network traffic, not comparable to DHT's efficiency} |
|
|
\\ \hline |
|
|
|
|
421 |
|
|
422 |
\parbox{90pt}{Entity identification} & |
\parbox{90pt}{Entity identification} & |
423 |
\parbox{110pt}{Identify participating entities reliably and efficiently } & |
\parbox{110pt}{Identify participating entities reliably and efficiently } & |
424 |
\parbox{110pt}{Digital signatures, key infrastructure} & |
\parbox{110pt}{Digital signatures, key infrastructure} & |
425 |
\parbox{110pt}{Not practically realizable} |
\parbox{110pt}{Not practically realizable} |
426 |
\\ \hline |
\\ \hline |
|
|
|
427 |
|
|
428 |
\parbox{90pt}{Fail Stop} & |
|
429 |
\parbox{110pt}{A faulty node stops working} & |
\parbox{90pt}{Data integrity/authenticity} & |
430 |
\parbox{110pt}{Failure detectors, informing protocols} & |
\parbox{110pt}{Integrity/originality of data is unknown} & |
431 |
\parbox{110pt}{Creates more network traffics, node's information can be outdated, failure detectors not reliable} |
\parbox{110pt}{Cryptographic content hashes, key architectures} & |
432 |
|
\parbox{110pt}{For data integrity, there are working solutions, but for data authenticity, some of the solutions are partial, which may be practically realizable} |
433 |
\\ \hline |
\\ \hline |
434 |
|
|
435 |
|
|
436 |
\parbox{90pt}{Byzantine faults} & |
\parbox{90pt}{Anonymity} & |
437 |
\parbox{110pt}{Faulty nodes may behave arbitrarily} & |
\parbox{110pt}{Anonymity cannot be provided in all cases} & |
438 |
\parbox{110pt}{Byzantine replication protocols -> get information from multiple entities, trust majority's opinion} & |
\parbox{110pt}{Remailers, pre-routing} & |
439 |
\parbox{110pt}{Much research has been done on this field, practical solutions, decreases system's, performance slighly} |
\parbox{110pt}{Total anonymity cannot be provided yet} |
440 |
\\ \hline |
\\ \hline |
441 |
|
|
442 |
|
|
443 |
\parbox{90pt}{Richness of queries} & |
\parbox{90pt}{Malicious nodes} & |
444 |
\parbox{110pt}{Query languages should be more powerful} & |
\parbox{110pt}{How to identify malicious nodes in the system} & |
445 |
\parbox{110pt}{SQL-like queries} & |
\parbox{110pt}{Create invariants for node behaviour, verify invariants, self-certifying data} & |
446 |
\parbox{110pt}{Hard to implement, increases system complexity, not much research has been done} |
\parbox{110pt}{Partial solutions, self-certifying data most realiable} |
447 |
\\ \hline |
\\ \hline |
448 |
|
|
449 |
|
|
450 |
\parbox{90pt}{Robustness} & |
\parbox{90pt}{Access Control} & |
451 |
\parbox{110pt}{How well system performs under hostile attacks/in the case of severe failure ?} & |
\parbox{110pt}{Can we define access control levels in peer-to-peer network ?} & |
452 |
\parbox{110pt}{Self-tuning, backup links, use diverse routing paths, power-law networks/properties} & |
\parbox{110pt}{Schema-based rules} & |
453 |
\parbox{110pt}{Working solutions} |
\parbox{110pt}{Some initial experiences, need more research} |
454 |
\\ \hline |
\\ \hline |
455 |
|
|
456 |
|
|
457 |
\parbox{90pt}{Quality of Service} & |
\parbox{90pt}{Inconsistent behaviour} & |
458 |
\parbox{110pt}{The system can only provide (at most) best effort services)} & |
\parbox{110pt}{Hostile node could act correctly with its neighbors, but incorrectly with others} & |
459 |
\parbox{110pt}{Use network proximity for better network performance (bandwidth, latency, jitter, packet loss)} & |
\parbox{110pt}{Public keys, digital signatures} & |
460 |
\parbox{110pt}{Increases system complexity, some initial experiences, need more research} |
\parbox{110pt}{Not practical approach/working proposal created yet} |
461 |
\\ \hline |
\\ \hline |
462 |
|
|
463 |
|
|
464 |
\parbox{90pt}{Data availability/persistency} & |
\parbox{90pt}{Hostile groups} & |
465 |
\parbox{110pt}{Data might be temporarily unavailable, or lost permanently} & |
\parbox{110pt}{Joining node may join parallel network, formed a group of hostile nodes, hostile node(s) controls the construction of the network} & |
466 |
\parbox{110pt}{Data caching, data replication} & |
\parbox{110pt}{Use trusted nodes, based on history information, Cryptography, key infrastructure} & |
467 |
\parbox{110pt}{Working solutions, but creates more traffic and overhead per node} |
\parbox{110pt}{Not 100\% sure if Centreal Authority (CA) is missing, not practical approach/working proposal created yet} |
468 |
\\ \hline |
\\ \hline |
469 |
|
|
470 |
|
|
471 |
\parbox{90pt}{Data integrity/authenticity} & |
\parbox{90pt}{External security threats} & |
472 |
\parbox{110pt}{Integrity/originality of data is unknown} & |
\parbox{110pt}{Viruses, trojans, sniffers} & |
473 |
\parbox{110pt}{Cryptographic content hashes, key architectures} & |
\parbox{110pt}{Data integrity/authenticity, distributed antivirus software} & |
474 |
\parbox{110pt}{For data integrity, there are working solutions, but for data authenticity, some of the solutions are partial, which may be practically realizable} |
\parbox{110pt}{Not much research has been done on this} |
475 |
\\ \hline |
\\ \hline |
476 |
|
|
477 |
|
|
478 |
\parbox{90pt}{Anonymity} & |
\end{longtable} |
479 |
\parbox{110pt}{Anonymity cannot be provided in all cases} & |
|
480 |
\parbox{110pt}{Remailers, pre-routing} & |
|
481 |
\parbox{110pt}{Total anonymity cannot be provided yet} |
\begin{longtable}{|l|l|l|l|} |
482 |
|
\caption[Performance and usability problems in P2P]{Performance/usabaility problems in P2P} \label{table_performanceusability_problems_p2p} \\ |
483 |
|
|
484 |
|
|
485 |
|
\hline |
486 |
|
\multicolumn{1}{|c|}{\textbf{Problem}} & |
487 |
|
\multicolumn{1}{c|}{\textbf{Problem description}} & |
488 |
|
\multicolumn{1}{c|}{\textbf{Solutions}} & |
489 |
|
\multicolumn{1}{c|}{\textbf{Comments/Status}} |
490 |
|
\\ \hline |
491 |
|
\endfirsthead |
492 |
|
|
493 |
|
\multicolumn{4}{c}% |
494 |
|
{{\tablename\ \thetable{} -- continued from previous page}} \\ |
495 |
|
\hline \multicolumn{1}{|c|}{\textbf{Problem}} & |
496 |
|
\multicolumn{1}{c|}{\textbf{Problem description}} & |
497 |
|
\multicolumn{1}{c|}{\textbf{Solutions}} & |
498 |
|
\multicolumn{1}{c|}{\textbf{Comments/Status}} |
499 |
|
\\ \hline |
500 |
|
\endhead |
501 |
|
|
502 |
|
\endfoot |
503 |
|
|
504 |
|
\parbox{90pt}{Searching} & |
505 |
|
\parbox{110pt}{Efficient searching requires exploiting of previous queries} & |
506 |
|
\parbox{110pt}{View trees, bloom filters and its variations} & |
507 |
|
\parbox{110pt}{Effective, but not flexible} |
508 |
\\ \hline |
\\ \hline |
509 |
|
|
510 |
|
|
511 |
\parbox{90pt}{Malicious nodes} & |
\parbox{90pt}{Efficient data discovery} & |
512 |
\parbox{110pt}{How to identify malicious nodes in the system} & |
\parbox{110pt}{Find resources efficiently, if resource exists (broadcasting)} & |
513 |
\parbox{110pt}{Create invariants for node behaviour, verify invariants, self-certifying data} & |
\parbox{110pt}{Super nodes, node clusters, caching techiques} & |
514 |
\parbox{110pt}{Partial solutions, self-certifying data most realiable} |
\parbox{110pt}{More efficient, less network traffic, not comparable to DHT's efficiency} |
515 |
\\ \hline |
\\ \hline |
516 |
|
|
517 |
|
|
518 |
|
\parbox{90pt}{Richness of queries} & |
519 |
|
\parbox{110pt}{Query languages should be more powerful} & |
520 |
|
\parbox{110pt}{SQL-like queries} & |
521 |
|
\parbox{110pt}{Hard to implement, increases system complexity, not much research has been done} |
522 |
|
\\ \hline |
523 |
|
|
524 |
\parbox{90pt}{Mutual distrust} & |
|
525 |
\parbox{110pt}{Nobody trusts anybody} & |
\parbox{90pt}{Robustness} & |
526 |
\parbox{110pt}{Reputation methods, key infrastructures} & |
\parbox{110pt}{How well system performs under hostile attacks/in the case of severe failure ?} & |
527 |
\parbox{110pt}{Resource demanding, not practical to implement/not working solutions, no real world experience in a wide scale} |
\parbox{110pt}{Self-tuning, backup links, use diverse routing paths, power-law networks/properties} & |
528 |
|
\parbox{110pt}{Working solutions} |
529 |
\\ \hline |
\\ \hline |
530 |
|
|
531 |
|
|
532 |
\parbox{90pt}{Lack of motivation to cooperate} & |
\parbox{90pt}{Quality of Service} & |
533 |
\parbox{110pt}{All participants do not behave like they should be, instead they go for own profit} & |
\parbox{110pt}{The system can only provide (at most) best effort services)} & |
534 |
\parbox{110pt}{Different reputation methods} & |
\parbox{110pt}{Use network proximity for better network performance (bandwidth, latency, jitter, packet loss)} & |
535 |
\parbox{110pt}{No real world experience in a wide scale} |
\parbox{110pt}{Increases system complexity, some initial experiences, need more research} |
536 |
\\ \hline |
\\ \hline |
537 |
|
|
538 |
|
|
539 |
\parbox{90pt}{Heterogeneity} & |
\parbox{90pt}{Data availability/persistency} & |
540 |
\parbox{110pt}{There are different kind of nodes in the system, in light of bandwidth and computing power} & |
\parbox{110pt}{Data might be temporarily unavailable, or lost permanently} & |
541 |
\parbox{110pt}{Super peers (broadcasting), cluster (broadcasting) additional layer upon DHTs, structural simplicity (DHTs)} & |
\parbox{110pt}{Data caching, data replication} & |
542 |
\parbox{110pt}{Working solutions, increases system complexity (additional layer)} |
\parbox{110pt}{Working solutions, but creates more traffic and overhead per node} |
543 |
\\ \hline |
\\ \hline |
544 |
|
|
545 |
|
|
571 |
\\ \hline |
\\ \hline |
572 |
|
|
573 |
|
|
574 |
\parbox{90pt}{Programming guidelines} & |
\parbox{90pt}{System in flux} & |
575 |
\parbox{110pt}{Set of programming guidelines/frameworks is needed for better interoperability between different systems} & |
\parbox{110pt}{Nodes join and leave system constantly: load balancing, efficiency ?} & |
576 |
\parbox{110pt}{Common frameworks and APIs} & |
\parbox{110pt}{Half-life phenomenon (for analysis), simple overlay maintenance and construction protocol} & |
577 |
\parbox{110pt}{Common framework/API is still missing, a lot of proposals have been made} |
\parbox{110pt}{Initial theoretical analysis have been created, but not comprehensive model for analysing different system states and its variations (e.g. complex usage patterns)} |
578 |
\\ \hline |
\\ \hline |
579 |
|
|
580 |
|
|
581 |
\parbox{90pt}{Access Control} & |
\end{longtable} |
582 |
\parbox{110pt}{Can we define access control levels in peer-to-peer network ?} & |
|
583 |
\parbox{110pt}{Schema-based rules} & |
|
584 |
\parbox{110pt}{Some initial experiences, need more research} |
\begin{longtable}{|l|l|l|l|} |
585 |
|
\caption[Miscellaneous problems in P2P]{Miscellaneous problems in P2P} \label{table_Miscellaneous_problems_p2p} \\ |
586 |
|
|
587 |
|
|
588 |
|
\hline |
589 |
|
\multicolumn{1}{|c|}{\textbf{Problem}} & |
590 |
|
\multicolumn{1}{c|}{\textbf{Problem description}} & |
591 |
|
\multicolumn{1}{c|}{\textbf{Solutions}} & |
592 |
|
\multicolumn{1}{c|}{\textbf{Comments/Status}} |
593 |
|
\\ \hline |
594 |
|
\endfirsthead |
595 |
|
|
596 |
|
\multicolumn{4}{c}% |
597 |
|
{{\tablename\ \thetable{} -- continued from previous page}} \\ |
598 |
|
\hline \multicolumn{1}{|c|}{\textbf{Problem}} & |
599 |
|
\multicolumn{1}{c|}{\textbf{Problem description}} & |
600 |
|
\multicolumn{1}{c|}{\textbf{Solutions}} & |
601 |
|
\multicolumn{1}{c|}{\textbf{Comments/Status}} |
602 |
|
\\ \hline |
603 |
|
\endhead |
604 |
|
|
605 |
|
\endfoot |
606 |
|
|
607 |
|
|
608 |
|
\parbox{90pt}{Sudden network partition} & |
609 |
|
\parbox{110pt}{Sub network is isolated from other network because of network disconnection} & |
610 |
|
\parbox{110pt}{Self-tuning, environment observatorion, localized network connection for minimun latency (backup connections)} & |
611 |
|
\parbox{110pt}{Creates more overhead/space requirements per node} |
612 |
|
\\ \hline |
613 |
|
|
614 |
|
\parbox{90pt}{Fail Stop} & |
615 |
|
\parbox{110pt}{A faulty node stops working} & |
616 |
|
\parbox{110pt}{Failure detectors, informing protocols} & |
617 |
|
\parbox{110pt}{Creates more network traffics, node's information can be outdated, failure detectors not reliable} |
618 |
\\ \hline |
\\ \hline |
619 |
|
|
620 |
|
|
621 |
\parbox{90pt}{System in flux} & |
\parbox{90pt}{Byzantine faults} & |
622 |
\parbox{110pt}{Nodes join and leave system constantly: load balancing, efficiency ?} & |
\parbox{110pt}{Faulty nodes may behave arbitrarily} & |
623 |
\parbox{110pt}{Half-life phenomenon (for analysis), simple overlay maintenance and construction protocol} & |
\parbox{110pt}{Byzantine replication protocols -> get information from multiple entities, trust majority's opinion} & |
624 |
\parbox{110pt}{Initial theoretical analysis have been created, but not comprehensive model for analysing different system states and its variations (e.g. complex usage patterns)} |
\parbox{110pt}{Much research has been done on this field, practical solutions, decreases system's, performance slighly} |
625 |
\\ \hline |
\\ \hline |
626 |
|
|
627 |
|
|
628 |
\parbox{90pt}{Inconsistent behaviour} & |
\parbox{90pt}{Mutual distrust} & |
629 |
\parbox{110pt}{Hostile node could act correctly with its neighbors, but incorrectly with others} & |
\parbox{110pt}{Nobody trusts anybody} & |
630 |
\parbox{110pt}{Public keys, digital signatures} & |
\parbox{110pt}{Reputation methods, key infrastructures} & |
631 |
\parbox{110pt}{Not practical approach/working proposal created yet} |
\parbox{110pt}{Resource demanding, not practical to implement/not working solutions, no real world experience in a wide scale} |
632 |
\\ \hline |
\\ \hline |
633 |
|
|
634 |
|
|
635 |
\parbox{90pt}{Hostile groups} & |
\parbox{90pt}{Lack of motivation to cooperate} & |
636 |
\parbox{110pt}{Joining node may join parallel network, formed a group of hostile nodes, hostile node(s) controls the construction of the network} & |
\parbox{110pt}{All participants do not behave like they should be, instead they go for own profit} & |
637 |
\parbox{110pt}{Use trusted nodes, based on history information, Cryptography, key infrastructure} & |
\parbox{110pt}{Different reputation methods} & |
638 |
\parbox{110pt}{Not 100\% sure if Centreal Authority (CA) is missing, not practical approach/working proposal created yet} |
\parbox{110pt}{No real world experience in a wide scale} |
639 |
\\ \hline |
\\ \hline |
640 |
|
|
641 |
|
|
642 |
\parbox{90pt}{External threats} & |
\parbox{90pt}{Heterogeneity} & |
643 |
\parbox{110pt}{Viruses, trojans, sniffers} & |
\parbox{110pt}{There are different kind of nodes in the system, in light of bandwidth and computing power} & |
644 |
\parbox{110pt}{Data integrity/authenticity, distributed antivirus software} & |
\parbox{110pt}{Super peers (broadcasting), cluster (broadcasting) additional layer upon DHTs, structural simplicity (DHTs)} & |
645 |
\parbox{110pt}{Not much research has been done on this} |
\parbox{110pt}{Working solutions, increases system complexity (additional layer)} |
646 |
|
\\ \hline |
647 |
|
|
648 |
|
|
649 |
|
\parbox{90pt}{Programming guidelines} & |
650 |
|
\parbox{110pt}{Set of programming guidelines/frameworks is needed for better interoperability between different systems} & |
651 |
|
\parbox{110pt}{Common frameworks and APIs} & |
652 |
|
\parbox{110pt}{Common framework/API is still missing, a lot of proposals have been made} |
653 |
\\ \hline |
\\ \hline |
654 |
|
|
655 |
|
|
659 |
\parbox{110pt}{Only small subset of peer-to-peer networks has been able to analyse, because of ad hoc properties of network, more poweful solutions needed} |
\parbox{110pt}{Only small subset of peer-to-peer networks has been able to analyse, because of ad hoc properties of network, more poweful solutions needed} |
660 |
\\ \hline |
\\ \hline |
661 |
|
|
662 |
|
|
663 |
\parbox{90pt}{How to locate existing network} & |
\parbox{90pt}{How to locate existing network} & |
664 |
\parbox{110pt}{Ability to simulate whole p2p network's usage patterns, network traffics, flux state etc} & |
\parbox{110pt}{Ability to simulate whole p2p network's usage patterns, network traffics, flux state etc} & |
665 |
\parbox{110pt}{gnutellahosts.com} & |
\parbox{110pt}{gnutellahosts.com} & |
666 |
\parbox{110pt}{Only small subset of peer-to-peer networks has been able to analyse, because of ad hoc properties of network, more poweful solutions needed} |
\parbox{110pt}{Only small subset of peer-to-peer networks has been able to analyse, because of ad hoc properties of network, more poweful solutions needed} |
667 |
\\ \hline |
\\ \hline |
668 |
|
|
669 |
|
|
670 |
\parbox{90pt}{Overlay management} & |
\parbox{90pt}{Overlay management} & |
671 |
\parbox{110pt}{Ability to simulate whole p2p network's usage patterns, network traffics, flux state etc} & |
\parbox{110pt}{Ability to simulate whole p2p network's usage patterns, network traffics, flux state etc} & |
672 |
\parbox{110pt}{gnutellahosts.com} & |
\parbox{110pt}{gnutellahosts.com} & |
674 |
\\ \hline |
\\ \hline |
675 |
|
|
676 |
|
|
|
|
|
|
|
|
677 |
\end{longtable} |
\end{longtable} |
678 |
|
|
679 |
|
|