Informações gerais sobre a transparência binária do Android estão disponíveis na página principal da 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 da Pixel Factory. Além disso, esses hashes são agrupados em blocos. Para uma visão geral de como dividir a árvore em blocos, consulte 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.
Detalhes sobre construções de caminhos de blocos podem ser encontrados na documentação de blocos tlog.
A raiz do bloco para cada registro é veiculada em:
- Registro de transparência do Pixel
https://developers.google.com/android/binary_transparency/tile
- Registro de transparência do código do Google
https://www.gstatic.com/android/binary_transparency/google1p/jwt/2026/01/package_info.txt
- Registro de transparência dos apps de produtos do Google
https://www.gstatic.com/android/binary_transparency/google1p/apk/2026/01/package_info.txt
- Registro de transparência do módulo principal
https://www.gstatic.com/android/binary_transparency/mainline/2026/01/module_info.txt
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 são do formato
tile/H/L/NNN[.p/W]. Assim, 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.