POI validation, importance of quality data

Hi everyone.
As you may know, we don’t have official tools or ways to check our Indexed data. But validated\verified data it’s one of the main responsibility of the Indexers.
Now only a few Indexers check their POI’s with others on a regular basis.
I believe that most part just doesn’t have their own tools and don’t know about shared tools.
You can find one of them here: GitHub - p2p-org/graphprotocol-poi-checker: Python script to check POI across multi indexers for defined subgraph
Feel free to share other variants in the comments.

We are checking POI for all indexed subgraphs before each closing of allocations, even if we don’t have an open allocation for these subgraphs. Just for understanding that everything is fine. And sometimes it’s really hard to understand everything is good or not. I will show you part of our results for epoch #159:

Start to check POI for subgraph: QmRDGLp6BHwiH9HAE2NYEE3f7LrKuRqziHBv76trT4etgU (UMA Mainnet Voting)

Match 7 out of 10

OK: POI matched with indexer 0xfd12a5a7bc7f2eb4904a8177418dbb0bf094ba16 AllocatedTokens: 1362873. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0xd9c7cdf09d868467d9f94f885dd68e850e278118 AllocatedTokens: 350000. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0xbf4af02f7855c7ead52d037349b7a76e48ed47a9 AllocatedTokens: 472277. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0xbb784d9b398271b7a64f975bebde869409691915 AllocatedTokens: ~ 0. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x1a6a74648ff8146f9b7df3a7e322506612e13e6a AllocatedTokens: 10. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x0ceb7aa784616f4cd5d581ed5d1182bc4340b460 AllocatedTokens: 439346. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x1a6a74648ff8146f9b7df3a7e322506612e13e6a AllocatedTokens: 10. Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0xce9df315e4780fed7894bcbcbfe2e34f0f804df1 AllocatedTokens: 15000. Generated POI: Indexer POI: 0x860056bc5997d82c2e20960084051aa28d57cdabc7ed5f2ee5e82d1855deb2af Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0xa3eb195c91c428d48c7ce24301f0dfbaf972b5d7 AllocatedTokens: 1077293. Generated POI: Indexer POI: 0xa776a3335fd6f49e19cc58ccb34fbfae9ca120b845dbedefb1aff4caf9994ffd Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0x039b47ea916783f78d943d94de700a17f40ae6d4 AllocatedTokens: 20000. Generated POI: Indexer POI: 0xbf14c451b7f412371ce7a8c1b714d3bfbf58f5edf820e32cfd21c112b41b4ca3 Allocation was closed in 159 EPOCH

It seems that we have good POI and 3 Indexers have the wrong POI.


Start to check POI for subgraph: QmTj6fHgHjuKKm43YL3Sm2hMvMci4AkFzx22Mdo9W3dyn8 (Audius Network Mainnet)

Match 6 out of 10

OK: POI matched with indexer 0x1a6a74648ff8146f9b7df3a7e322506612e13e6a AllocatedTokens: 10. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0xd9c7cdf09d868467d9f94f885dd68e850e278118 AllocatedTokens: ~ 0. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0xd9c7cdf09d868467d9f94f885dd68e850e278118 AllocatedTokens: 350000. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x1a6a74648ff8146f9b7df3a7e322506612e13e6a AllocatedTokens: 10. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0xbf4af02f7855c7ead52d037349b7a76e48ed47a9 AllocatedTokens: 472277. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x4dc44f5906f593da2ac28be1d22c4ee9cd556420 AllocatedTokens: 406859. Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0xce9df315e4780fed7894bcbcbfe2e34f0f804df1 AllocatedTokens: 15000. Generated POI: Indexer POI: 0x2c4d2e08e4f7888dbc3b62fcca433601bda6a4283ac4cd9489ab8718b4f75a53 Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0x039b47ea916783f78d943d94de700a17f40ae6d4 AllocatedTokens: 20000. Generated POI: Indexer POI: 0x5dd82935a8e27439178626cfd08786a14bc66114d345ad9be7b3848647a56c79 Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0x4595855ed2d498fc2cbd7f415e7f262e2328d950 AllocatedTokens: 1502372. Generated POI: Indexer POI: 0x56c14b621176fed25c180ec7a7a5152f2b5c1e543d1ac801c633ffe63033ea40 Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0x9d2adf4bbbe140020baf520ed084f8a1f38f643c AllocatedTokens: 100000. Generated POI: Indexer POI: 0x6f6cddadd17b18017030d4b181f78f3d1a913010586693fb389591c807f16994 Allocation was closed in 159 EPOCH

