'Filter votes from unknown nodes or nodes that are not listed on
block. This is the primary Sybill protection.'

@classmethod
def partition_eligible_votes(cls, votes, eligible_voters):

    (eligible, ineligible) = ([], [])
    for vote in votes:
        voter_eligible = (vote.get('node_pubkey') in eligible_voters)
        if voter_eligible:
            try:
                if cls.verify_vote_signature(vote):
                    eligible.append(vote)
                    continue
            except ValueError:
                pass
        ineligible.append(vote)
    return (eligible, ineligible)
