Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

学习Python时,参考国外大神的Python区块链实现

License

Notifications You must be signed in to change notification settings

qai41/blockchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

7 Commits

Repository files navigation

blockchain简介

学习Python时,参考国外大神的Python区块链实现

  1. 什么是区块链 区块链是很多区块链接起来,组成的一个"链条",区块链上的每个区块都有相同的数据结构,并通过算法保证每个区块的数据不可或者难于被修改,所以他对用户来说是比较可信的。区块链主要解决的问题也是信任问题(以当前的理解是这样的,可能还有其他主要解决问题)

  2. 那区块是什么样的?

 block = {
  'index': 1, //每个区块在区块链上的索引,你可以把他看做mysql的主键id
  'timestamp': 1506057125.900785, //事件产生时的时间戳
  'transactions': [ //这一整块是事件的具体内容
    {
      'sender': "8527147fe1f5426f9dd545de4b27ee00", //事件发起者或者发送者标识
      'recipient': "a77f5cdfa2934df3954a5c7c7da5df1f", //事件接受者标识
      'amount': 5, //涉及金额或者数额
    }
 ],
  'proof': 324984774000, //证据
  'previous_hash': "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824" //前一个事件数据的hash值
}
  1. 区块链怎样保证数据不可修改?

block.previous_hash 区块中的这个数据是用来存贮前一个事件数据的hash值,如果前一个区块数据被修改,那么这个值就会发生变化,进而这个值对应的区块的值也会变化,那么他对应的下一个区块的值也需要发生变化....... 从而引起此区块以后所有的区块都发生变化,不然就不能相互对应。这样就提高了修改成本,修改的时候也会去校验后一个区块的previou_hash是否正确

About

学习Python时,参考国外大神的Python区块链实现

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /