It is important for the data that is stored and manipulated by a system to maintain its integrity, that is the data should not become corrupt, nor become invalid due to issues such as concurrency or network problems. Should such an integrity loss occur then it could result in systems failing or in business decisions being based on incorrect data.
Maintaining data integrity is more difficult with P2P systems due to the fact that data will frequently be passed between nodes. Consequently there is the possibility that data can become corrupted in transfer or whilst residing on a node. Furthermore, as there is nothing stopping multiple instances of the data existing then there is also the issue of concurrency, where it can become unclear which node possesses the current correct version of the data.
However the distributed nature of P2P can also contribute to achieving data integrity. By having multiple copies of the data existing through out the system there is in a sense an in built backup mechanism. Should the data on one node become corrupt then it might be possible to obtain the same piece of information from another node.
Achieving data integrity is likely to be most difficult to achieve in fully decentralised systems, due to the lack of central foci. For semi-centralised systems it is different, as with such architectures there exists the possibility of the central server nodes being used to store the most up to date versions of the data. By allowing these server nodes to make backups achieving data integrity can be further supported.