## 2 Preliminaries
Present-day blockchain frameworks (Bitcoin, Ethereum,... ) have a very limited storage capacity, compared to other systems [35]. For example,the Bitcoin core protocol limits blocks to 1 MB in size [57], although there are specialized blockchain-based decentralized storage networks to store higher amounts of data (IPFS, Storj, Sia, Filecoin, Swarm, etc.) [58]. The current blockchain-based proposals present some issues related to their scalability, that is, the ability to handle large volumes of transactions at high speeds. In general, state-of-the-art blockchain implementations exhibit relatively low transaction efficiency and high confirmation delays. As an example, seven transactions per second (tps) are achieved in Bitcoin and 15 tps in Ethereum. In the case of Hyperledger, hundreds or even thousands of tps can be obtained depending on the actual configuration utilized. In contrast, centralized systems such as VISA can process a maximum of 24,000 tps [33,59]. Nowadays, millions of academic certificates are issued annually around the world. As an example, according to the European Tertiary Education Register (ETER) [60], there are 2465 higher education institutions hosting more than 17 million students at Bachelor, Master, and PhD levels and 225 million students around the world in 2018 [61]. To address the challenges of increased storage requirements, scalability and performance, the proposed model combines on-chain and off-chain storage and distributes the blockchain system into interconnected blockchains, respectively. Note that the aforementioned situation, with many independent educational document issuers, facilitates a distributed approach. Section 5 below discussed the model proposed in Section 3 to solve these issues, together with related specific proposals with similar objectives summarized in Section 2. \begin{table}
\begin{tabular}{c c c c c c c} \hline
**Initiative** & \multicolumn{2}{c}{**Scalability**} & \multicolumn{1}{c}{**Right to Ensure**} & \multicolumn{1}{c}{**Data**} & \multicolumn{1}{c}{**Grant/Remove**} & \multicolumn{1}{c}{**Data**} & \multicolumn{1}{c}{**Data Access**} \\  & **Number of Blockchains** & & & & **Modification** & **Permissions** & **Portability** & **Accountability** \\ \hline [PERSON] and Fernandez [40] & 1 bc Multichain & - & - & - & - & X \\ Amd and Guero [53] & 1 bc & - & - & X & X & X \\ Bagdyal and Chowdhary [50] & 1 bc & - & - & X & X & X \\ Bandar et al. [52] & 1 bc & - & - & -  
\begin{table}
\begin{tabular}{c c c c c c c c c c c c} \hline \hline
**Initiative** & **Storage** & **Regenerate** & **Regenerate** & **Verification** & **Share Data** & **Different** & **Data** & **Flexible** & **QR/Web to** & **Support for** & **Data Available** \\  & & **Data** & & **Partially** & **Data Types** & **Encycled** & **Format** & **Verify Data** & **Analytics** & **after Closure** \\ \hline \hline
**Anensus and Fernandez** **[**40**]** & **Off. + hash** & ✓ & ✓ & ✗ & ✗ & - & - & ✗ & ✗ & ✗ \\
**Arndt and Guerro** **[**53**]** & **Off./Rec & ✗ & ✓ & ✗ & - & - & - & ✗ & - & ✗ \\
**Badyal and Chowdhury** **[**53**]** & **Rc & ✗ & ✓ & ✗ & - & \(\times\) & - & ✓ & - & ✗ \\
**[PERSON] et al. ** **[**52**]** & **Off. + hash + digital id** & ✓ & ✗ & ✗ & - & - & ✓ & ✓ & ✗ \\
**[PERSON]** **[**67**]** & **Off. & ✗ & ✓ & ✗ & ✓ & - & ✓ & ✗ & ✗ & ✗ \\
**[PERSON] et al. ** **[**53**]** & **Off. + hash + pointer & - & ✓ & ✗ & ✓ & ✓ & - & - & - & ✗ \\
**[PERSON] et al. ** **[**41**]** & **Off. + hash + event. id** & ✓ & ✓ & ✗ & - & - & ✓ & - & ✗ \\
**[PERSON] et al. ** **[**48**]** & **Off. & ✗ & ✓ & ✗ & - & - & - & ✓ & - & ✗ \\
**[PERSON] et al. ** **[**17**]** & **Off./hash & - & ✓ & ✗ & - & ✓ & - & ✓ & - & ✗ \\
**[PERSON] and [PERSON]** **[**44**]** & **Off./hash & - & ✓ & ✓ & ✗ & - & - & ✓ & - & ✗ \\
**[PERSON] et al. ** **[**53**]** & **File + hash & ✓ & ✓ & ✗ & ✗ & ✗ & ✗ & ✗ & ✗ & ✗ \\
**[PERSON] et al. ** **[**42**]** & **Off. + pointer to data & ✓ & ✓ & ✗ & - & - & - & - & - & ✗ \\
**[PERSON] and [PERSON]** **[**51**]** & **Off. & ✗ & ✓ & ✓ & ✗ & - & - & ✓ & ✗ & ✗ \\
**KARM