It’s hard to say. All of these Indexers not so active in the community, 2 of them also were in the previous batch. Most likely we have good POI here and 4 Indexers have wrong


Start to check POI for subgraph: QmRhYzT8HEZ9LziQhP6JfNfd4co9A7muUYQhPMJsMUojSF (old Pooltogeter)

Match 10 out of 10

OK: POI matched with indexer 0x914cefe3b3e68cdf813c4b947ce2db76c28c2287 AllocatedTokens: 493047. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x0b751463e07d90f465573d3b5dd45e1afafd4cd0 AllocatedTokens: 4071864. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0xce9df315e4780fed7894bcbcbfe2e34f0f804df1 AllocatedTokens: 28968. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0xf4a097ce3a4efbd1748b2ef2076813961e4e6fa7 AllocatedTokens: 1634260. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x5a8904be09625965d9aec4bffd30d853438a053e AllocatedTokens: 452080082. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x4fedde33607cfda2c82a999accb427d1170987d9 AllocatedTokens: 1. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x62a0bd1d110ff4e5b793119e95fc07c9d1fc8c4a AllocatedTokens: 3635165. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x1a6a74648ff8146f9b7df3a7e322506612e13e6a AllocatedTokens: 10. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0xd9c7cdf09d868467d9f94f885dd68e850e278118 AllocatedTokens: 1. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x4437e367cc68d87675148a9e4a1f052f0359c880 AllocatedTokens: 8563206. Allocation was closed in 159 EPOCH

Everything looks fine


Start to check POI for subgraph: Qmaz1R8vcv9v3gUfksqiS9JUz7K9G8S5By3JYn8kTiiP5K (Livepeer)

Match 6 out of 9

OK: POI matched with indexer 0x19fbac0891042be71ce60321a17720358575f580 AllocatedTokens: 3996842. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x0ceb7aa784616f4cd5d581ed5d1182bc4340b460 AllocatedTokens: 439346. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x4dc44f5906f593da2ac28be1d22c4ee9cd556420 AllocatedTokens: 406859. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0xbf4af02f7855c7ead52d037349b7a76e48ed47a9 AllocatedTokens: 472277. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x1a6a74648ff8146f9b7df3a7e322506612e13e6a AllocatedTokens: 2089370. Allocation was closed in 159 EPOCH

OK: POI matched with indexer 0x365507a4eef5341cf00340f702f7f6e74217d96e AllocatedTokens: 1614266. Allocation was closed in 157 EPOCH

FAILED: POI missmatched with indexer 0x48eecbc147a4b97e30fd03ef738b9305812e0287 AllocatedTokens: 1015008. Generated POI: Indexer POI: 0x64498dad1cb794ae3199f781594d883e387c2809cd80613a67bc93e04fcc5193 Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0xddc39dceb6d8fb94d8a9b59cf3bf9a1e7ae19034 AllocatedTokens: 370230. Generated POI: Indexer POI: 0xfa550db12afa1eec4fffc44d6bb0d587661b62a498639d93027aba7bc466410e Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0x427f071e335bfa32241bbfa7f240f24a8a46f292 (mind-heart-soul) AllocatedTokens: 688362. Generated POI: Indexer POI: 0xedcbd4b3c3e7649620d4373e5741a4f767ffff6bc1d8ecde659d06c2f6d223af Allocation was closed in 157 EPOCH

Everything looks rather good than bad, BUT we found here Mind-heart-soul, we know that they are quite active and definitely thinking about the quality of their data. So, we can’t be sure here which POI is wrong, their or our


Start to check POI for subgraph: QmZdsSbRwVD7VVVm5WGxZZC6HYvbjnFb4hcwvQ4fTs5bxA (mStable Protocol)

Match 0 out of 10

