Informações gerais sobre a Transparência Binária do Android estão disponíveis na página principal de Transparência Binária.
Esta página contém mais detalhes sobre o formato dos arquivos nos vários diretórios tile/.
Esses arquivos contêm os hashes dos nós da árvore de Merkle que representam o registro de transparência binária para imagens de fábrica do Pixel. Além disso, esses hashes são empacotados em blocos. Para uma visão geral de como dividir a árvore em blocos, consulte Como dividir um registro em blocos.
Nesse registro, os nós são criptografados com hash usando SHA256. Usamos a biblioteca tlog para gravar os blocos especificamente com uma altura de 1. Isso significa que cada bloco contém, no máximo, 2^altura = 2 hashes, cada um com 32 bytes.
No entanto, para registros subsequentes (mais recentes), os blocos são definidos com uma altura de 8. Isso significa que cada bloco contém no máximo 2^8 = 256 hashes.
Confira os detalhes das construções de caminhos de blocos nos documentos de blocos do tlog.
A raiz do diretório de blocos de cada registro é disponibilizada em:
- Registro de transparência do Pixel
https://developers.google.com/android/binary_transparency/tile
- Registro de transparência do código do APK do sistema do Google
https://www.gstatic.com/android/binary_transparency/google1p/jwt/2026/01/tile
- Registro de transparência de aplicativos do Google
https://www.gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile
- Registro de transparência dos módulos principais do Android
https://www.gstatic.com/android/binary_transparency/mainline/2026/02/tile
Exemplo de computação com blocos
Para entender melhor como os blocos funcionam, vamos analisar um exemplo usando o registro de transparência do Pixel.
Vamos supor uma árvore de tamanho 8. Se você estiver analisando a entrada no índice 3,
ela será o primeiro hash no bloco t(0, 1). Os caminhos para blocos estão no formato
tile/H/L/NNN[.p/W]. Portanto, o caminho para o bloco t(0, 1) seria
https://developers.google.com/android/binary_transparency/tile/1/0/001.
A raiz da árvore estaria no bloco t(3, 0)/1, que é o caminho
https://developers.google.com/android/binary_transparency/tile/1/3/000.p/1.