What you asked for is technically impossible yet for today's hardware. Imagine a huge ship, made from thousands of blocks, and the game would have to calculate each voxel and its position again and again while you steer it across the ocean. not to mention the information stored for each block how is connected to other pieces, the size, texture, etc.
That is why you do not do moving voxels. Require that ship construction only be done in drydock, then when you launch it - the game internally merges all the blocks into one mesh so that it is now a 3D object just like the rowboat (same as an export/import blueprint as 3D object function) Want to make changes you have to go back to drydock, it just needs to sync the block version and the 3D object version.
But even without that the game may be more performant than expected, because each block is the same mesh instanced thousands of times it reduces draw calls by orders of magnitude. I think this is where Ark boats have problems each wall/floor is loaded as a seperate mesh even though they are the same mesh - watch it draw things piece by piece as you get near. I think they did piece instancing in ASA because base/ship loading is much more performant.
Also you only need to calculate moving world position for the steering object. The rest of the blocks only know they are attached to the steering object by using a local coordinate system. You certainly do not need to calculate moving world position for each block