I am pretty new to the computer networking studies and was learning about the DHCP protocol. It is implemented based on UDP, as I've gathered, but is there a way for it to be implemented over TCP? What would lead to this implementation? Thank you for your time.
If it doesn't need to be a very practical implementation, you could e.g. use link-local addresses to establish a TCP connection to a "DHCP over TCP" server and use that to lease a non-local address.
Discovery would still require broadcast or multicast, disqualifying TCP. Alternatively, the DHCP server could use a well-known, static link-local address that doesn't need discovery.