Klaytn은 키 업데이트를 지원하기 때문에 서명에서 주소를 추출한 값이 서명자의 주소와 다를 수 있습니다.
계정의 키가 업데이트되면 (private-public) 키쌍과 계정의 주소인 address의 연결관계가 끊기게 되고 Klaytn은 계정에서 새롭게 사용하는 키 정보를 public key 형태로 저장하게 됩니다.
그러므로 업데이트 된 이후로는 address 계정에서는 public key B를 쓸거라는 정보가 저장되므로 서명이 기대하는 서명자가 한 것이 맞는지 검증하기 위해서는 public key를 확인해야 합니다.
코드를 보니 예전 버전의 기능들을 사용하고 계신 것 같은데요, 위의 과정을 수행해주는 함수가 제공되고 있습니다. caver.validator.validateSignedMessage 함수는 위에 설명된 과정을 수행하여 해당 서명값이 기대하는 서명자가 서명한 것이 맞는지 검증하고 결과를 리턴합니다. 이 기능을 사용하기 위해서는 최신 버전을 사용해 주시기 바랍니다.