FAILED: POI missmatched with indexer 0x1a6a74648ff8146f9b7df3a7e322506612e13e6a AllocatedTokens: 10. Generated POI: Indexer POI: 0x7a40a1455a31f34769db57b2bedfd75804bcbf717807d7231b1de6c665c6af89 Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0xce9df315e4780fed7894bcbcbfe2e34f0f804df1 AllocatedTokens: 15000. Generated POI: Indexer POI: 0x491f0a8bcbd46ad1ec108cac94745923c6bb47476fe2c863b91d61e63696df7c Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0xd9c7cdf09d868467d9f94f885dd68e850e278118 AllocatedTokens: 50000. Generated POI: Indexer POI: 0xf0e5401dbeb73e84e1dfe3157ec70afedc47f90553e0c4d9323d0bcfc2d1e583 Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0xbf4af02f7855c7ead52d037349b7a76e48ed47a9 AllocatedTokens: 472277. Generated POI: Indexer POI: 0xfc184dd3c413b65581b08a0585bbcc7bed5922f69ac8e01f6394395dca8695c5 Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0xe7738d5679b54781a5482baa48dadfde624ed7d5 AllocatedTokens: 1053640. Generated POI: Indexer POI: 0x1b285418dd8d5ac1cee8dbe9d939124c3f9fa6627cf43f25d70e4b454a7f0fd7 Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0x039b47ea916783f78d943d94de700a17f40ae6d4 AllocatedTokens: 20000. Generated POI: 0x7571b25ca6f7e342dc74cf8def70510cb71caf3dd08c6aef615df952fcac42b3 Indexer POI: 0x3dee7b9694c184781f6172c8bcf14963d89212cd2f11f1dc5221b1db02c499cf Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0x1a6a74648ff8146f9b7df3a7e322506612e13e6a AllocatedTokens: 10. Generated POI: 0xcbed2c6413ee6ac81de54df14e527c46534b7eae770ee7551604127f4bf8b083 Indexer POI: 0x7a40a1455a31f34769db57b2bedfd75804bcbf717807d7231b1de6c665c6af89 Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0xd9c7cdf09d868467d9f94f885dd68e850e278118 AllocatedTokens: 200000. Generated POI: 0x97edf24435cf6f5b6d478532b9611ce153e164a3a9bcad913798b99658d82e97 Indexer POI: 0xf0e5401dbeb73e84e1dfe3157ec70afedc47f90553e0c4d9323d0bcfc2d1e583 Allocation was closed in 159 EPOCH

FAILED: POI missmatched with indexer 0x365507a4eef5341cf00340f702f7f6e74217d96e (graphops) AllocatedTokens: 1614266. Generated POI: 0xfdcdbf87bfccdbef754679fb356c64a9897e6ffb6cfca7cf34ada8758e87441d Indexer POI: 0x9aa0cf7d68559799cd2c51bed24793eaff23e64d91b915b6769e54b3edb6c438 Allocation was closed in 157 EPOCH

FAILED: POI missmatched with indexer 0x3eb3297b0e34a7897aa004b66a354053425f7894 (chainodetech) AllocatedTokens: 1500. Generated POI: 0x038b94ed8c9c8b45282967369a0f31244e4876fe0128712bdb9098f83f8d9ef2 Indexer POI: 0xe57136b3654cc0bc2612fb48598e1afd65048baeeefcce9fd3b97782f0f1d711 Allocation was closed in 156 EPOCH

Most interesting case. 0 matches, a couple of names presented in the community, but also a couple of addresses who traditionally has bad POI. So, most likely, our POI is wrong here. We resynced this subgraph several times with different OE nodes, but we have 0 matches all the time

We can check our POI only with Indexers who already close their allocations. Most of the well-known Indexers do this not so often, so sometimes it’s not so easy to check it and we postpone checking to another day.

What I think we (all Indexers, not only p2p) should do here:

  1. Create a group of Indexers “who care about”. Who usually active in the Discord, Forum and etc.
  2. Start checking our POI on the regular basis. You don’t need to close your allocations for that. We can just make cross-check with Indexers who closed allocations.
  3. Understand, who has the wrong POI.
  4. Help them to solve their problems.

If we will do that, we will help the network with validated data. And help each other to further check because we will know that at least this particular 10-20-30 Indexers will have the right POI and we can compare our POI with this trusted list.

Please share your thoughts.
Also, it will be pretty helpful if you check your POI for mStable with others and share your results.

2 Likes