block底层原理