I disagree, having a single password is a risk even if all encryption is done locally.
Why not use an M-of-N / 2-of-3 encryption scheme where the user can optionally have Keybase protect one of those keys via a 2nd factor. The user would keep the 3rd in the form of a yubikey or simply written down and physically secured.
This could improve both usability and security and Keybase itself still doesn't have access to your data.
> It's not possible to use 2FA without another party verifying the authentication code.
That's not true. You can verify the time based codes or do u2f yourself. You don't need a third party for that.
Right, but there's no way to cryptographically enforce that. All the totp implementations I've seen are symmetric, with the validating server running the same calculation from the same seed. You could do that locally - but then the seed can be extracted or a client can be patched to just not request the code in the first place.
Having 2FA with Keybase would be similar to having 2FA with a local password safe like Keepass. Yes, you could implement 2FA. However, you would have to rely on an external service, and if people have your password and can modify the software, they can simply comment out the 2FA check and they can decrypt your password safe.
The entire security model of Keybase is based on having all data encrypted at all times. Adding 2FA would add some false sense of security, which doesn't affect the encrypted data at all.