I was reading through Vitalik's blockchain interoperability paper available here
One thing he mentions is a company / project called EthereumLottery.io (currently not operating) which managed to achieve one way blockchain interoperability by reading Bitcoin's block height.
This sounds extremely exciting so I decided to give it a go and understand how its smart contract works. The smart contract is available here and I recommend reading it.
I read it and from my understanding, the blockchain interoperability part happens with those lines of code:
contract BTCRelay {
function getLastBlockHeight() returns (int);
function getBlockchainHead() returns (int);
function getFeeAmount(int blockHash) returns (int);
function getBlockHeader(int blockHash) returns (bytes32[3]);
}
I tried to go through it in full, however I do not understand at which point the smart contract manages to get the last Bitcoin block height. Is it a function called manually / centralized which uses a server/API to get the last block?
If so, does that mean that the contract owner could, at anytime pass anything else than the last bitcoin height?