What is the most efficient way to find bSmooth values in QS? The heaviest part of QS is to search for bSmooth numbers.
So far I thought about two algorithms for solving this.

Trial division


calculate $X$ as a product of all the values in the factor base
speed up the trial division with $gcd(X,Y)$ where $Y$ is a potential bSmooth value
The most efficient method is to use a sieve; this is why the method is called the quadratic sieve. It should be mentioned, though, that the sieve is just an optimization over Dixon's method, and doesn't affect the asymptotic running time apart from some (multiplicative) lower order terms. For a description of the sieve, you can start with Wikipedia.