{"ObjectType":101,"Sequence":3,"PreHash":"982DC3A56C8858F7D4B1B0A2D0713DD3","Content":"有了密码学账号的个体\n如何在网络空间活动?\n\n直接给答案:当然是使用密钥签名一条消息,然后发送给目标\n\n这里我选择使用json作为组装消息的格式\n\n使用测试账号:\nAddress:o8Tjmes6iAukirYrBosSY9ntC5ahqz9ztK\nPublicKey:0203411B7B6FA68C59DE640CA6E4648A60BFFA17020BAD5B47C7CDE58431D70D43\n\n\n先构造基础消息\n{\n\"Action\":201,\n\"Content\":\"Hello world...\",\n\"PublicKey\":\"0203411B7B6FA68C59DE640CA6E4648A60BFFA17020BAD5B47C7CDE58431D70D43\"\n}\n\nAction是消息类型(为什么用Action不用Type,因为消息是个体在网络空间的活动)\nContent是消息内容\nPublicKey是消息生成账号o8Tjmes6iAukirYrBosSY9ntC5ahqz9ztK的公钥\n\n使用账号o8Tjmes6iAukirYrBosSY9ntC5ahqz9ztK的密钥对消息签名\nSignature:3044022018C52C995C094392113EC322E270EFAD854219701C53C6DEA791B0B139129A9E02203DF614DC1671A1E939B77AA840CE847E2DC39971FE2C9212A9C35C40A29283D0\n\n对基础消息增加签名,可以得到\n{\n\"Action\":201,\n\"Content\":\"Hello world...\",\n\"PublicKey\":\"0203411B7B6FA68C59DE640CA6E4648A60BFFA17020BAD5B47C7CDE58431D70D43\",\n\"Signature\":\"3044022018C52C995C094392113EC322E270EFAD854219701C53C6DEA791B0B139129A9E02203DF614DC1671A1E939B77AA840CE847E2DC39971FE2C9212A9C35C40A29283D0\"\n}\n\n可以使用0.1.0版的oxo-chat-client右小角的<校验Json>对这条消息进行校验\n\n前面提到用公钥可以算出账号地址,\n其次校验签名需要的三个参数是:基础消息、公钥、签名\n\n因此在基础消息中加入公钥,第一可以表明消息的生成账号,第二可以用于后续的签名校验,是必要的\n\n加入签名后的消息,修改任意一个字符都无法通过校验,\n(这在数学上是可以被证明的,可以被证明的才是可信的,因此我信仰数学【In Math, I believe】)\n由其不可改变的特性,我称其为原子消息。\n\n使用这条原子消息,个体可以实现了“使用账号o8Tjmes6iAukirYrBosSY9ntC5ahqz9ztK在网络空间上进行了一次活动/操作”,其他个体无法使用账号o8Tjmes6iAukirYrBosSY9ntC5ahqz9ztK做出操作。","Timestamp":1593160063741,"PublicKey":"0216B8875FE7513978CF2167C7AB7A3A6BC1F95E7DE20498980CACB70E51EA207A","Signature":"304402205BAA74AA464AE2CCB6C43C080833A54B68D0E346826A419B624D9AC5C790DCF802207798DE62C87078C1C797FF651218E794FE730DD9D287358C14C4A3A0BB883D8A"}
oxo