Mas se varia sempre como sabe que aquele comando é o dele??
sempre a aprender
é um "variar" conjunto.. cada vez que o comando "abre", há uma logica partilhada entre os 2 (algoritmo) em que da proxima o codigo enviado pelo comando é diferente e o carro também está à espera dessa mesma diferença.. ou seja.. se alguém copiar o que lá vai, que seria possível, tentando usar o carro diz "eu conheço este código mas não é o que é suposto eu receber agora". Aqui depois cai uma lógica de cifra como as normais, ou seja, pegando nesse codigo, e mesmo os seguintes, não dá para calcular qual será o próximo (ou daria mas demoraria uma eternidade para conseguir perceber a logica de sequencia).
Agora imagina que tens vários comandos (p.e. uma garagem com este mesmo sistema):
Pessoa 1 abre o portão - o portão envia-lhe o novo codigo (p.e. código A)
Pessoa 2 abre o portão - o portão envia-lhe o novo codigo (não é o mesmo do que foi dado à pessoa 1, é o seguinte (codigo B)
Pessoa 3 abre o portão - o portão envia-lhe o novo codigo (não é o mesmo do que foi dado à pessoa 1 nem à 2, é o seguinte (Codigo C))
Pessoa 1 volta a abrir - o portão envia-lhe o seguinte (codigo D)..
Daí se chamar "rolling code"..
Há uma lógica que permite que o portão calcule até um x numero (tipicamente 256) de vezes à frente. Ou seja, se a pessoa 1 durante uns dias não abrir o portão, e muitas outras abrirem entretanto, o portão vai conseguir descodificar o 1 quando ele chegar, desde que dentro desse número de vezes. Caso uma pessoa não use um comando durante muito tempo, e provavel que tenha de ser programado de novo.