class BroadcastValidationProtocol implements
    NativeProtocol<Void, ResourcePoolT> {

  @Override
  public EvaluationStatus evaluate(int round, ResourcePoolT resourcePool, Network network) {
    if (resourcePool.getNoOfParties() <= 2) {
      return EvaluationStatus.IS_DONE;
    }
    if (round == 0) {
      broadcast = new SecureBroadcastUtil(network);
      digest = broadcast.computeAndSendDigests(input);
      return EvaluationStatus.HAS_MORE_ROUNDS;
    } else {
      broadcast.receiveAndValidateDigests(digest);
      return EvaluationStatus.IS_DONE;
    }
  }

  public  BroadcastValidationProtocol(List<byte[]> input);
  public  BroadcastValidationProtocol(byte[] input);

}