level 11
自诩为大哲学家
楼主
目前的区块体积是十几G,已经大到明显影响新手入门的程度了。
一个小白下载了客户端,结果同步了一两天发现C盘被撑满了,那么对比特币的映像估计不会太好。
然后我就设想节约体积的可能性。
然后我想到,像下图这样的情况,是有压缩数据长度的余地的。

N个输入,来自同一个地址,输出较少。
查看其数据(Raw transaction)
发现其中出现了多个格式如下的内容:
{
"prev_out":{
"hash":"1c50d2e2f47f2419e0560537d4f91c1b7e600f0294c384cca3b30b42fee3c03e",
"n":1456
},
"scriptSig":"3045022100bf42b9c0e9f2db7e595e2f50dddb32fe28efe152eabed6563a59fbd88e430f230220213eba86d18289270b4ac807174beb2b9f42f8b8e317a63a33e9871280ea938f01 02229d7942a38599383979885067c89c427ba403751acdf1d4ff0a289c86ffad95"
},
也就是说,对于每一个输入,都要有一个签名。每个签名要100字节的话,那么10个输入就要用同一个签名签10遍,占用1000字节。
我想,要是把这些输入打包到一起,只签一个名,那一下子就能省下900字节。
同一个地址的小额比特币越多,省下来的空间越多。想那些经常领免费币的,如果始终用的都是同一个地址,那么省下来的手续费还是较可观的。
2013年12月12日 05点12分
1
一个小白下载了客户端,结果同步了一两天发现C盘被撑满了,那么对比特币的映像估计不会太好。
然后我就设想节约体积的可能性。
然后我想到,像下图这样的情况,是有压缩数据长度的余地的。

N个输入,来自同一个地址,输出较少。查看其数据(Raw transaction)
发现其中出现了多个格式如下的内容:
{
"prev_out":{
"hash":"1c50d2e2f47f2419e0560537d4f91c1b7e600f0294c384cca3b30b42fee3c03e",
"n":1456
},
"scriptSig":"3045022100bf42b9c0e9f2db7e595e2f50dddb32fe28efe152eabed6563a59fbd88e430f230220213eba86d18289270b4ac807174beb2b9f42f8b8e317a63a33e9871280ea938f01 02229d7942a38599383979885067c89c427ba403751acdf1d4ff0a289c86ffad95"
},
也就是说,对于每一个输入,都要有一个签名。每个签名要100字节的话,那么10个输入就要用同一个签名签10遍,占用1000字节。
我想,要是把这些输入打包到一起,只签一个名,那一下子就能省下900字节。
同一个地址的小额比特币越多,省下来的空间越多。想那些经常领免费币的,如果始终用的都是同一个地址,那么省下来的手续费还是较可观的。