static int distance(final Bytes v1, final Bytes v2) {
    assert (v1.size() == v2.size());
    final byte[] v1b = v1.toArray();
    final byte[] v2b = v2.toArray();
    if (Arrays.equals(v1b, v2b)) {
      return 0;
    }
    int distance = v1b.length * 8;
    for (int i = 0; i < v1b.length; i++) {
      final byte xor = (byte) (0xff & (v1b[i] ^ v2b[i]));
      if (xor == 0) {
        distance -= 8;
      } else {
        int p = 7;
        while (((xor >> p--) & 0x01) == 0) {
          distance--;
        }
        break;
      }
    }
    return distance;
  }
Calculates the XOR distance between two values.

@param v1 the first value
@param v2 the second value
@return the distance
ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDistanceCalculator.java