The person who wants to block robocalls can configure from their home phone a challenge statement that every incoming call must respond to before the call to the dialed number is completed. For example, I could create my challenge with a simple command such as: "Press to complete this call". If the caller is human, they simply press the number or respond correctly to the simple challenge and their call is passed to the end user and only then is the dialed number actually "rings". If the challenge is not responded to correctly, the call is dropped and the dialed number does not ring.
Note that the challenge could be almost anything to prevent the robocall from "listening" to the challenge and using IVR technology to respond to a simple digit request. An example might be: "If you are a robocall, press '1' but if you are a real person, press '2'". Complex, but simple conditional statements would exceed typical IVR ability to parse input and prevent it from getting past the robo-filter.