I bought $300 of BTC a few years ago, and today my position is worth about $1,000.
I feel like the rational thing to do is recover my principal at this point. I'm thinking I might sell $500 worth, which lets me walk away with a guaranteed win. That would also leave $500 on the table, in case the rally continues or gets even crazier. The idea would be then to leave what remains for a very long time, since I get to continue gambling with ZERO risk.
Does this seem like a rational approach?
I agree with @fireseeker .No, technically this is not rational.
You are anchoring to your $300 purchase price. Rationally speaking, this figure is no longer meaningful (except for ACB purposes).
Today, you have BTC worth $1,000. If you sell half and the other half goes to zero, you will lose $500. It's not zero risk.
That said, I would do just what you're proposing!
If you invested $300 four years ago and it's worth $1000 today and you take off the table $500, you are not zero risk. You currently own $1000 at high risk, but you own $1000 as of today. You'd only drop that exposure to $500 at high risk. Basically, you'd only reduce your high risk exposure in half. That's it. Zero risk means taking off the table all of its current value.