It's a terrible idea.
Attempting to introduce this into the current protocol (or a newer one) isn't a practical idea.
It's as practical as any other idea; perhaps even more so, because we'd have 20 years for all bitcoin peers to update themselves to this agreed protocol change before it would even take effect, plenty of time for conformance testing, planning, etc.
Mostly because you're attempting to solve a "problem" that shouldn't be solved at the protocol level. Think layers of an onion. In this case, we have a solid core. This is a type of "problem" that can be solved by increasing the precision of the bitcoin divisions.
Yeah now that I think about it more, perhaps there is no value in guaranteeing that no bitcoins are ever lost. Because practically speaking, there is no difference between a bitcoin that cannot be spent because it's lost, and a bitcoin that will not be spent because the owner wants to hoard it. Still I wonder if perfect knowledge of exactly how many bitcoins are circulat-able is valuable in any way; if it is, then my proposal has merit.
What happens if someone digs up their private keys 20 years from now and tries to spend their savings? I don't think the system should be coded to automaticly steal from people.
They already lost their money if they waited 20 years. I mean come on, it's not that hard to 'refresh' your bitcoins at least once every 20 years. If you can't do it for some reason, then you've lost your money, sorry. I would bet that orders of magnitude more people are going to lose their money because they lose their private key somewhere along the way than would ever lose their money due to this 20 year rule, and this kind of loss is already built into the bitcoin system. But you're willing to accept that I guess because, even though it's many orders of magnitude worse than the 20 year rule, it's already built into the bitcoin system so I guess it's not a problem to you?
To me, this really nails it on the head. Any of the time-out proposals would introduce a footnote into the system. Your savings will be GONE if you forget this little long-term clause. Exceptions like this don't belong in the core protocol.
If it were a built-in rule then it would be very clear to everyone and I doubt that anyone would be caught out in the cold by it. Seriously. Someone else pointed out that many banks have a policy already that if you don't use your account in 7 years, the bank reclaims the money. Or something like that. People can handle rules like this.
It's not that I'm saying it's super important to get it into the bitcoin protocol; I just think it's an interesting idea and there's something satisfying about a system that can guarantee 0% inflation and 0% deflation.