Most efficient way to draw a cube?

I’m making a voxel engine which requires a lot of cube to be drawn, thus I need a better way to draw a cube than GL_QUADS for all the sides. Which way of drawing a cube uses the least vertexes?

Don’t draw the cubes, draw the surface (look up iso-surface extraction, marching cubes etc).