A creature with reach can block any creature with flying (CR 702.17a). The flying ability simply requires that it can only be blocked by creatures with flying or reach — trample does not add any additional blocking restriction whatsoever.
Trample is a combat damage ability (CR 702.19), not a evasion ability. It governs how excess damage is assigned when a creature is blocked, allowing the attacker to assign lethal damage to blockers and then assign the remainder to the defending player or planeswalker. It has no effect on whether a creature can be legally blocked.
So when checking if a block is legal, you only need to confirm that the blocker meets the requirements imposed by the attacking creature's evasion abilities. Reach satisfies the flying restriction, and trample imposes no blocking restriction at all.
Example: Your opponent attacks with a 6/6 Dragon that has flying and trample. You block it with your 2/4 Spider (reach). The block is completely legal. During damage assignment, your opponent must assign lethal damage (2) to your Spider, then the remaining 4 tramples through to you.
Citations: CR 702.17a (flying), CR 702.18a (reach), CR 702.19a (trample).
Unofficial fan resource — not affiliated with or endorsed by Wizards of the Coast. Answers are AI-generated estimates grounded in the Comprehensive Rules and are not a substitute for an official judge. Verify anything match-critical.