func PublicKeyFromBytes(bytes []byte) (publicKey PublicKey, consumedBytes int, err error) {
	marshalUtil := marshalutil.New(bytes)
	if publicKey, err = PublicKeyFromMarshalUtil(marshalUtil); err != nil {
		err = xerrors.Errorf("failed to parse PublicKey from MarshalUtil: %w", err)
	}
	consumedBytes = marshalUtil.ReadOffset()
	return
}
PublicKeyFromBytes creates a PublicKey from the given bytes.
package bls
import (
	"github.com/iotaledger/hive.go/marshalutil"
	"github.com/mr-tron/base58"
	"go.dedis.ch/kyber/v3"
	"go.dedis.ch/kyber/v3/sign/bdn"
	"golang.org/x/xerrors"
)
type PublicKey struct {
	Point kyber.Point
}