What is the purpose of addr_from and addr_recv in version message?
Answered in this comment:


  Bitcoin Core actually ignores addr_from in received version
  messages. addr_recv is used to influence the heuristic that
  determines which of the receiving node's IP addresses is publicly
  reachable.