Problem
The updateData call checks that the number of shares matches the number of nodes in the cluster ... but if there's no data to encrypt then conceal returns 1 copy of the data and the exception is thrown. Conceal returns 1 array element because thats what blindfold-ts' allot returns if there are no keys to encrypt. Unclear where this should be fixed.
Proposed solution
It probably makes sense to always have a copy of data for each node, even if there is no encrypted data. Otherwise sometimes the library is dealing with 1 copy of the data and other time num cluster copies of the data.