A assinatura é σ = sk·H(m), em que H leva a mensagem, por hash, a um ponto da curva (RFC 9380), e a verificação confere a equação de emparelhamento e(σ, g) = e(H(m), pk). Assinaturas de quaisquer mensagens podem ser somadas em um único ponto; verificar um agregado custa um emparelhamento por mensagem distinta, mais um. Na BLS12-381, a variante “minimal public key” usada pelo Ethereum tem chaves públicas de 48 bytes e assinaturas de 96 bytes; a variante “minimal signature” inverte os grupos.
O esquema está especificado no Internet-Draft draft-irtf-cfrg-bls-signature do IRTF CFRG; a camada de consenso do Ethereum (desde o lançamento da Beacon Chain, em 1º de dezembro de 2020) usa a ciphersuite BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_. Agregar assinaturas da mesma mensagem exige uma prova de posse para cada chave, para impedir ataques de chave maliciosa (rogue-key). Entre os outros usuários estão Filecoin, Chia e o beacon de aleatoriedade drand, que depende de BLS de limiar.
O BLS não está em nenhum padrão do NIST, a verificação custa cerca de dois emparelhamentos (milissegundos em vez de microssegundos) e, como toda criptografia baseada em emparelhamentos, ele é quebrado pelo algoritmo de Shor.