Performance optimizations and memory management

Added some benchmarks to secure channel and played around with improving its performance, also started using a sync.Pool for message buffers.
is avoiding extra hash the reason to change from `NewBlock` to this?