Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS38.02%
Net Worth
0.905USD
STEEM
0.000STEEM
SBD
1.809SBD
Effective Power
5.008SP
├── Own SP
0.636SP
└── Incoming Deleg
+4.372SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.636SP
Delegated Out
0.000SP
Delegation In
4.372SP
Effective Power
5.008SP
Reward SP (pending)
1.231SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
1.809SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "1033.796873 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7109.862933 VESTS",
  "sbd_balance": "0.000 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "1.809 SBD",
  "conversions": []
}

Account Info

namechenchun
id254448
rank978,330
reputation18385077031
created2017-07-12T07:26:27
recovery_accountsteem
proxyNone
post_count13
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-05-04T16:33:54
last_root_post2018-05-04T16:33:54
last_vote_time2018-04-19T14:43:51
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares1033.796873 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7109.862933 VESTS
reward_vesting_balance2538.056036 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2017-08-27T11:44:09
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "id": 254448,
  "name": "chenchun",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM8UYeeeHWVe6MvYTmWDo4EsDCKu7GRM729ixBJsJPussyLSGecc",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5VFkY4jq5Aya4MvJ2tYhgsLnyyDfY9FDz8JzRhv543RD7cdHLe",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6RWWoiZ8ZRyLydvr3SPFPnKJhUhnFyH5yhacyyuKe4jqqaLrws",
        1
      ]
    ]
  },
  "memo_key": "STM6erfMdTKcwgvqpBBWfmJwrTDyecmA2nqBihCxo3wp1g1DtQc3L",
  "json_metadata": "{\"profile\":{\"name\":\"chenchun\",\"location\":\"china\"}}",
  "posting_json_metadata": "{\"profile\":{\"name\":\"chenchun\",\"location\":\"china\"}}",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "2017-08-27T11:44:09",
  "created": "2017-07-12T07:26:27",
  "mined": false,
  "recovery_account": "steem",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 13,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "8143659806",
    "last_update_time": 1779057504
  },
  "downvote_manabar": {
    "current_mana": 2035914951,
    "last_update_time": 1779057504
  },
  "voting_power": 0,
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.000 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "1970-01-01T00:00:00",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "1.809 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "2538.056036 VESTS",
  "reward_vesting_steem": "1.231 STEEM",
  "vesting_shares": "1033.796873 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7109.862933 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 0,
  "posting_rewards": 2460,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-05-04T16:33:54",
  "last_root_post": "2018-05-04T16:33:54",
  "last_vote_time": "2018-04-19T14:43:51",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": "18385077031",
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 978330
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.372 SP to @chenchun
2026/05/17 22:38:24
delegatorsteem
delegateechenchun
vesting shares7109.862933 VESTS
Transaction InfoBlock #106141521/Trx 5d7d6dbb467fc2fd8e4e2ab597d86ffb645aa5d0
View Raw JSON Data
{
  "trx_id": "5d7d6dbb467fc2fd8e4e2ab597d86ffb645aa5d0",
  "block": 106141521,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-17T22:38:24",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "7109.862933 VESTS"
    }
  ]
}
steemdelegated 2.704 SP to @chenchun
2026/05/11 21:25:51
delegatorsteem
delegateechenchun
vesting shares4397.652528 VESTS
Transaction InfoBlock #105968036/Trx a0a51d7e4f4e6e1c4005afdb538862b099dfa4dc
View Raw JSON Data
{
  "trx_id": "a0a51d7e4f4e6e1c4005afdb538862b099dfa4dc",
  "block": 105968036,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-11T21:25:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "4397.652528 VESTS"
    }
  ]
}
steemdelegated 4.380 SP to @chenchun
2026/04/25 22:01:51
delegatorsteem
delegateechenchun
vesting shares7122.378689 VESTS
Transaction InfoBlock #105509218/Trx 7b095c97989d0be0518228af74e99a39d11b62ba
View Raw JSON Data
{
  "trx_id": "7b095c97989d0be0518228af74e99a39d11b62ba",
  "block": 105509218,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-04-25T22:01:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "7122.378689 VESTS"
    }
  ]
}
steemdelegated 2.730 SP to @chenchun
2026/01/23 03:33:15
delegatorsteem
delegateechenchun
vesting shares4439.199347 VESTS
Transaction InfoBlock #102846728/Trx 4ae29d160021c72147a4ab26c71e1a41d61ee236
View Raw JSON Data
{
  "trx_id": "4ae29d160021c72147a4ab26c71e1a41d61ee236",
  "block": 102846728,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-01-23T03:33:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "4439.199347 VESTS"
    }
  ]
}
steemdelegated 2.831 SP to @chenchun
2024/12/16 22:52:30
delegatorsteem
delegateechenchun
vesting shares4603.418544 VESTS
Transaction InfoBlock #91293131/Trx 0fe839a65f47158398cfa3c0e87485ca9e9c3433
View Raw JSON Data
{
  "trx_id": "0fe839a65f47158398cfa3c0e87485ca9e9c3433",
  "block": 91293131,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2024-12-16T22:52:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "4603.418544 VESTS"
    }
  ]
}
steemdelegated 2.935 SP to @chenchun
2023/11/13 14:37:21
delegatorsteem
delegateechenchun
vesting shares4772.552076 VESTS
Transaction InfoBlock #79847389/Trx 7355684f9b9024034c0e7bcfa067d9897d53d204
View Raw JSON Data
{
  "trx_id": "7355684f9b9024034c0e7bcfa067d9897d53d204",
  "block": 79847389,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-11-13T14:37:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "4772.552076 VESTS"
    }
  ]
}
steemdelegated 4.741 SP to @chenchun
2023/09/21 19:57:27
delegatorsteem
delegateechenchun
vesting shares7709.830862 VESTS
Transaction InfoBlock #78345593/Trx de5c8b21ebc830eca63cd928cc8d1e4e16aa01b4
View Raw JSON Data
{
  "trx_id": "de5c8b21ebc830eca63cd928cc8d1e4e16aa01b4",
  "block": 78345593,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-09-21T19:57:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "7709.830862 VESTS"
    }
  ]
}
steemdelegated 4.878 SP to @chenchun
2022/11/03 09:57:51
delegatorsteem
delegateechenchun
vesting shares7931.512300 VESTS
Transaction InfoBlock #69111184/Trx ad7d427871377487a7afea7afb2e83c3e6dd5bd3
View Raw JSON Data
{
  "trx_id": "ad7d427871377487a7afea7afb2e83c3e6dd5bd3",
  "block": 69111184,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-11-03T09:57:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "7931.512300 VESTS"
    }
  ]
}
steemdelegated 5.013 SP to @chenchun
2022/01/17 09:22:12
delegatorsteem
delegateechenchun
vesting shares8152.045531 VESTS
Transaction InfoBlock #60807522/Trx 52c03ce1799da7b0cfe8354877b187af10dfb2f4
View Raw JSON Data
{
  "trx_id": "52c03ce1799da7b0cfe8354877b187af10dfb2f4",
  "block": 60807522,
  "trx_in_block": 16,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-01-17T09:22:12",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "8152.045531 VESTS"
    }
  ]
}
steemdelegated 5.126 SP to @chenchun
2021/06/13 23:21:09
delegatorsteem
delegateechenchun
vesting shares8335.814189 VESTS
Transaction InfoBlock #54605986/Trx bd418803ca40f3c88461e8cf7ef84d3131b92d04
View Raw JSON Data
{
  "trx_id": "bd418803ca40f3c88461e8cf7ef84d3131b92d04",
  "block": 54605986,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2021-06-13T23:21:09",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "8335.814189 VESTS"
    }
  ]
}
steemdelegated 5.241 SP to @chenchun
2020/12/11 09:42:06
delegatorsteem
delegateechenchun
vesting shares8523.236163 VESTS
Transaction InfoBlock #49353501/Trx c96afebc3c1f7e1a6153ec60dcc95acf2d006ddc
View Raw JSON Data
{
  "trx_id": "c96afebc3c1f7e1a6153ec60dcc95acf2d006ddc",
  "block": 49353501,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-11T09:42:06",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "8523.236163 VESTS"
    }
  ]
}
steemdelegated 1.176 SP to @chenchun
2020/12/06 03:19:30
delegatorsteem
delegateechenchun
vesting shares1912.543513 VESTS
Transaction InfoBlock #49205072/Trx 12e328f245327da3e7da7c9473a81af628a83c6e
View Raw JSON Data
{
  "trx_id": "12e328f245327da3e7da7c9473a81af628a83c6e",
  "block": 49205072,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-06T03:19:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "1912.543513 VESTS"
    }
  ]
}
steemdelegated 5.245 SP to @chenchun
2020/12/05 11:16:30
delegatorsteem
delegateechenchun
vesting shares8529.602802 VESTS
Transaction InfoBlock #49186177/Trx b9353768e00f70c3913d1f87133a56636448a89e
View Raw JSON Data
{
  "trx_id": "b9353768e00f70c3913d1f87133a56636448a89e",
  "block": 49186177,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-05T11:16:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "8529.602802 VESTS"
    }
  ]
}
steemdelegated 1.181 SP to @chenchun
2020/11/02 12:30:39
delegatorsteem
delegateechenchun
vesting shares1920.017158 VESTS
Transaction InfoBlock #48254124/Trx 395fae193ac5324f4cc94fa0babe293e14c7b2e0
View Raw JSON Data
{
  "trx_id": "395fae193ac5324f4cc94fa0babe293e14c7b2e0",
  "block": 48254124,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-11-02T12:30:39",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "1920.017158 VESTS"
    }
  ]
}
steemdelegated 5.370 SP to @chenchun
2020/05/09 04:15:09
delegatorsteem
delegateechenchun
vesting shares8732.249376 VESTS
Transaction InfoBlock #43215294/Trx 9c1dd234d055247b1f77c46314c8bb6932507f39
View Raw JSON Data
{
  "trx_id": "9c1dd234d055247b1f77c46314c8bb6932507f39",
  "block": 43215294,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-09T04:15:09",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "8732.249376 VESTS"
    }
  ]
}
steemdelegated 1.201 SP to @chenchun
2020/05/08 07:38:27
delegatorsteem
delegateechenchun
vesting shares1953.311140 VESTS
Transaction InfoBlock #43191138/Trx a64f8c61048703d0daae4dd3a1e8b656ec34a71e
View Raw JSON Data
{
  "trx_id": "a64f8c61048703d0daae4dd3a1e8b656ec34a71e",
  "block": 43191138,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-08T07:38:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "1953.311140 VESTS"
    }
  ]
}
steemdelegated 5.473 SP to @chenchun
2019/07/22 00:41:54
delegatorsteem
delegateechenchun
vesting shares8899.710309 VESTS
Transaction InfoBlock #34870818/Trx 662db37daf0e323773a825fa1ce0c16888794518
View Raw JSON Data
{
  "trx_id": "662db37daf0e323773a825fa1ce0c16888794518",
  "block": 34870818,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-07-22T00:41:54",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "8899.710309 VESTS"
    }
  ]
}
2019/07/12 09:06:21
parent authorchenchun
parent permlink20180504
authorsteemitboard
permlinksteemitboard-notify-chenchun-20190712t090620000z
title
bodyCongratulations @chenchun! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@chenchun/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@chenchun) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=chenchun)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #34593231/Trx 20880bccfd70e0774d07c8d116ccf6ad305ffe54
View Raw JSON Data
{
  "trx_id": "20880bccfd70e0774d07c8d116ccf6ad305ffe54",
  "block": 34593231,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-07-12T09:06:21",
  "op": [
    "comment",
    {
      "parent_author": "chenchun",
      "parent_permlink": "20180504",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-chenchun-20190712t090620000z",
      "title": "",
      "body": "Congratulations @chenchun! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@chenchun/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@chenchun) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=chenchun)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 5.595 SP to @chenchun
2018/08/03 17:18:09
delegatorsteem
delegateechenchun
vesting shares9098.433329 VESTS
Transaction InfoBlock #24749396/Trx e9a04940ae608102d9829cdf1b5ff72a99368a6e
View Raw JSON Data
{
  "trx_id": "e9a04940ae608102d9829cdf1b5ff72a99368a6e",
  "block": 24749396,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-08-03T17:18:09",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "9098.433329 VESTS"
    }
  ]
}
2018/07/12 08:02:00
parent authorchenchun
parent permlink20180504
authorsteemitboard
permlinksteemitboard-notify-chenchun-20180712t080200000z
title
bodyCongratulations @chenchun! You have received a personal award! [![](https://steemitimages.com/70x70/http://steemitboard.com/@chenchun/birthday1.png)](http://steemitboard.com/@chenchun) 1 Year on Steemit <sub>_Click on the badge to view your Board of Honor._</sub> **Do not miss the last post from @steemitboard:** [SteemitBoard World Cup Contest - Semi Finals - Day 1](https://steemit.com/steemitboard/@steemitboard/steemitboard-world-cup-contest-semi-finals-day-1) --- **Participate in the [SteemitBoard World Cup Contest](https://steemit.com/steemitboard/@steemitboard/steemitboard-world-cup-contest-collect-badges-and-win-free-sbd)!** Collect World Cup badges and win free SBD Support the Gold Sponsors of the contest: [@good-karma](https://v2.steemconnect.com/sign/account-witness-vote?witness=good-karma&approve=1) and [@lukestokes](https://v2.steemconnect.com/sign/account-witness-vote?witness=lukestokes.mhth&approve=1) --- > Do you like [SteemitBoard's project](https://steemit.com/@steemitboard)? Then **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #24105498/Trx e931b50de7a61f6259feaf9aa15a56d6cba896e6
View Raw JSON Data
{
  "trx_id": "e931b50de7a61f6259feaf9aa15a56d6cba896e6",
  "block": 24105498,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-07-12T08:02:00",
  "op": [
    "comment",
    {
      "parent_author": "chenchun",
      "parent_permlink": "20180504",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-chenchun-20180712t080200000z",
      "title": "",
      "body": "Congratulations @chenchun! You have received a personal award!\n\n[![](https://steemitimages.com/70x70/http://steemitboard.com/@chenchun/birthday1.png)](http://steemitboard.com/@chenchun)  1 Year on Steemit\n<sub>_Click on the badge to view your Board of Honor._</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n[SteemitBoard World Cup Contest - Semi Finals - Day 1](https://steemit.com/steemitboard/@steemitboard/steemitboard-world-cup-contest-semi-finals-day-1)\n\n---\n**Participate in the [SteemitBoard World Cup Contest](https://steemit.com/steemitboard/@steemitboard/steemitboard-world-cup-contest-collect-badges-and-win-free-sbd)!**\nCollect World Cup badges and win free SBD\nSupport the Gold Sponsors of the contest: [@good-karma](https://v2.steemconnect.com/sign/account-witness-vote?witness=good-karma&approve=1) and [@lukestokes](https://v2.steemconnect.com/sign/account-witness-vote?witness=lukestokes.mhth&approve=1)\n\n---\n\n> Do you like [SteemitBoard's project](https://steemit.com/@steemitboard)? Then **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
robin.hanupvoted (100.00%) @chenchun / 3
2018/05/20 14:51:00
voterrobin.han
authorchenchun
permlink3
weight10000 (100.00%)
Transaction InfoBlock #22598501/Trx c7663e501cd3669ba71e04524ff5648b392cd847
View Raw JSON Data
{
  "trx_id": "c7663e501cd3669ba71e04524ff5648b392cd847",
  "block": 22598501,
  "trx_in_block": 24,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-20T14:51:00",
  "op": [
    "vote",
    {
      "voter": "robin.han",
      "author": "chenchun",
      "permlink": "3",
      "weight": 10000
    }
  ]
}
steemdelegated 18.132 SP to @chenchun
2018/05/18 18:58:45
delegatorsteem
delegateechenchun
vesting shares29485.723052 VESTS
Transaction InfoBlock #22545867/Trx e66bd1c2181c065ed7c7409ddab70cc92490260d
View Raw JSON Data
{
  "trx_id": "e66bd1c2181c065ed7c7409ddab70cc92490260d",
  "block": 22545867,
  "trx_in_block": 31,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-18T18:58:45",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "29485.723052 VESTS"
    }
  ]
}
chenchunpublished a new post: 20180504
2018/05/04 16:37:15
parent author
parent permlinklife
authorchenchun
permlink20180504
title班主任工作日记20180505
body@@ -451,10 +451,12 @@ %0A%0A%E4%BA%8C%E3%80%81 -%E6%98%A8%E5%A4%A9 +5%E6%9C%883%E6%97%A5 %E7%9A%84%E4%B8%80%E4%BB%B6%E4%BA%8B @@ -516,17 +516,16 @@ %E4%B8%89%E4%B8%AA%E4%BA%86%EF%BC%8C%E9%83%BD%E6%98%AF%E5%A5%B3%E7%94%9F -%E4%BA%86 %E3%80%82%E5%A5%B3%E7%94%9F1%E9%99%88%EF%BC%8C%E5%A5%B3%E7%94%9F @@ -759,13 +759,17 @@ %0A%0A%E4%B8%89%E3%80%81 +5%E6%9C%884%E6%97%A5 %E5%AE%B6%E9%95%BF%E4%BC%9A%0A -%E4%BB%8A +%E6%98%A8 %E5%A4%A9%E4%B8%BE%E8%A1%8C%E4%BA%86 @@ -988,17 +988,17 @@ %EF%BC%9F%E6%88%91%E4%B8%BA%E4%BB%80%E4%B9%88%E5%B0%B1%E7%AD%89%E4%BA%86 -%E4%B8%A4 +%E4%B8%89 %E5%A4%A9%E3%80%82%E6%88%91%E6%83%B3%E5%A4%9A%E4%BA%86%E8%A7%A3%E4%B8%80 @@ -3087,14 +3087,15 @@ %E4%BD%8D%E5%90%8C%E4%BA%8B%EF%BC%8C -%E5%9C%A8%E9%87%8D%E9%87%8D%E5%8E%8B%E5%8A%9B%E4%B8%8B +%E8%A7%89%E5%BE%97%E5%B7%A5%E4%BD%9C%E4%B8%8D%E5%BC%80%E5%BF%83 %EF%BC%8C%E9%80%89%E6%8B%A9%E7%A6%BB @@ -3110,10 +3110,12 @@ %E6%96%B9%E5%B7%A5%E4%BD%9C%E4%BA%86 +%EF%BC%88 %E5%8D%8A%E5%B9%B4 +%EF%BC%89 %EF%BC%8C%E4%BB%8A%E5%B9%B4%E5%BC%80 @@ -3293,10 +3293,8 @@ %E5%90%8C%E8%A1%8C%E4%BB%AC%EF%BC%8C -%E4%BD%A0%E4%BB%AC %E4%B8%80%E5%AE%9A%E8%A6%81%E6%AD%A3
json metadata{"tags":["life","cn","story"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #22139914/Trx 0259e515cbb00ebcb9b47d855cc5bbf8b4b0ba4b
View Raw JSON Data
{
  "trx_id": "0259e515cbb00ebcb9b47d855cc5bbf8b4b0ba4b",
  "block": 22139914,
  "trx_in_block": 51,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-04T16:37:15",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "life",
      "author": "chenchun",
      "permlink": "20180504",
      "title": "班主任工作日记20180505",
      "body": "@@ -451,10 +451,12 @@\n %0A%0A%E4%BA%8C%E3%80%81\n-%E6%98%A8%E5%A4%A9\n+5%E6%9C%883%E6%97%A5\n %E7%9A%84%E4%B8%80%E4%BB%B6%E4%BA%8B\n@@ -516,17 +516,16 @@\n %E4%B8%89%E4%B8%AA%E4%BA%86%EF%BC%8C%E9%83%BD%E6%98%AF%E5%A5%B3%E7%94%9F\n-%E4%BA%86\n %E3%80%82%E5%A5%B3%E7%94%9F1%E9%99%88%EF%BC%8C%E5%A5%B3%E7%94%9F\n@@ -759,13 +759,17 @@\n %0A%0A%E4%B8%89%E3%80%81\n+5%E6%9C%884%E6%97%A5\n %E5%AE%B6%E9%95%BF%E4%BC%9A%0A\n-%E4%BB%8A\n+%E6%98%A8\n %E5%A4%A9%E4%B8%BE%E8%A1%8C%E4%BA%86\n@@ -988,17 +988,17 @@\n %EF%BC%9F%E6%88%91%E4%B8%BA%E4%BB%80%E4%B9%88%E5%B0%B1%E7%AD%89%E4%BA%86\n-%E4%B8%A4\n+%E4%B8%89\n %E5%A4%A9%E3%80%82%E6%88%91%E6%83%B3%E5%A4%9A%E4%BA%86%E8%A7%A3%E4%B8%80\n@@ -3087,14 +3087,15 @@\n %E4%BD%8D%E5%90%8C%E4%BA%8B%EF%BC%8C\n-%E5%9C%A8%E9%87%8D%E9%87%8D%E5%8E%8B%E5%8A%9B%E4%B8%8B\n+%E8%A7%89%E5%BE%97%E5%B7%A5%E4%BD%9C%E4%B8%8D%E5%BC%80%E5%BF%83\n %EF%BC%8C%E9%80%89%E6%8B%A9%E7%A6%BB\n@@ -3110,10 +3110,12 @@\n %E6%96%B9%E5%B7%A5%E4%BD%9C%E4%BA%86\n+%EF%BC%88\n %E5%8D%8A%E5%B9%B4\n+%EF%BC%89\n %EF%BC%8C%E4%BB%8A%E5%B9%B4%E5%BC%80\n@@ -3293,10 +3293,8 @@\n %E5%90%8C%E8%A1%8C%E4%BB%AC%EF%BC%8C\n-%E4%BD%A0%E4%BB%AC\n %E4%B8%80%E5%AE%9A%E8%A6%81%E6%AD%A3\n",
      "json_metadata": "{\"tags\":[\"life\",\"cn\",\"story\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
chenchunpublished a new post: 20180504
2018/05/04 16:33:54
parent author
parent permlinklife
authorchenchun
permlink20180504
title班主任工作日记20180504
body一、上一周发生的事情,让我很不开心,所以就没有写。 原因如下: 女生1陈在4月28日,班会课的时候,班上有18人没有交家校练习册,我查谁没交。最终只差一人,我问了几遍,没有人承认自己没交。其他17人已经站起来了,我想起来女生1陈没交,我叫她的名字,让她站起来,她说:“我不站”。我很生气,我再一次告诉她站起来,她说:“我就是不站”。我立马火了,把她的桌子掀了。之后,她要求离开教室,我挡在门口。她数次要冲出,被我拦住。我让学生叫政教处的老师和校长,然后她被政教处老师和校长叫走了。 处理完班上的事情,政教处老师让我到政教处,问了女生1陈,她说身体不舒服。政教处的老师别的就没说啥了,她已经被校长找了两次,这已经是第三次,对她来说,政教处、校长对她有啥惩罚呢?我非常的恼火,我真的一点都不想再见到这个学生了。政教处老师,也只是说让她再写保证。晚上回到家,什么都不想干。这叫什么事?一个学生根本不服从班主任的管理,而所谓的上级领导对孩子没有任何的惩罚,因为这是公立教育,义务教育! 二、昨天的一件事 女生16李,中午说话,我让她站到门外,她拒不服从。我很火大。现在班上这样的事情,差不多是第三个了,都是女生了。女生1陈,女生26张,现在女生16李。多说了几遍,她才走到门外。后面上课了,她要求上课,我不允许。我给她家长打电话,她家长来了,我把事情经过讲了一遍。那学生说不服从的原因是心情不好。她家长总是说我的处理让孩子耽误了上课。我犹豫的是是不是把她停课,回家反省。看这家长不讲理的样子,我不想折腾了。因为我知道不讲理的人是没法讲理的,领导怎么处理我也清楚了,不会向着我,我也懒得找麻烦,就让她写个保证,在班级内公开检讨,贴在教室里做见证。以后处理学生,我也懒得再找什么领导了。 三、家长会 今天举行了家长会。有几个家长没来。其中一个女生26张的妈妈,她说别人告诉她要活出自我,她为了给孩子做表率,就不参加家长会,她要参加公司会议,而且让孩子也直接和她一起去,让孩子见证她在公司的价值。真的好扯呀。怎么有这样的家长。而且,她是在买完票以后才和我说的。就仿佛是通知我她的决定。 四、今天,纪念一位同事。 2018年5月2日,早上7:38分,一位女同事在住处跳楼自杀了。我久久不能平复。即便生活不如意,何必要自杀呢?我为什么就等了两天。我想多了解一些信息。她的压力太大了。 一个生命陨落了。我们谁也不知道在她选择自杀的时候,她究竟在想啥。原因是什么,永远都是未解之谜了。 我只是想分析一下一个老师的压力。她面对的是什么? 什么是正常的教育?一个人选择学习就像我们选择去理发、选择去饭馆吃饭一样,它仅仅是一种服务。一个人可以去a饭店吃饭,也可以去饭店b吃饭。一个饭店可以选择为某些人服务,也可以选择不为某些人服务。但是在教育上,竟然不可以。 一个学生竟然可以不可以被学校清退。无论他在学校是否学习,是否干扰了其他人的学习,是否接受学校的管理。因为是义务教育。 一种服务的好坏竟然不是由服务者本人说了算。一个人吃了饭,他可以对饭菜的质量进行评价。做得好,他会继续来吃。做的不好他就不再光顾。一个学生他竟然可以不用在乎老师的好坏。因为对他,教育质量好坏全无必要,因为他上学是免费。即便是最糟糕的情况,他也是没有任何理由离开,除非他自己选择离开,哪会有这样的傻子会选择离开免费的保姆服务(义务教育),家长也绝不会傻到这个地步。另一方面,老师竟然不可以对学生进行惩处,哪怕是对那些完全不学习、扰乱他人学习、不服从管理的学生进行惩处。而那学校的管理者,仅仅从自身利益出发,根本不愿意处理所谓的学生问题(仅仅就是批评教育)。作为班主任,很多家长根本不理睬你,没事他会告你,而学校的管理者为了自己的利益,从来不会站在老师的立场上考虑问题。如果一个人可以不对自己的行为负责,那么最终的结果就是大家都会受害。作为一个班主任,班级出现一个不服从管理的人,没有合理的惩处(如回家反省),其他学生就会纷纷效仿。接下来所谓的班风就会变差,所有想学习的人都会受到影响。而更为关键的是,每个人的偏好是不同的,我们评价所谓教学的效果,不是问一个个的学生,问他们的感受,而每一个人的喜欢是千差万别的。我们评价一个老师好坏竟然是学生的平均分、优秀率、低分率等等。何其荒唐? 一项服务竟然规定了所谓的经营的地域。我们没有见过一个饭店或是理发店有服务的地域范围,但是我们的公立教育是以地域为划分的。甚至有些私立学校在政府的干预下,也没有了自主招生的权力。 我们老师所从事的教育仅仅是一种服务,而政府的干涉使得老师彻底地变成弱势群体。 1、一群不为自己负责的学生进入学校学习,他们不会觉得自己的学习是自己的自我选择。他们觉得老师的管理是对他们的干涉。每个人都是好逸恶劳的,老师监督孩子学习,孩子自然是难得喜欢老师的。 2、老师对孩子的惩处极为有限。在所谓的义务教育法、未成年人保护法的保护下,学生被厚厚的壳包裹着,他们觉得自己可以为所欲为。 3、家长扭曲的教育观。家长一方面占公立教育的便宜,尽量把孩子送到最好的公立学校(通过金钱、权力、关系等等)。而且没事就拿着那些政府的不合理的教育政策来与老师评理,不能体罚、辱骂学生;不能作业太多等等。何为适度的惩罚;何为作业太多。如何界定。 4、最让人厌恶的就是公立学校的管理制度。公立学校类似于官僚体制。学校的领导是听从上级的指示,他担心的唯一的问题是自己的官位,名誉。而实现这些,就是要遵从规定,不越过任何的规章制度。而在教学上,让老师拼命压榨学生,成绩成绩成绩,天天谈。老师为了免于被批评,自然不得不对那些学生更加严厉。但是,领导又假惺惺的说,上级规定,不能学生负担太重,不能批评学生等等的。这使得老师处于极为尴尬的境地。如果对孩子的表现不适当的惩戒,没有学生会按你的要求学习。那么在教学中,以下种种是必然存在的:上课讲话罚站;作业不完成罚写;讲话打手板等等。如果一个老师碍于自己的原则(是否喜欢把自己的意志强加于人),不愿如此,他面对的就是领导的狂轰滥炸,领导会说你的班成绩差,你的班纪律差,家长投诉你等等。 5、领导为了所谓的成绩、名次喜欢和其他学校比。这能比吗?公立学校划片招生。划片招生,那么地理位置最好的学生一定是最出色。因为地理位置好的地方,房价高,只有有钱人才住得起。有钱人在孩子教育上投入的资金、时间、注意力更多,长期来看,他的孩子自然越来越好。那些地理位置稍差的地方,学校成绩自然就差一点。这是大势所趋。但领导不会这么想。生源不如人,家长的能力、管理不如人,总想着压榨老师,让老师压着学生学习。这怎么可能呢?可是,明明不可能的事情,领导们确总是装作看不见,恬不知耻的还会说:“没有教不好的学生,只有不会教的老师”。天天给老师试压。 在我眼里,老师原本的角色是:帮助那些愿意学习的人学习。可是,事实是怎样呢? 我的这位同事,她非常的认真、勤奋,但是学生是很让人头疼的。这是非常让人焦虑的。一个正常的人,他的付出通常是有回报的。而一个老师,很多时候他的付出是没有合理的回报。因为学习必须是学生自己去学。很多孩子是根本不学习的。而你即便付出再多,领导确说你的成绩差,你真的是会怀疑人生的。那就是:“我的工作没有意义”。更不用说老师低的可怜的工资了。我这位同事,在重重压力下,选择离开学校,到其它地方工作了半年,今年开学,当我又看到她的时候,我在想:“不是辞职了吗,怎么又回来了?这是极其错误的决定。既然不喜欢,选择离开,干嘛要再回来再吃二遍苦呢。”谁知道,竟然发生了这么不幸的事情。 总之,做老师,孩子难管,家长难处,领导难过。 自然,我的同事也有一些其他的人生压力,例如:恋爱、亲情等等烦恼。我也不知道她究竟因何离开,她的离开让我惋惜。只是希望做老师的同行们,你们一定要正确面对压力,合理化解。生活不易,但我们还是要活着。
json metadata{"tags":["life","cn","story"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #22139847/Trx 444517f32e6cc5995dc93857c51d6f026e841179
View Raw JSON Data
{
  "trx_id": "444517f32e6cc5995dc93857c51d6f026e841179",
  "block": 22139847,
  "trx_in_block": 44,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-04T16:33:54",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "life",
      "author": "chenchun",
      "permlink": "20180504",
      "title": "班主任工作日记20180504",
      "body": "一、上一周发生的事情,让我很不开心,所以就没有写。\n原因如下:\n      女生1陈在4月28日,班会课的时候,班上有18人没有交家校练习册,我查谁没交。最终只差一人,我问了几遍,没有人承认自己没交。其他17人已经站起来了,我想起来女生1陈没交,我叫她的名字,让她站起来,她说:“我不站”。我很生气,我再一次告诉她站起来,她说:“我就是不站”。我立马火了,把她的桌子掀了。之后,她要求离开教室,我挡在门口。她数次要冲出,被我拦住。我让学生叫政教处的老师和校长,然后她被政教处老师和校长叫走了。\n      处理完班上的事情,政教处老师让我到政教处,问了女生1陈,她说身体不舒服。政教处的老师别的就没说啥了,她已经被校长找了两次,这已经是第三次,对她来说,政教处、校长对她有啥惩罚呢?我非常的恼火,我真的一点都不想再见到这个学生了。政教处老师,也只是说让她再写保证。晚上回到家,什么都不想干。这叫什么事?一个学生根本不服从班主任的管理,而所谓的上级领导对孩子没有任何的惩罚,因为这是公立教育,义务教育!\n\n二、昨天的一件事\n       女生16李,中午说话,我让她站到门外,她拒不服从。我很火大。现在班上这样的事情,差不多是第三个了,都是女生了。女生1陈,女生26张,现在女生16李。多说了几遍,她才走到门外。后面上课了,她要求上课,我不允许。我给她家长打电话,她家长来了,我把事情经过讲了一遍。那学生说不服从的原因是心情不好。她家长总是说我的处理让孩子耽误了上课。我犹豫的是是不是把她停课,回家反省。看这家长不讲理的样子,我不想折腾了。因为我知道不讲理的人是没法讲理的,领导怎么处理我也清楚了,不会向着我,我也懒得找麻烦,就让她写个保证,在班级内公开检讨,贴在教室里做见证。以后处理学生,我也懒得再找什么领导了。\n\n三、家长会\n今天举行了家长会。有几个家长没来。其中一个女生26张的妈妈,她说别人告诉她要活出自我,她为了给孩子做表率,就不参加家长会,她要参加公司会议,而且让孩子也直接和她一起去,让孩子见证她在公司的价值。真的好扯呀。怎么有这样的家长。而且,她是在买完票以后才和我说的。就仿佛是通知我她的决定。\n\n\n四、今天,纪念一位同事。\n      2018年5月2日,早上7:38分,一位女同事在住处跳楼自杀了。我久久不能平复。即便生活不如意,何必要自杀呢?我为什么就等了两天。我想多了解一些信息。她的压力太大了。\n      一个生命陨落了。我们谁也不知道在她选择自杀的时候,她究竟在想啥。原因是什么,永远都是未解之谜了。\n     我只是想分析一下一个老师的压力。她面对的是什么?\n    什么是正常的教育?一个人选择学习就像我们选择去理发、选择去饭馆吃饭一样,它仅仅是一种服务。一个人可以去a饭店吃饭,也可以去饭店b吃饭。一个饭店可以选择为某些人服务,也可以选择不为某些人服务。但是在教育上,竟然不可以。\n      一个学生竟然可以不可以被学校清退。无论他在学校是否学习,是否干扰了其他人的学习,是否接受学校的管理。因为是义务教育。\n      一种服务的好坏竟然不是由服务者本人说了算。一个人吃了饭,他可以对饭菜的质量进行评价。做得好,他会继续来吃。做的不好他就不再光顾。一个学生他竟然可以不用在乎老师的好坏。因为对他,教育质量好坏全无必要,因为他上学是免费。即便是最糟糕的情况,他也是没有任何理由离开,除非他自己选择离开,哪会有这样的傻子会选择离开免费的保姆服务(义务教育),家长也绝不会傻到这个地步。另一方面,老师竟然不可以对学生进行惩处,哪怕是对那些完全不学习、扰乱他人学习、不服从管理的学生进行惩处。而那学校的管理者,仅仅从自身利益出发,根本不愿意处理所谓的学生问题(仅仅就是批评教育)。作为班主任,很多家长根本不理睬你,没事他会告你,而学校的管理者为了自己的利益,从来不会站在老师的立场上考虑问题。如果一个人可以不对自己的行为负责,那么最终的结果就是大家都会受害。作为一个班主任,班级出现一个不服从管理的人,没有合理的惩处(如回家反省),其他学生就会纷纷效仿。接下来所谓的班风就会变差,所有想学习的人都会受到影响。而更为关键的是,每个人的偏好是不同的,我们评价所谓教学的效果,不是问一个个的学生,问他们的感受,而每一个人的喜欢是千差万别的。我们评价一个老师好坏竟然是学生的平均分、优秀率、低分率等等。何其荒唐?\n        一项服务竟然规定了所谓的经营的地域。我们没有见过一个饭店或是理发店有服务的地域范围,但是我们的公立教育是以地域为划分的。甚至有些私立学校在政府的干预下,也没有了自主招生的权力。\n      我们老师所从事的教育仅仅是一种服务,而政府的干涉使得老师彻底地变成弱势群体。\n      1、一群不为自己负责的学生进入学校学习,他们不会觉得自己的学习是自己的自我选择。他们觉得老师的管理是对他们的干涉。每个人都是好逸恶劳的,老师监督孩子学习,孩子自然是难得喜欢老师的。\n      2、老师对孩子的惩处极为有限。在所谓的义务教育法、未成年人保护法的保护下,学生被厚厚的壳包裹着,他们觉得自己可以为所欲为。\n      3、家长扭曲的教育观。家长一方面占公立教育的便宜,尽量把孩子送到最好的公立学校(通过金钱、权力、关系等等)。而且没事就拿着那些政府的不合理的教育政策来与老师评理,不能体罚、辱骂学生;不能作业太多等等。何为适度的惩罚;何为作业太多。如何界定。\n      4、最让人厌恶的就是公立学校的管理制度。公立学校类似于官僚体制。学校的领导是听从上级的指示,他担心的唯一的问题是自己的官位,名誉。而实现这些,就是要遵从规定,不越过任何的规章制度。而在教学上,让老师拼命压榨学生,成绩成绩成绩,天天谈。老师为了免于被批评,自然不得不对那些学生更加严厉。但是,领导又假惺惺的说,上级规定,不能学生负担太重,不能批评学生等等的。这使得老师处于极为尴尬的境地。如果对孩子的表现不适当的惩戒,没有学生会按你的要求学习。那么在教学中,以下种种是必然存在的:上课讲话罚站;作业不完成罚写;讲话打手板等等。如果一个老师碍于自己的原则(是否喜欢把自己的意志强加于人),不愿如此,他面对的就是领导的狂轰滥炸,领导会说你的班成绩差,你的班纪律差,家长投诉你等等。\n      5、领导为了所谓的成绩、名次喜欢和其他学校比。这能比吗?公立学校划片招生。划片招生,那么地理位置最好的学生一定是最出色。因为地理位置好的地方,房价高,只有有钱人才住得起。有钱人在孩子教育上投入的资金、时间、注意力更多,长期来看,他的孩子自然越来越好。那些地理位置稍差的地方,学校成绩自然就差一点。这是大势所趋。但领导不会这么想。生源不如人,家长的能力、管理不如人,总想着压榨老师,让老师压着学生学习。这怎么可能呢?可是,明明不可能的事情,领导们确总是装作看不见,恬不知耻的还会说:“没有教不好的学生,只有不会教的老师”。天天给老师试压。\n\n在我眼里,老师原本的角色是:帮助那些愿意学习的人学习。可是,事实是怎样呢?\n我的这位同事,她非常的认真、勤奋,但是学生是很让人头疼的。这是非常让人焦虑的。一个正常的人,他的付出通常是有回报的。而一个老师,很多时候他的付出是没有合理的回报。因为学习必须是学生自己去学。很多孩子是根本不学习的。而你即便付出再多,领导确说你的成绩差,你真的是会怀疑人生的。那就是:“我的工作没有意义”。更不用说老师低的可怜的工资了。我这位同事,在重重压力下,选择离开学校,到其它地方工作了半年,今年开学,当我又看到她的时候,我在想:“不是辞职了吗,怎么又回来了?这是极其错误的决定。既然不喜欢,选择离开,干嘛要再回来再吃二遍苦呢。”谁知道,竟然发生了这么不幸的事情。\n\n总之,做老师,孩子难管,家长难处,领导难过。\n\n自然,我的同事也有一些其他的人生压力,例如:恋爱、亲情等等烦恼。我也不知道她究竟因何离开,她的离开让我惋惜。只是希望做老师的同行们,你们一定要正确面对压力,合理化解。生活不易,但我们还是要活着。",
      "json_metadata": "{\"tags\":[\"life\",\"cn\",\"story\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
qlpyzzupvoted (100.00%) @chenchun / 20180424
2018/04/24 15:41:54
voterqlpyzz
authorchenchun
permlink20180424
weight10000 (100.00%)
Transaction InfoBlock #21850954/Trx 83827da5890381eeee023dc36ab7145ab0c6f8ad
View Raw JSON Data
{
  "trx_id": "83827da5890381eeee023dc36ab7145ab0c6f8ad",
  "block": 21850954,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-24T15:41:54",
  "op": [
    "vote",
    {
      "voter": "qlpyzz",
      "author": "chenchun",
      "permlink": "20180424",
      "weight": 10000
    }
  ]
}
2018/04/24 15:41:48
parent authorchenchun
parent permlink20180424
authorqlpyzz
permlinkre-chenchun-20180424-20180424t154137837z
title
body学生都是00后?
json metadata{"tags":["life"],"app":"steemit/0.1"}
Transaction InfoBlock #21850952/Trx 9248aacaa9aa470655eff7ec80bd6197b1a77c14
View Raw JSON Data
{
  "trx_id": "9248aacaa9aa470655eff7ec80bd6197b1a77c14",
  "block": 21850952,
  "trx_in_block": 37,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-24T15:41:48",
  "op": [
    "comment",
    {
      "parent_author": "chenchun",
      "parent_permlink": "20180424",
      "author": "qlpyzz",
      "permlink": "re-chenchun-20180424-20180424t154137837z",
      "title": "",
      "body": "学生都是00后?",
      "json_metadata": "{\"tags\":[\"life\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
ubgupvoted (1.00%) @chenchun / 20180424
2018/04/24 15:21:45
voterubg
authorchenchun
permlink20180424
weight100 (1.00%)
Transaction InfoBlock #21850552/Trx ea54fa72d92728f8093d3f4d392982981bbe9a59
View Raw JSON Data
{
  "trx_id": "ea54fa72d92728f8093d3f4d392982981bbe9a59",
  "block": 21850552,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-24T15:21:45",
  "op": [
    "vote",
    {
      "voter": "ubg",
      "author": "chenchun",
      "permlink": "20180424",
      "weight": 100
    }
  ]
}
chenchunpublished a new post: 20180424
2018/04/24 15:20:33
parent author
parent permlinklife
authorchenchun
permlink20180424
title班主任日记20180424
body@@ -200,17 +200,17 @@ %EF%BC%8C%E8%BF%98%E6%98%AF%E5%BE%88%E5%B0%91%E5%8F%82%E5%8A%A0%E8%AF%BE -%E4%BB%B6 +%E9%97%B4 %E9%95%BF%E8%B7%91%E6%B4%BB%E5%8A%A8%EF%BC%8C%E5%8F%AA%E6%9C%89%E4%B8%A4 @@ -253,16 +253,36 @@ %E7%9D%A1%EF%BC%8C%E5%8F%AB%E8%B5%B7%E5%BA%8A%E4%B8%8D%E8%B5%B7%E3%80%82 +%E7%BA%A6%E5%AE%9A%E5%A5%BD%E7%9A%84%E7%8E%A9%E6%89%8B%E6%9C%BA%E7%9A%84%E6%97%B6%E9%97%B4%E5%88%B0%E4%BA%86%EF%BC%8C%E5%B0%B1%E6%98%AF%E4%B8%8D%E8%BF%98%E6%89%8B%E6%9C%BA%E3%80%82 %0A%E6%A0%A1%E9%95%BF%E5%88%99%E6%98%AF%E8%AF%B4%E4%BD%A0%E4%BD%9C
json metadata{"tags":["life","cn","story"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #21850528/Trx d63f22647a37dd8844afb8bc83b333551b79acfd
View Raw JSON Data
{
  "trx_id": "d63f22647a37dd8844afb8bc83b333551b79acfd",
  "block": 21850528,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-24T15:20:33",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "life",
      "author": "chenchun",
      "permlink": "20180424",
      "title": "班主任日记20180424",
      "body": "@@ -200,17 +200,17 @@\n %EF%BC%8C%E8%BF%98%E6%98%AF%E5%BE%88%E5%B0%91%E5%8F%82%E5%8A%A0%E8%AF%BE\n-%E4%BB%B6\n+%E9%97%B4\n %E9%95%BF%E8%B7%91%E6%B4%BB%E5%8A%A8%EF%BC%8C%E5%8F%AA%E6%9C%89%E4%B8%A4\n@@ -253,16 +253,36 @@\n %E7%9D%A1%EF%BC%8C%E5%8F%AB%E8%B5%B7%E5%BA%8A%E4%B8%8D%E8%B5%B7%E3%80%82\n+%E7%BA%A6%E5%AE%9A%E5%A5%BD%E7%9A%84%E7%8E%A9%E6%89%8B%E6%9C%BA%E7%9A%84%E6%97%B6%E9%97%B4%E5%88%B0%E4%BA%86%EF%BC%8C%E5%B0%B1%E6%98%AF%E4%B8%8D%E8%BF%98%E6%89%8B%E6%9C%BA%E3%80%82\n %0A%E6%A0%A1%E9%95%BF%E5%88%99%E6%98%AF%E8%AF%B4%E4%BD%A0%E4%BD%9C\n",
      "json_metadata": "{\"tags\":[\"life\",\"cn\",\"story\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
chenchunpublished a new post: 20180424
2018/04/24 15:18:51
parent author
parent permlinklife
authorchenchun
permlink20180424
title班主任日记20180424
body一、昨天,把女生c(女1)的家长叫到了学校,管学生管理工作的校长与女生c的妈妈进行了沟通,我呢把女生c的表现告诉了校长: 1、上周,周一迟到,8点多到校;周三10点多到校(说是眼睛肿了);周四一上午没来;周五迟到几分钟。本周一迟到,8点多到校。 2、体育课,迟到,老师让做小臂支撑30秒,拒绝执行。老师生气地让她离开课堂。体育课,想跑了跑,不想跑就不跑步。 3、自上次3月书写保证改善自己的行为以来,还是很少参加课件长跑活动,只有两次有假条,其它时间几乎没有参加长跑活动。 家长则是说管不了孩子。让睡觉不睡,叫起床不起。 校长则是说你作为家长怎么能管不了自己的孩子。再次警告,如果不改正,则学期末让其转学。 二、昨天晚上8点多,男生李的家长(男9)打电话问孩子为啥没回家。我说6点放学,7点前在车站还看到她孩子了。今天问那个男生,他说他去修理拉链了。虽然我不信,但是我也不想真的去核实这件事。所以,只能提示他早点回家。这个孩子是经常在车站附件逗留,不及时回家。 三、今天下午放学后,做考场安排,有几个做卫生的值日生跑了,很生气也没办法,只能先找其他人做卫生。跑掉的人,必须要惩罚,不然卫生就不能执行了。 四、女生z(女25)。该生的问题很多很多。昨天傍晚放学后在公交站,我看到她玩手机,告知了其父亲。今天中午,放学后,在校外的马路边上,她又在玩手机。告诉其父亲,其父亲说昨天已经跟孩子说了,孩子答应他不带手机的。这样的学生,要怎么管。
json metadata{"tags":["life","cn","story"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #21850494/Trx 547f7703284560b6add90de8a08e2cea1bda4d28
View Raw JSON Data
{
  "trx_id": "547f7703284560b6add90de8a08e2cea1bda4d28",
  "block": 21850494,
  "trx_in_block": 48,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-24T15:18:51",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "life",
      "author": "chenchun",
      "permlink": "20180424",
      "title": "班主任日记20180424",
      "body": "一、昨天,把女生c(女1)的家长叫到了学校,管学生管理工作的校长与女生c的妈妈进行了沟通,我呢把女生c的表现告诉了校长:\n1、上周,周一迟到,8点多到校;周三10点多到校(说是眼睛肿了);周四一上午没来;周五迟到几分钟。本周一迟到,8点多到校。\n2、体育课,迟到,老师让做小臂支撑30秒,拒绝执行。老师生气地让她离开课堂。体育课,想跑了跑,不想跑就不跑步。\n3、自上次3月书写保证改善自己的行为以来,还是很少参加课件长跑活动,只有两次有假条,其它时间几乎没有参加长跑活动。\n家长则是说管不了孩子。让睡觉不睡,叫起床不起。\n校长则是说你作为家长怎么能管不了自己的孩子。再次警告,如果不改正,则学期末让其转学。\n\n二、昨天晚上8点多,男生李的家长(男9)打电话问孩子为啥没回家。我说6点放学,7点前在车站还看到她孩子了。今天问那个男生,他说他去修理拉链了。虽然我不信,但是我也不想真的去核实这件事。所以,只能提示他早点回家。这个孩子是经常在车站附件逗留,不及时回家。\n\n三、今天下午放学后,做考场安排,有几个做卫生的值日生跑了,很生气也没办法,只能先找其他人做卫生。跑掉的人,必须要惩罚,不然卫生就不能执行了。\n\n四、女生z(女25)。该生的问题很多很多。昨天傍晚放学后在公交站,我看到她玩手机,告知了其父亲。今天中午,放学后,在校外的马路边上,她又在玩手机。告诉其父亲,其父亲说昨天已经跟孩子说了,孩子答应他不带手机的。这样的学生,要怎么管。",
      "json_metadata": "{\"tags\":[\"life\",\"cn\",\"story\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
chenchunpublished a new post: 20180424
2018/04/24 15:13:54
parent author
parent permlinklife
authorchenchun
permlink20180424
title班主任日记20180424
body一、昨天,把女生c(女1)的家长叫到了学校,管学生管理工作的校长与女生c的妈妈进行了沟通,我呢把女生c的表现告诉了校长: 1、上周,周一迟到,8点多到校;周三10点多到校(说是眼睛肿了);周四一上午没来;周五迟到几分钟。本周一迟到,8点多到校。 2、体育课,迟到,老师让做小臂支撑30秒,拒绝执行。老师生气地让她离开课堂。体育课,想跑了跑,不想跑就不跑步。 3、自上次3月书写保证改善自己的行为以来,还是很少参加课件长跑活动,只有两次有假条,其它时间几乎没有参加长跑活动。 二、昨天晚上8点多,男生李的家长(男9)打电话问孩子为啥没回家。我说6点放学,7点前在车站还看到她孩子了。今天问那个男生,他说他去修理拉链了。虽然我不信,但是我也不想真的去核实这件事。所以,只能提示他早点回家。这个孩子是经常在车站附件逗留,不及时回家。 三、今天下午放学后,做考场安排,有几个做卫生的值日生跑了,很生气也没办法,只能先找其他人做卫生。跑掉的人,必须要惩罚,不然卫生就不能执行了。
json metadata{"tags":["life"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #21850395/Trx 3ae7a4675562b7d2d52b18be0d90ee0507683075
View Raw JSON Data
{
  "trx_id": "3ae7a4675562b7d2d52b18be0d90ee0507683075",
  "block": 21850395,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-24T15:13:54",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "life",
      "author": "chenchun",
      "permlink": "20180424",
      "title": "班主任日记20180424",
      "body": "一、昨天,把女生c(女1)的家长叫到了学校,管学生管理工作的校长与女生c的妈妈进行了沟通,我呢把女生c的表现告诉了校长:\n1、上周,周一迟到,8点多到校;周三10点多到校(说是眼睛肿了);周四一上午没来;周五迟到几分钟。本周一迟到,8点多到校。\n2、体育课,迟到,老师让做小臂支撑30秒,拒绝执行。老师生气地让她离开课堂。体育课,想跑了跑,不想跑就不跑步。\n3、自上次3月书写保证改善自己的行为以来,还是很少参加课件长跑活动,只有两次有假条,其它时间几乎没有参加长跑活动。\n\n二、昨天晚上8点多,男生李的家长(男9)打电话问孩子为啥没回家。我说6点放学,7点前在车站还看到她孩子了。今天问那个男生,他说他去修理拉链了。虽然我不信,但是我也不想真的去核实这件事。所以,只能提示他早点回家。这个孩子是经常在车站附件逗留,不及时回家。\n\n三、今天下午放学后,做考场安排,有几个做卫生的值日生跑了,很生气也没办法,只能先找其他人做卫生。跑掉的人,必须要惩罚,不然卫生就不能执行了。",
      "json_metadata": "{\"tags\":[\"life\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
chenchunpublished a new post: 20180420
2018/04/20 16:03:36
parent author
parent permlinklife
authorchenchun
permlink20180420
title班主任工作日记20180420
body今天体育课发生的故事 1、正在上课时,体育委员来找我,跟我说女生c(昨天提到的)和女生h,上课迟到,体育老师让她俩做小臂撑地30秒,她俩拒绝,体育老师生气,让他俩离开体育课堂。 2、班会课,让女生c、女生h在班级内讲了她们自己的想法,然后我进行了总结。 3、总结:自己对自己的行为负责。犯错要承担后果。如果对老师的处理意见不认同,也要主动提出自己愿意接受的处理方式。如果屡次拒绝老师的教育,将请家长到校配合教育。此次事情后续应做的事情:给老师道歉,主动接受老师的教育。
json metadata{"tags":["life","cn","story"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #21736768/Trx 2d7a26b7b00ba3f506d59bb21c64923c377a411e
View Raw JSON Data
{
  "trx_id": "2d7a26b7b00ba3f506d59bb21c64923c377a411e",
  "block": 21736768,
  "trx_in_block": 48,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-20T16:03:36",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "life",
      "author": "chenchun",
      "permlink": "20180420",
      "title": "班主任工作日记20180420",
      "body": "今天体育课发生的故事\n      1、正在上课时,体育委员来找我,跟我说女生c(昨天提到的)和女生h,上课迟到,体育老师让她俩做小臂撑地30秒,她俩拒绝,体育老师生气,让他俩离开体育课堂。\n      2、班会课,让女生c、女生h在班级内讲了她们自己的想法,然后我进行了总结。\n      3、总结:自己对自己的行为负责。犯错要承担后果。如果对老师的处理意见不认同,也要主动提出自己愿意接受的处理方式。如果屡次拒绝老师的教育,将请家长到校配合教育。此次事情后续应做的事情:给老师道歉,主动接受老师的教育。",
      "json_metadata": "{\"tags\":[\"life\",\"cn\",\"story\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
oroskinaupvoted (100.00%) @chenchun / 20180419
2018/04/19 22:44:12
voteroroskina
authorchenchun
permlink20180419
weight10000 (100.00%)
Transaction InfoBlock #21715980/Trx 3b0b679ad05a944f8213520718b517f58abf63f4
View Raw JSON Data
{
  "trx_id": "3b0b679ad05a944f8213520718b517f58abf63f4",
  "block": 21715980,
  "trx_in_block": 29,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-19T22:44:12",
  "op": [
    "vote",
    {
      "voter": "oroskina",
      "author": "chenchun",
      "permlink": "20180419",
      "weight": 10000
    }
  ]
}
lopatupvoted (100.00%) @chenchun / 20180419
2018/04/19 22:43:30
voterlopat
authorchenchun
permlink20180419
weight10000 (100.00%)
Transaction InfoBlock #21715966/Trx e808239817f3cbf879651fc1c4f3d8eefe87d952
View Raw JSON Data
{
  "trx_id": "e808239817f3cbf879651fc1c4f3d8eefe87d952",
  "block": 21715966,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-19T22:43:30",
  "op": [
    "vote",
    {
      "voter": "lopat",
      "author": "chenchun",
      "permlink": "20180419",
      "weight": 10000
    }
  ]
}
chenchunupvoted (100.00%) @chenchun / 20180419
2018/04/19 14:43:51
voterchenchun
authorchenchun
permlink20180419
weight10000 (100.00%)
Transaction InfoBlock #21706378/Trx 6d61a9a03fcc077685cf853c54310b26a18367c4
View Raw JSON Data
{
  "trx_id": "6d61a9a03fcc077685cf853c54310b26a18367c4",
  "block": 21706378,
  "trx_in_block": 49,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-19T14:43:51",
  "op": [
    "vote",
    {
      "voter": "chenchun",
      "author": "chenchun",
      "permlink": "20180419",
      "weight": 10000
    }
  ]
}
chenchunpublished a new post: 20180419
2018/04/19 14:19:51
parent author
parent permlinklife
authorchenchun
permlink20180419
title班主任日记20180419
body今天,原本是希望能风平浪静的,可是还是有几件让我不顺心的事情。 一、女生c旷课半天 即女生c昨天上午10点多才来学校,早上7点多问她妈妈,她妈妈说孩子说眼睛疼晚点来。今天,10点多,女生c还没来学校,给她妈妈发短信询问,她妈妈说孩子昨晚两点才睡,早上叫不起床。女生c一上午没来,下午来了。下午班主任会后,给德育校长说了,她说下周让女生c和她妈妈一起到学校来一趟。 二、女生w带手机到学校 中午,吃完饭后到教师巡查,发现女生w在玩手机,我让女生w把手机交给我,她不给,然后她马上回家了,把手机放家里了。下午她来了,下午第一节课,我找她到办公室处理这件事情。问她原因,她说她爸爸让她带手机方便晚上联系。给她爸爸打电话后,确认了此事。但是即便如此,也不可以把手机拿出来玩,被老师发现后,竟然逃跑,意图逃避老师的处理。最关键的问题是:学校不允许带手机到学校,一经发现,即没收,待中考结束后归还给本人。那么如果我对她纵容,其他学生又会如何想?如果其他学生纷纷效仿,那班主任该如何管理班级呢?最后,我的处理方式如下:将手机交给我保管,期末结束后再归还给她;就这件事写一个反思。 三、班主任会 班主任会主要布置了后面几周的班级工作,以及关于学校对手机管理的新规定。总的原则是不能带手机到学校。因为这类事情越来越多,所以,在即将到来的家长会上,校长将就此事进行详细的解释。
json metadata{"tags":["life","cn","story"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #21705898/Trx 5cd0cabc21eaefc25cb29bc3cd7279c06d46a6bb
View Raw JSON Data
{
  "trx_id": "5cd0cabc21eaefc25cb29bc3cd7279c06d46a6bb",
  "block": 21705898,
  "trx_in_block": 31,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-19T14:19:51",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "life",
      "author": "chenchun",
      "permlink": "20180419",
      "title": "班主任日记20180419",
      "body": "今天,原本是希望能风平浪静的,可是还是有几件让我不顺心的事情。\n\n一、女生c旷课半天\n      即女生c昨天上午10点多才来学校,早上7点多问她妈妈,她妈妈说孩子说眼睛疼晚点来。今天,10点多,女生c还没来学校,给她妈妈发短信询问,她妈妈说孩子昨晚两点才睡,早上叫不起床。女生c一上午没来,下午来了。下午班主任会后,给德育校长说了,她说下周让女生c和她妈妈一起到学校来一趟。\n\n二、女生w带手机到学校\n      中午,吃完饭后到教师巡查,发现女生w在玩手机,我让女生w把手机交给我,她不给,然后她马上回家了,把手机放家里了。下午她来了,下午第一节课,我找她到办公室处理这件事情。问她原因,她说她爸爸让她带手机方便晚上联系。给她爸爸打电话后,确认了此事。但是即便如此,也不可以把手机拿出来玩,被老师发现后,竟然逃跑,意图逃避老师的处理。最关键的问题是:学校不允许带手机到学校,一经发现,即没收,待中考结束后归还给本人。那么如果我对她纵容,其他学生又会如何想?如果其他学生纷纷效仿,那班主任该如何管理班级呢?最后,我的处理方式如下:将手机交给我保管,期末结束后再归还给她;就这件事写一个反思。\n\n三、班主任会\n    班主任会主要布置了后面几周的班级工作,以及关于学校对手机管理的新规定。总的原则是不能带手机到学校。因为这类事情越来越多,所以,在即将到来的家长会上,校长将就此事进行详细的解释。",
      "json_metadata": "{\"tags\":[\"life\",\"cn\",\"story\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
chenchunpublished a new post: 20180418
2018/04/18 15:31:48
parent author
parent permlinkcn
authorchenchun
permlink20180418
title班主任日记20180418
body@@ -1383,17 +1383,17 @@ %E5%A5%B3%E7%94%9F -z +c %E7%9A%84%E9%97%AE%E9%A2%98%E6%9C%89%E5%95%A5%EF%BC%9F%E8%BF%9F%E5%88%B0 @@ -1541,9 +1541,9 @@ %E7%BB%99%E4%B8%8E%E4%BA%86%E4%B8%A5 -%E8%82%83 +%E9%87%8D %E8%AD%A6%E5%91%8A%EF%BC%9A%E5%A6%82 @@ -1600,15 +1600,21 @@ %E7%82%B9%E5%A4%9A%E4%BA%86%EF%BC%8C -%E7%BB%99%E5%A5%B9%E5%A6%88%E5%A6%88%E6%89%93%E7%94%B5%E8%AF%9D +%E8%BF%98%E6%B2%A1%E6%9D%A5%EF%BC%8C%E7%BB%99%E5%A5%B9%E5%A6%88%E5%A6%88%E5%8F%91%E7%9F%AD%E4%BF%A1%E8%AF%A2%E9%97%AE %EF%BC%8C%E5%A5%B9%E5%A6%88%E5%A6%88 @@ -1688,16 +1688,17 @@ %E6%9D%A5%E5%AD%A6%E6%A0%A1%E4%BA%86%E8%A7%A3%E6%83%85%E5%86%B5%EF%BC%8C +%E6%88%91 %E5%92%8C%E4%BB%96%E5%A6%88%E5%A6%88%E3%80%81%E5%A7%A8%E3%80%81%E6%95%B0 @@ -1767,16 +1767,18 @@ %E3%80%82%E5%8F%AA%E8%83%BD%E7%AD%89%E5%BE%85%E4%BB%96%E8%87%AA%E5%B7%B1 +%E8%AE%A4%E7%9F%A5 %E7%9A%84%E6%94%B9%E5%8F%98%E4%BA%86%E3%80%82%0A
json metadata{"tags":["cn","life","story"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #21678539/Trx 9c2a27d038bf324ec16a0d16c8fc6a1131c494e9
View Raw JSON Data
{
  "trx_id": "9c2a27d038bf324ec16a0d16c8fc6a1131c494e9",
  "block": 21678539,
  "trx_in_block": 26,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-18T15:31:48",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "cn",
      "author": "chenchun",
      "permlink": "20180418",
      "title": "班主任日记20180418",
      "body": "@@ -1383,17 +1383,17 @@\n       %E5%A5%B3%E7%94%9F\n-z\n+c\n %E7%9A%84%E9%97%AE%E9%A2%98%E6%9C%89%E5%95%A5%EF%BC%9F%E8%BF%9F%E5%88%B0\n@@ -1541,9 +1541,9 @@\n %E7%BB%99%E4%B8%8E%E4%BA%86%E4%B8%A5\n-%E8%82%83\n+%E9%87%8D\n %E8%AD%A6%E5%91%8A%EF%BC%9A%E5%A6%82\n@@ -1600,15 +1600,21 @@\n %E7%82%B9%E5%A4%9A%E4%BA%86%EF%BC%8C\n-%E7%BB%99%E5%A5%B9%E5%A6%88%E5%A6%88%E6%89%93%E7%94%B5%E8%AF%9D\n+%E8%BF%98%E6%B2%A1%E6%9D%A5%EF%BC%8C%E7%BB%99%E5%A5%B9%E5%A6%88%E5%A6%88%E5%8F%91%E7%9F%AD%E4%BF%A1%E8%AF%A2%E9%97%AE\n %EF%BC%8C%E5%A5%B9%E5%A6%88%E5%A6%88\n@@ -1688,16 +1688,17 @@\n %E6%9D%A5%E5%AD%A6%E6%A0%A1%E4%BA%86%E8%A7%A3%E6%83%85%E5%86%B5%EF%BC%8C\n+%E6%88%91\n %E5%92%8C%E4%BB%96%E5%A6%88%E5%A6%88%E3%80%81%E5%A7%A8%E3%80%81%E6%95%B0\n@@ -1767,16 +1767,18 @@\n %E3%80%82%E5%8F%AA%E8%83%BD%E7%AD%89%E5%BE%85%E4%BB%96%E8%87%AA%E5%B7%B1\n+%E8%AE%A4%E7%9F%A5\n %E7%9A%84%E6%94%B9%E5%8F%98%E4%BA%86%E3%80%82%0A  \n",
      "json_metadata": "{\"tags\":[\"cn\",\"life\",\"story\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
chenchunpublished a new post: 20180418
2018/04/18 15:27:09
parent author
parent permlinkcn
authorchenchun
permlink20180418
title班主任日记20180418
body@@ -145,17 +145,16 @@ %E8%83%BD%E7%A1%AC%E7%9D%80%E5%A4%B4%E7%9A%AE%E5%B9%B2%E3%80%82%0A -%0A %E4%B8%BA%E4%BB%80 @@ -267,17 +267,16 @@ %E4%B8%94%E6%B2%A1%E6%9C%89%E9%A9%B1%E5%8A%A8%E5%8A%9B%E3%80%82%0A -%0A %E4%B8%BA%E5%95%A5 @@ -572,17 +572,16 @@ %EF%BC%8C%E6%88%91%E4%B9%9F%E4%B8%8D%E7%9F%A5%E9%81%93%E3%80%82%0A -%0A %E8%BF%99%E4%BB%B6
json metadata{"tags":["cn","life","story"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #21678446/Trx a761e14fa2ca5b0bb92a868abde67d75612eecc2
View Raw JSON Data
{
  "trx_id": "a761e14fa2ca5b0bb92a868abde67d75612eecc2",
  "block": 21678446,
  "trx_in_block": 62,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-18T15:27:09",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "cn",
      "author": "chenchun",
      "permlink": "20180418",
      "title": "班主任日记20180418",
      "body": "@@ -145,17 +145,16 @@\n %E8%83%BD%E7%A1%AC%E7%9D%80%E5%A4%B4%E7%9A%AE%E5%B9%B2%E3%80%82%0A\n-%0A\n       %E4%B8%BA%E4%BB%80\n@@ -267,17 +267,16 @@\n %E4%B8%94%E6%B2%A1%E6%9C%89%E9%A9%B1%E5%8A%A8%E5%8A%9B%E3%80%82%0A\n-%0A\n       %E4%B8%BA%E5%95%A5\n@@ -572,17 +572,16 @@\n %EF%BC%8C%E6%88%91%E4%B9%9F%E4%B8%8D%E7%9F%A5%E9%81%93%E3%80%82%0A\n-%0A\n       %E8%BF%99%E4%BB%B6\n",
      "json_metadata": "{\"tags\":[\"cn\",\"life\",\"story\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
chenchunpublished a new post: 20180418
2018/04/18 15:23:24
parent author
parent permlinkcn
authorchenchun
permlink20180418
title班主任日记20180418
body我是一个普通的初中班主任,而且我是教地理的。教地理的老师怎么会是班主任呢?因为我们这里地理目前是初三参加中考。更要命的是没人愿意当班主任,磨人,痛苦。语文老师生孩子去了,数学老师是新老师没经验,英语老师年龄大了······男老师很少的,工资太低了。我很不情愿地当了班主任,实在是没人了,只能硬着头皮干。 为什么我要把这文字写下来,纯粹是我们的大脑真的不能记忆很多东西。如果不去记录,都会忘记的。而我想写下来,反思自己的行为,也留下一点印记。为啥不是记在日记本上呢,太麻烦,不好保存。记在word里,总是不记得记在哪里,而且没有驱动力。 为啥要在这里写呢?因为区块链不可篡改。我有一个小梦想,就是创立一个区块链的日记本。当然只有自己能看到自己的记录,其他人要看,必须要授权,当然我希望日记也可以交易、买卖。 今天干了啥? 一、恼火的事情: 1、女生z早上来上课了。她的问题是啥呢?昨天让她换座位,她拒绝配合。我说不换座位,你就别想上课了。她立马拿上书包离开教室,然后出了校门。因为是早上,门卫管理比较松,她就离开了学校。我及时和她妈妈打电话,告诉她妈妈这件事。所以昨天一天,她早上离开学校后就没来上学了。今天,她妈妈送她来上学了。她妈妈什么也没说(无电话、短信)。因为她来的时候,已经在上早自习,我也不知道。 这件事为啥让我生气呢? (1)迟到、旷课。经常早上八点多来(7:30-8:00上早自习),而且家长通常是发短信说是叫了不起床(妈妈说要气疯了)。下午有时候不上第一节课,甚至第二节课,因为妈妈中午不在家。来了学校,你问了,她嬉皮笑脸地说:“睡过了”或是“忘记定闹钟了”。 (2)有时不交作业、家校。上课不听讲,睡觉。 (3)说脏话、打同学。她骂同学,不让同学骂她,别人骂了她,她就打人。 (4)她的借口很多。正当的:阳光过敏、牙疼、感冒、不舒服。她永远有借口。 (5)经常带手机到学校。学校不允许带手机到学校。 (6)最大的毛病:任何时候,你只要说她,她就顶嘴,给自己找借口。而且不管是任何人说任何内容。 (7)今天我恼火的是:作为班主任,让她换座位,她不换。就是句:“凭啥?”再怎么解释,人家就是不理不睬。而且一言不和就回家了。 (8)妈妈管理她。妈妈说管不了。妈妈说要照顾她的一个小弟弟。爸爸很少回家。 (9)今天下午放学后,和她爸爸谈了她的问题。她爸爸说她就是这脾气。当然这个学生也在场。依然时不时地找一堆借口反驳我。为啥是这样的结果呢?本来是想让政教处的老师处理(因为不接受班主任的管理),政教处老师什么也不问,就简单粗暴地要我去她家家访。我讨厌去,因为厌恶。也没有任何老师愿意去,原因就是厌恶(任何老师只要是说了她,她就会和你对着来)。问了数学老师,她也不愿意,所以只好在办公室和她爸爸谈了谈,数学老师忙着给学生辅导,说完就先去辅导学生了。这样的情况,我从来没遇到过。这种情况自然是不能让她什么也不做就上课的。但是今天、明天课很多,没时间,政教处的老师不配合,只能先这样。 说了一堆话,这孩子依然是不屑一顾的样子。所以,我真的很讨厌这样的学生。 2、女生c的问题 女生z的问题有啥?迟到、旷课(想来了来,不想来,不来);上课不听讲,看小说;上课想啥时候进就啥时候进教室,上课过程中想出教室就自己跑出去了;不上体育课,也不告诉你任何原因;化妆,一个学期,找她谈了十来次,还是照样继续;你叫她,她不理你。在几次叫来她妈妈、爸爸、并到政教处交流后无效后,这学期找了校长,校长给与了严肃警告:如果继续不思悔改,勒令转学(不是本片区)。本周一,迟到,妈妈依然是打电话说叫她起床,她不起来。今天,8点多了,给她妈妈打电话,她妈妈说孩子说她眼睛疼晚点去。 二、另外一个学生 男生z,该生贪玩,喜欢踢足球,学习成绩下滑厉害。他妈妈担心他学习,和他姨一起来学校了解情况,和他妈妈、姨、数学老师交流了他在学校的情况。总的就是一条:他自己不主动,懒。怎么能改变这点?如何让他对学习上瘾,而不是对踢足球上瘾,我不知道。只能等待他自己的改变了。 三、其他班级学生的问题 1、某班级学生在教室内偷了老师的手机,老师就在教室内,转个身,手机就丢了。找了半个小时才找到。 2、某班学生上课讲话,老师制止,学生和老师争吵,把老师气得住院了。 今天是第一篇,希望能坚持下去。
json metadata{"tags":["cn","life","story"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #21678371/Trx 7fb64fc2b2bcd1bb23142679cbab35b353d2f1d8
View Raw JSON Data
{
  "trx_id": "7fb64fc2b2bcd1bb23142679cbab35b353d2f1d8",
  "block": 21678371,
  "trx_in_block": 33,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-18T15:23:24",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "cn",
      "author": "chenchun",
      "permlink": "20180418",
      "title": "班主任日记20180418",
      "body": "我是一个普通的初中班主任,而且我是教地理的。教地理的老师怎么会是班主任呢?因为我们这里地理目前是初三参加中考。更要命的是没人愿意当班主任,磨人,痛苦。语文老师生孩子去了,数学老师是新老师没经验,英语老师年龄大了······男老师很少的,工资太低了。我很不情愿地当了班主任,实在是没人了,只能硬着头皮干。\n\n      为什么我要把这文字写下来,纯粹是我们的大脑真的不能记忆很多东西。如果不去记录,都会忘记的。而我想写下来,反思自己的行为,也留下一点印记。为啥不是记在日记本上呢,太麻烦,不好保存。记在word里,总是不记得记在哪里,而且没有驱动力。\n\n      为啥要在这里写呢?因为区块链不可篡改。我有一个小梦想,就是创立一个区块链的日记本。当然只有自己能看到自己的记录,其他人要看,必须要授权,当然我希望日记也可以交易、买卖。\n\n      今天干了啥?\n一、恼火的事情:\n      1、女生z早上来上课了。她的问题是啥呢?昨天让她换座位,她拒绝配合。我说不换座位,你就别想上课了。她立马拿上书包离开教室,然后出了校门。因为是早上,门卫管理比较松,她就离开了学校。我及时和她妈妈打电话,告诉她妈妈这件事。所以昨天一天,她早上离开学校后就没来上学了。今天,她妈妈送她来上学了。她妈妈什么也没说(无电话、短信)。因为她来的时候,已经在上早自习,我也不知道。\n\n      这件事为啥让我生气呢?\n      (1)迟到、旷课。经常早上八点多来(7:30-8:00上早自习),而且家长通常是发短信说是叫了不起床(妈妈说要气疯了)。下午有时候不上第一节课,甚至第二节课,因为妈妈中午不在家。来了学校,你问了,她嬉皮笑脸地说:“睡过了”或是“忘记定闹钟了”。\n      (2)有时不交作业、家校。上课不听讲,睡觉。\n      (3)说脏话、打同学。她骂同学,不让同学骂她,别人骂了她,她就打人。\n      (4)她的借口很多。正当的:阳光过敏、牙疼、感冒、不舒服。她永远有借口。\n      (5)经常带手机到学校。学校不允许带手机到学校。\n      (6)最大的毛病:任何时候,你只要说她,她就顶嘴,给自己找借口。而且不管是任何人说任何内容。\n      (7)今天我恼火的是:作为班主任,让她换座位,她不换。就是句:“凭啥?”再怎么解释,人家就是不理不睬。而且一言不和就回家了。\n      (8)妈妈管理她。妈妈说管不了。妈妈说要照顾她的一个小弟弟。爸爸很少回家。\n      (9)今天下午放学后,和她爸爸谈了她的问题。她爸爸说她就是这脾气。当然这个学生也在场。依然时不时地找一堆借口反驳我。为啥是这样的结果呢?本来是想让政教处的老师处理(因为不接受班主任的管理),政教处老师什么也不问,就简单粗暴地要我去她家家访。我讨厌去,因为厌恶。也没有任何老师愿意去,原因就是厌恶(任何老师只要是说了她,她就会和你对着来)。问了数学老师,她也不愿意,所以只好在办公室和她爸爸谈了谈,数学老师忙着给学生辅导,说完就先去辅导学生了。这样的情况,我从来没遇到过。这种情况自然是不能让她什么也不做就上课的。但是今天、明天课很多,没时间,政教处的老师不配合,只能先这样。\n      说了一堆话,这孩子依然是不屑一顾的样子。所以,我真的很讨厌这样的学生。\n\n2、女生c的问题\n      女生z的问题有啥?迟到、旷课(想来了来,不想来,不来);上课不听讲,看小说;上课想啥时候进就啥时候进教室,上课过程中想出教室就自己跑出去了;不上体育课,也不告诉你任何原因;化妆,一个学期,找她谈了十来次,还是照样继续;你叫她,她不理你。在几次叫来她妈妈、爸爸、并到政教处交流后无效后,这学期找了校长,校长给与了严肃警告:如果继续不思悔改,勒令转学(不是本片区)。本周一,迟到,妈妈依然是打电话说叫她起床,她不起来。今天,8点多了,给她妈妈打电话,她妈妈说孩子说她眼睛疼晚点去。\n\n二、另外一个学生\n      男生z,该生贪玩,喜欢踢足球,学习成绩下滑厉害。他妈妈担心他学习,和他姨一起来学校了解情况,和他妈妈、姨、数学老师交流了他在学校的情况。总的就是一条:他自己不主动,懒。怎么能改变这点?如何让他对学习上瘾,而不是对踢足球上瘾,我不知道。只能等待他自己的改变了。\n      \n三、其他班级学生的问题\n      1、某班级学生在教室内偷了老师的手机,老师就在教室内,转个身,手机就丢了。找了半个小时才找到。\n      2、某班学生上课讲话,老师制止,学生和老师争吵,把老师气得住院了。\n\n    今天是第一篇,希望能坚持下去。",
      "json_metadata": "{\"tags\":[\"cn\",\"life\",\"story\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/02/28 14:16:42
required auths[]
required posting auths["chenchun"]
idfollow
json["follow",{"follower":"chenchun","following":"mosjin","what":["blog"]}]
Transaction InfoBlock #20267372/Trx 61d2ec83c53564aeff4e80e6fa34bdc3a69dcafb
View Raw JSON Data
{
  "trx_id": "61d2ec83c53564aeff4e80e6fa34bdc3a69dcafb",
  "block": 20267372,
  "trx_in_block": 36,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-28T14:16:42",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "chenchun"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"chenchun\",\"following\":\"mosjin\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/02/28 14:05:27
required auths[]
required posting auths["chenchun"]
idfollow
json["follow",{"follower":"chenchun","following":"speeding","what":["blog"]}]
Transaction InfoBlock #20267147/Trx 1c9e0836551bd0e70ac5adf924e5ada5319a3f8c
View Raw JSON Data
{
  "trx_id": "1c9e0836551bd0e70ac5adf924e5ada5319a3f8c",
  "block": 20267147,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-28T14:05:27",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "chenchun"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"chenchun\",\"following\":\"speeding\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/02/28 13:50:21
required auths[]
required posting auths["chenchun"]
idfollow
json["follow",{"follower":"chenchun","following":"oflyhigh","what":["blog"]}]
Transaction InfoBlock #20266845/Trx d0ea5b04c60edbfec004bd67015a21f7647c5ec2
View Raw JSON Data
{
  "trx_id": "d0ea5b04c60edbfec004bd67015a21f7647c5ec2",
  "block": 20266845,
  "trx_in_block": 48,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-28T13:50:21",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "chenchun"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"chenchun\",\"following\":\"oflyhigh\",\"what\":[\"blog\"]}]"
    }
  ]
}
chenchunupvoted (100.00%) @noodles.pan / steem-steem
2018/02/28 13:40:30
voterchenchun
authornoodles.pan
permlinksteem-steem
weight10000 (100.00%)
Transaction InfoBlock #20266648/Trx 3857d388d7759e8e7aa5d09bc636cdc88f133665
View Raw JSON Data
{
  "trx_id": "3857d388d7759e8e7aa5d09bc636cdc88f133665",
  "block": 20266648,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-28T13:40:30",
  "op": [
    "vote",
    {
      "voter": "chenchun",
      "author": "noodles.pan",
      "permlink": "steem-steem",
      "weight": 10000
    }
  ]
}
chenchunupvoted (100.00%) @oflyhigh / 6aeamk
2018/02/28 13:34:18
voterchenchun
authoroflyhigh
permlink6aeamk
weight10000 (100.00%)
Transaction InfoBlock #20266524/Trx beabfd76f1db979c4590ac8ac8b1ab15b40deae9
View Raw JSON Data
{
  "trx_id": "beabfd76f1db979c4590ac8ac8b1ab15b40deae9",
  "block": 20266524,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-28T13:34:18",
  "op": [
    "vote",
    {
      "voter": "chenchun",
      "author": "oflyhigh",
      "permlink": "6aeamk",
      "weight": 10000
    }
  ]
}
steemdelegated 18.259 SP to @chenchun
2018/01/09 06:36:09
delegatorsteem
delegateechenchun
vesting shares29691.392419 VESTS
Transaction InfoBlock #18819523/Trx ff707e06b9a7df004e8d1bf36b08193a7021080b
View Raw JSON Data
{
  "trx_id": "ff707e06b9a7df004e8d1bf36b08193a7021080b",
  "block": 18819523,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-09T06:36:09",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "chenchun",
      "vesting_shares": "29691.392419 VESTS"
    }
  ]
}
chenchunreceived 1.755 SBD, 1.513 SP author reward for @chenchun / 2
2017/09/03 12:17:03
authorchenchun
permlink2
sbd payout1.755 SBD
steem payout0.000 STEEM
vesting payout2459.707029 VESTS
Transaction InfoBlock #15142306/Virtual Operation #4
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 15142306,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 4,
  "timestamp": "2017-09-03T12:17:03",
  "op": [
    "author_reward",
    {
      "author": "chenchun",
      "permlink": "2",
      "sbd_payout": "1.755 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "2459.707029 VESTS"
    }
  ]
}
chenchunreceived 0.054 SBD, 0.048 SP author reward for @chenchun / 3bvz9j-1
2017/09/03 04:59:36
authorchenchun
permlink3bvz9j-1
sbd payout0.054 SBD
steem payout0.000 STEEM
vesting payout78.349007 VESTS
Transaction InfoBlock #15133560/Virtual Operation #6
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 15133560,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 6,
  "timestamp": "2017-09-03T04:59:36",
  "op": [
    "author_reward",
    {
      "author": "chenchun",
      "permlink": "3bvz9j-1",
      "sbd_payout": "0.054 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "78.349007 VESTS"
    }
  ]
}
onejoeupvoted (100.00%) @chenchun / 3
2017/08/28 02:40:48
voteronejoe
authorchenchun
permlink3
weight10000 (100.00%)
Transaction InfoBlock #14958142/Trx b23e6c8fe6e2ff77d391d7ad2cda639a908b7445
View Raw JSON Data
{
  "trx_id": "b23e6c8fe6e2ff77d391d7ad2cda639a908b7445",
  "block": 14958142,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-28T02:40:48",
  "op": [
    "vote",
    {
      "voter": "onejoe",
      "author": "chenchun",
      "permlink": "3",
      "weight": 10000
    }
  ]
}
redteaupvoted (100.00%) @chenchun / 3
2017/08/28 02:35:39
voterredtea
authorchenchun
permlink3
weight10000 (100.00%)
Transaction InfoBlock #14958039/Trx c2dec01df31cc31281b45265ff33d12b2d96a643
View Raw JSON Data
{
  "trx_id": "c2dec01df31cc31281b45265ff33d12b2d96a643",
  "block": 14958039,
  "trx_in_block": 15,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-28T02:35:39",
  "op": [
    "vote",
    {
      "voter": "redtea",
      "author": "chenchun",
      "permlink": "3",
      "weight": 10000
    }
  ]
}
redteaupvoted (100.00%) @chenchun / 4
2017/08/28 02:35:30
voterredtea
authorchenchun
permlink4
weight10000 (100.00%)
Transaction InfoBlock #14958036/Trx 2a5ecaee2c8b4fe34c45b0624d91d7559d2e6e63
View Raw JSON Data
{
  "trx_id": "2a5ecaee2c8b4fe34c45b0624d91d7559d2e6e63",
  "block": 14958036,
  "trx_in_block": 16,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-28T02:35:30",
  "op": [
    "vote",
    {
      "voter": "redtea",
      "author": "chenchun",
      "permlink": "4",
      "weight": 10000
    }
  ]
}
chenchunpublished a new post: 3
2017/08/28 02:26:09
parent author
parent permlinkbitcoin
authorchenchun
permlink3
title比特币、区块链读书笔记3《区块链:价值互联网的基石》
body@@ -25,45 +25,96 @@ http +s :// -product.dangdang.com/23990314.html +img13.360buyimg.com/n1/jfs/t6730/176/143978504/232333/79e232a4/593a7f41N15ea9fc7.jpg %0A%0A%E4%BD%9C%E8%80%85
json metadata{"tags":["bitcoin","blockchain","reading","cn"],"links":["https://bitcoin.org/bitcoin.pdf","https://bitcoincore.org/bitcoin.pdf),阐述了比特币的技术原理。","https://github.com/bitcoin/bitcoin)。"],"app":"steemit/0.1","format":"markdown","image":["https://img13.360buyimg.com/n1/jfs/t6730/176/143978504/232333/79e232a4/593a7f41N15ea9fc7.jpg"]}
Transaction InfoBlock #14957849/Trx 6e38b2d90eb463d66d85c9f4fd66a8ae929b3b44
View Raw JSON Data
{
  "trx_id": "6e38b2d90eb463d66d85c9f4fd66a8ae929b3b44",
  "block": 14957849,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-28T02:26:09",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "bitcoin",
      "author": "chenchun",
      "permlink": "3",
      "title": "比特币、区块链读书笔记3《区块链:价值互联网的基石》",
      "body": "@@ -25,45 +25,96 @@\n http\n+s\n ://\n-product.dangdang.com/23990314.html\n+img13.360buyimg.com/n1/jfs/t6730/176/143978504/232333/79e232a4/593a7f41N15ea9fc7.jpg\n %0A%0A%E4%BD%9C%E8%80%85\n",
      "json_metadata": "{\"tags\":[\"bitcoin\",\"blockchain\",\"reading\",\"cn\"],\"links\":[\"https://bitcoin.org/bitcoin.pdf\",\"https://bitcoincore.org/bitcoin.pdf),阐述了比特币的技术原理。\",\"https://github.com/bitcoin/bitcoin)。\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"https://img13.360buyimg.com/n1/jfs/t6730/176/143978504/232333/79e232a4/593a7f41N15ea9fc7.jpg\"]}"
    }
  ]
}
chenchunpublished a new post: 4
2017/08/28 02:23:39
parent author
parent permlinkbitcoin
authorchenchun
permlink4
title比特币、区块链读书笔记4《区块链:从数字货币到信用社会》
body《区块链:从数字货币到信用社会》读书笔记 书籍封面 https://img11.360buyimg.com/n11/jfs/t2713/111/4322975601/258946/513161a6/57b52e2dNa716daeb.jpg 作者:长铗(jiá)、韩锋等著。中信出版社,2016年7月。 I S B N:9787508663449 姚余栋(中国人民银行金融研究所所长):区块链因比特币而生。TCP/IP协议为信息互联网而设计,区块链则为价值互联网提供了理论基础。 在互联网上进行价值交换,需解决三个问题:一是确保价值交换的唯一性;二是如何确立价值交换双方的信任关系;三是如何确保双方的承诺能够完成依靠网络的自治机制(智能合约)而自动执行,而无需可信第三方的介入。2009年基于区块链技术的数字货币比特币的诞生,给上述三个问题找到了解决方案。 区块链是一种新型的去中心化协议,链上数据不可随意更改或伪造,因而提供了无需信任积累的信用建立范式。区块链可理解为一个账本(ledger),人们只需加入一个公开透明的数据库,通过点对点的记账、数据传输、认证或智能合约来达成信用共识,而不再借助任何中间方。这个公开透明的数据库包括了过去所有的教育记录、历史数据及其他相关信息。这些信息安全地分布式存储在一串使用密码学方法产生的数据块中,即为一个区块,从创世区块连接到当前区块,就形成了区块链。由于每个区块都包含了上一个区块的索引,即区块的哈希(hash),使得每一个区块按照顺序产生,若要逆转某个区块上的交易,需要重新计算该区块之后的所有区块,这在计算难度上机会是不可能的。于是,区块链逐渐成为一种可靠的审计工具,也让系统内参与者之间的信任建立得以实现。 区块链本身具有分布式(distributed)、去中介(disintermediation)、去信任(trustless)、不可篡改(immutable)、可编辑(programmable)等特征。 任何人都能创造自己的区块链系统:启动条件十分简单,且不难实现。 区块链有公有链、联盟链与私有链之分。 TCP/IP——网际互联协议IP和传输控制协议TCP。 互联链——统一的区块链,interchain。 王永利(乐视金融CEO,中国银行原副行长):序言没啥干货。 韩锋:区块链——未来全球信用的基础协议 金融核心无疑就是“信用”。 正文: 第一章区块链创世纪2017/7/14 一、先驱篇 (一)中本聪的生日 P2P Foundation是中本聪发布比特币白皮书的网站,注册这个网站必须提供出生日期,中本聪填写的是1975年4月5日。 1933年4月5日,富兰克林•罗斯福签署了政府法令6102,该法令规定所有美国公民持有黄金都是非法的。 1975年,福特总统签署“黄金合法化”法案,美国人可以再一次合法地拥有黄金。 (二)密码朋克 1993年,埃里克•修斯(Eric Hughes)和几个人创建了一个“密码朋克邮件名单”的加密电子邮件系统,简称“密码朋克”,对抗受到政府监控的互联网电子邮件。 比特币的加密理论基础来源于以下几项密码学的技术创新:1976年威特菲尔德•迪菲(Whitfield Diffie)与马蒂•赫尔曼(Marty Hellman)发明的非对称加密算法,1977年罗纳德•李维斯特(Rom River)、阿迪•萨莫尔(Adi Shamir)和伦纳德•阿德曼(Leonard Adelman)率先发明的第一个具备商业实用性的非对称RSA加密算法,以及1985年由尼尔•科布利茨(Neal Koblit)和维科特•米勒(Victor Miller)首先提出的椭圆曲线加密算法(ECC)。这些加密算法奠定了现在非对称加密理论的基础,被广泛应用于网络通信领域。 (三)加密货币的乔布斯 非对称加密技术的发明以及创立Napster(一款可以在网络中下载自己想要的MP3文件的软件)的肖恩•范宁(Shawn Fanning)与肖恩•帕克(Shawn Parker)点对点网络技术的开发,使比特币的出现成为可能。通过这两项技术,可以建立分布式交易账簿,并以呼叫问答机制向全网广播,网络节点不停地检查接受的数据,避免数据被篡改。 双重支付的解决方法就是亚当•拜克(Adam Back)在1997年发明的哈希现金(Hash Cash)算法机制。 2004年,哈尔•芬妮(Hal Finney)接过拜克的接力棒,将哈希现金算法改进为“可复用的工作量验证(Reusable Proofs Of Work)”。他的研究又是基于达利亚•马凯(Dahlia Malkhi)与迈克尔•瑞特(Michael Reiter)的学术成果:拜占庭容错机制(Byzantine Quorum Systems)。 非对称加密、点对点技术、哈希现金这三项关键技术没有一项是中本聪发明的,但最后摘取桂冠的却是他。 (四)创世区块 中本聪第一次出现是在2008年11月1日。 2009年1月3日,中本聪发布了开源的第一版比特币客户端,宣告了比特币的诞生。他同时通过“挖矿”得到了50块比特币,产生第一批比特币的区块就叫做“创始区块”(Genesis block)。 (后起之秀) 挖矿:想要在点对点(P2P)基础上布置一个分布式的“时间戳”服务器,我们必须使用一种与亚当•拜克的哈希现金相似的工作证明系统。 Sunny King发明了权益证明(PoS)。 二、货币篇 (一)石币之岛 (二)法兰西银行的黄金 (三)货币的本质 (四)邓巴数限制 人类学家罗宾•邓巴数(Robin Dunbar)发现每个人与之维持持久关系的熟人,数量通常只有150人左右,这一数量限制就称作邓巴数。 (五)中心化缺陷 比特币全网的节点每时每刻都在向网络广播交易,每笔交易经10-60秒就能广播至全球所有节点,速度取决于节点的网络连接状况。这些广播出来的交易在经过矿工的验证后,打包到数据块中,串联起来形成环环相扣的区块链,这些交易一经6次确认便几无篡改的可能性。 三、信用篇 (一)库拉圈 (二)理性经济人 (三)等价交易 (四)将币天销毁引入信用评价 币天(CoinDays)销毁是区块链的一个非常重要的概念。币天销毁等于每笔交易的金额(币)乘以这笔交易的币在账上留存的时间(天),比如你花了一笔100天以前收到的10比特币,这笔交易的币天销毁就是1000币天。 在市场处于下跌通道时,币天销毁的峰值意味着市场中的弱手,因为代表着大户可能要抛币。当市场处于上涨通道时,币天销毁的峰值意味着市场中的强手,表明市场可能会走强。 在比特币等数字货币交易市场中,币天销毁比每日成交量这个指标更能准确地显示市场的资金流动。 币天可以保障权益证明机制中所有挖矿着的公平性。 利用币天销毁在交易中不可逆的特性,使得用户不能在两个账户间反复利用同一笔钱获得某种回报。在市场中,大户不能利用同一笔比特币制造大量币天销毁虚拟币的流动,在PoS挖矿中,用户不能利用同一笔点点币反复挖得区块中的新币。 也许在不远的将来,在淘宝、京东等电商平台泛滥成灾的刷客与差评师将会失业。 在区块链的信用评价中,信用其实是一个数学问题。 (五)交易的热力学第二定律 在交易过程中,系统的币天总是销毁的,不可能在一次交易中不销毁任何币天。 币天销毁的本质就是时间之矢。 四、区块链篇 (一)第五次计算范式创新 1970年是比特币的计时元年,比特币区块链的时间戳从1970年1月1日起开始计算秒数。 分析现代社会进化过程的一种方法是观察计算范式,我们看到每隔10年就会有一次新的范式出现。 20世纪70年代是大型机,20世纪80年代是个人电脑,互联网与移动互联网则是最近的两次范式创新,那么接下来10年呢?基于区块链加密协议的价值互联网很可能就是一种新的范式。 通过分布式共识机制解决信息的准确性问题。例如通过工作量证明、权益证明等不同共识算法解决拜占庭将军问题,或通过“证据点”检验数据,账本的参与者就可以就底层数据的状态达成共识。 (二)无银行间组织的跨行结算 (三)中心化的共享式总账 (四)有银行间组织的跨行结算 国际上三大信用卡上市公司:VISA、万事达、美国运通。 (五)去中心化的共享式总账 第二章区块链基础 一、区块链的基本概念 区块链(Blockchain)技术的产生和发展离不开比特币。首先,随着比特币的诞生,区块链技术才得以公布于众;其次,比特币是截止目前区块链技术最成功、最成熟的应用案例。 中本聪将区块链技术作为构建比特币数据结构及交易体系的基础技术,将比特币打造为一种数字货币和在线支付系统,利用加密技术实现资金转移,而不再以来于中央银行。比特币使用公钥地址发送和接收比特币,并进行交易记录,从而实现个人身份信息的匿名。交易确认的过程则需要用户贡献算力,共同对交易进行共识确认,从而将交易记录到全网公开账本中。 区块链技术是一个去中心化的分布式数据库,该数据库由一串使用密码学方法产生的数据区块有序链接而成,区块中包含有一定时间内产生的无法被篡改的数据记录信息。 区块中包含数据记录、当前区块根哈希(Hash)、前一区块根哈希、时间戳以及其他信息。 数据记录在存储过程中,通常组织为树形式,比如默克尔树,而区块根哈希实际就是数据记录树的根节点哈希,为根据数据记录树自下而上逐步通过SHA-256等哈希算法计算得出。时间戳为区块的生成时间。其他信息包括区块签名信息、随机值等信息,也可根据具体应用场景灵活定义。 区块链的发展体系看看一划分为四个象限。 第一象限是比特币区块链; 第二象限是使用比特币区块链协议,但不使用比特币货币的系统,比如万事达币、彩色币、合约币,以及采用合并挖矿的域名币等; 第三象限是同时使用独立货币和独立区块链的系统,比如以太坊、瑞波、莱特币和未来币等; 第四象限是侧链,采用独立的网格但以比特币作为底层货币的系统,如BTC Relay等。 (一)区块链的分类 1.公共区块链(Public Blockchain):是指全世界任何人都可读取、可发送交易进行有效性确认,任何人都能参与共识过程的区块链。区块链上的数据记录公开,所有人都可以访问,都可以发出交易请求,并通过验证被写入区块链。共识过程的参与者通过密码学技术共同维护公共区块链数据的安全、透明、不可篡改。公共区块链的典型应该包括比特币、以太坊等。 公共区块链是完全分布式的区块链。 2.共同体区块链(Consortium Blockchain):又称联盟链,是指参与区块链的节点是事先选择好的,节点间通常有良好的网络连接等合作关系,区块链上的数据可以是公开的也可以是内部的,为部分意义上的分布式,可视为“部分去中心化”。典型应用包括超级账本(Hyperledger)、区块链联盟R3CEV等。 3.私有区块链(Private Blockchain):参与的节点只有有限的范围,比如特定机构的自身用户等,数据的访问及使用有严格的权限管理。 (二)区块链的特征 1.去中心化 2.透明性 3.开放性 4.自治性 5.信息不可篡改 6.匿名性 二、区块链的工作原理 (一)拜占庭将军问题 拜占庭将军问题是容错计算中的一个老问题,由莱斯利•兰伯特(Leslie Lamport)等人在 1982年提出。 拜占庭将军问题:拜占庭由巨大财富,附近的10个邻邦垂涎已久。10个邻邦至少一半同时进攻,才能攻破。邻邦将军不确定他们中是否有叛徒,叛徒可能擅自变更进攻意向或进攻时间。在这种状态下,将军们能否找到一种分布式协议进行远程协商,进而赢取拜占庭城堡攻克战役的胜利呢? 区块链矿工必须完成一个随机哈希算法的计算工作量才能向各城邦传播信息。 (二)区块链工作流程 区块链的工作流程主要包括如下步骤 ①发送节点将新的数据记录向全网进行广播。 ②接收节点对收到的数据记录信息进行检验,比如记录信息是否合法,通过验证后,数据记录将被纳入一个区块中。 ③全网所有接收节点对区块执行共识算法(工作量证明、权益证明等)。 ④区块通过共识算法过程后被正式纳入区块链中存储,全网节点均表示接受该区块,而表示接受的方法,就是将该区块的随机散列数值视为最新的区块散列值,新区块的制造将以该区块链为基础进行延长。 节点始终都将最长的区块链视为正确的链,并持续以此为基础验证和延长它。 区块链网络成为一个难以攻破的、公开的、不可篡改的数据记录和制造虚假数据的诚实可信系统。 区块链保证数据安全、不可篡改以及透明性的关键技术包括两个方面:一是数据加密签名机制;二是共识算法。在数据加密签名机制中,首先,要有一个私钥,私钥是证明个人所有权的关键,比如证明某人有权从一个特定的钱包消费数字货币,是通过数字签名来实现的。其次,要使用哈希(hash)算法。哈希散列是密码学里的经典技术,把任意长度的输入通过哈希算法计算, 变换成固定长度的由字母和数字组成的输出,,具有不可逆性。共识算法是区块链中节点保持区块数据一致、准确的基础,现有的主流共识算法包括工作量证明(PoW)、权益证明(Pos)、瑞波共识协议(RCP)等。以PoW为例,是指通过消耗节点算力形成新的区块,是节点利用自身的计算机硬件为网络做数学计算进行交易确认和提高安全性的过程。交易支持者(矿工)在电脑上运行比特币软件不断计算软件提供的复杂的密码学问题来保证交易的进行。作为对他们服务的奖励, 矿工可以得到他们所确认的交易中包含的手续费,以及新产生的比特币。 三、区块链共识机制 区块链要成为一个难以攻破的、公开的、不可篡改数据记录的去中心化诚实可信系统,需要在尽可能短的时间内做到分布式数据记录的安全、明确及不可逆,提供一个最坚实且去中心化的系统。在实践中,该流程分为两个方面:一是选择一个独特的节点来产生一个区块;二是使分布式数据记录不可逆。实现上述流程的技术核心就是:共识机制。共识机制是区块链节点就区块信息达成全网一致共识的机制,可以保证最新区块被准确添加至区块链、节点存储的区块链信息一致不分叉甚至可以抵御恶意攻击。 当前主流的共识机制包括:工作量证明、权益证明、工作量证明与权益证明混合(PoS+PoW)、股份授权证明、瑞波共识协议等。 (一) 工作量证明 工作量证明(Proof of Work),顾名思义,即指工作量的证明。PoW机制的基本步骤如下: ①节点监听全网数据记录,通过基本合法性验证的数据记录将进行暂存;②节点消耗自身算力尝试不同的随机数,进行制定哈希计算,并不断重复该过程直至找到合理的随机数;③找到合理的随机数后,生成区块信息,首先输入区块头信息,然后是数据记录信息;④接单对外部广播出新产生的区块,其他节点验证通过后,连接至区块链中,主链高度加一,然后所有节点切换至新区块后面继续进行工作量证明和区块生产。 PoW加工作量证明体现在步骤②中,节点需要不断消耗算力工作,进行哈希计算,以找到期望的随机数。 (二)权益证明+工作量证明 (三)权益证明 PoS就是一个根据持有货币的量和时间,进行利息发放和区块产生的机制。在权益证明PoS模式下,有一个名词叫币天。例如,每个币每天产生1币天,比如持有100个币,总共持有了30天,那么此时币天就为3000。 PoS的典型应用就是未来币。 (四)股份授权证明 PoS机制使得一个确定性算法以随机选择一个股东来产生下一个区块,该算法中,账号余额决定了节点被选中的可能性。然而,该系统并未使区块链变得越来越安全而不可逆,因为最终区块链的区块产生产生权掌握在账号余额最多的少数节点手中。 (五)瑞波共识协议 瑞波共识协议(Pippe Consensus Protocol,RCP),使一组节点能够基于特殊节点列表达成共识。 除上述机制外,还有恒星共识协议(Stellar Consensus Protocol,SCP)、改进型实用拜占庭容错机制(Practical Byzantine Fault Tolerance,PBFT)、和Pool验证池机制等共识机制被提出,甚至已经应用在区块链系统中,不同共识机制各有其应用场景和优势。 四、区块链面临的问题 (一)区块链体积过大的问题 随着区块链的发展,节点存储的区块链数据体积也会越来越大,存储和计算的负担将越来越重。 (二)区块链数据确认时间的问题 以比特币区块链为例,当前比特币交易的一次确认时间大约需要10分钟,6次确认的情况下,需要等待约1小时。 (三)处理交易频率问题 区块链系统面临交易频率过低的问题。以比特币区块链为例,每条交易的平均大小约为250字节(Byte),如果区块大小限制在1MB(兆),那么可以容纳的交易数量为4000条,按照每10分钟产生一个区块的速度计算,每天可以产生144个区块,也就是能容纳576000条交易,再除以每天的秒数86400,比特币区块链最高每秒处理6.67笔交易。 (四)区块链发展受到现行制度的制约 (无)区块链技术与现有制度的整合成本较大 第三章区块链进阶 一、简单支付验证(SPV) 简单支付验证(Simplified Payment Verification,简称SPV)是一种无须维护完整的区块链信息,只需要保存所有的区块头部信息即可进行支付验证技术。 SPV与两类概念的区别 一是SPV与轻钱包的区别。轻钱包指的是节点本地只保存与其自身相关的交易数据(尤其是可支配交易数据),但并不保存完整区块链信息的技术。SPV的目标是验证某个支付是否真实存在,并得到了多少个确认。轻钱包的目标不仅仅是支付验证,而且是用于管理节点自身的资产收入、支付等信息。 SPV与轻钱包的最大区别是,轻钱包节点仍需下载每个新区块的全部数据并进行解析,获取并本地存储与自身相关的交易数据,只是无须在本地保存全部数据而已。而SPV节点不需要下载新区块的全部数据,只需要保存区块头部信息即可。 二是区块链支付验证与区块链交易验证的区别。SPV指的是区块链支付验证,而不是区块链交易验证。这两种验证方式存在很大的区别。区块链交易验证的过程比较复杂,包括账户余额验证、双重支付判断等,通常由保存区块链完整信息的区块链验证节点来完成。而支付验证的过程比较简单,只是判断该笔交易是否已经得到了区块链节点共识验证,并得到了多少的确认数即可。 (一)SPV的技术原理 在区块链中,区块信息主要包括区块大小、区块头、交易数量和交易信息四部分内容。其中,区块头大小为固定字节,比如比特币中区块头的大小始终为80字节。区块头中一般包括如下信息:前一区块(也称父区块)的哈希值、区块中交易默克尔树的根哈希值、时间戳等。以比特币为例,其区块头的数据结构如表所示。 区块头的数据结构 字段 描述 字节数 版本 软件协议版本号 4字节 前以区块的哈希值 也称父区块的哈希值,为区块链中前一区块的哈希值 32字节 默克尔树根 区块中所有交易信息生成的默克尔树的根哈希值 32字节 时间戳 区块生成时间 4字节 难度 工作量证明的难度目标 4字节 Nonce(随机数) 用于工作量证明算法的计数器 4字节 通过区块的哈希值,可以识别出区块链中的对应区块。区块前后有序链接,每一个区块都可以通过其区块头的“前一区块的哈希值”字段引用前一区块。这样把每个区块均链接到各自前一区块的哈希值序列就创建了一条一直可以追溯到第一个区块(创世区块)的链条。前一区块的哈希值,可以确保区块链所记录的交易次序。默克尔树的根哈希值则可以确保收录到区块中的所有交易的真实性。 区块链节点利用SPV对支付进行验证的工作原理如下: ①计算待验证支付的交易哈希值; ②节点从区块链网络上获取并存储最长链的所有区块头至本地; ③节点从区块链获取待验证支付对应的默克尔树哈希认证路径; ④根据哈希认证路径,计算默克尔树的根哈希值,将计算结果与本地区块头中的默克尔树的根哈希值进行比较,定位到包含待验证支付的区块; ⑤验证该区块的区块头是否已经包含在已知最长链中,如果包含则证明支付真实有效; ⑥根据该区块头所处的位置,确定该支付已经得到的确认数量。 (二)SPV的功能扩展 虽然SPV可以高效地进行支付验证,但对于节点当前状态(账号金额、账号信息甚至合约状态等)均无法给出证明。 以太坊对SPV的功能进行了扩展:每一个区块头,并非只包含一棵默克尔树,而是包含了三棵树,分别对应了三种对象——默克尔交易树、默克尔数据树、默克尔状态树。其中,默克尔数据树和默克尔状态树是比特币等现有区块链系统没有的。 三棵默克尔树的功能分工如下。 ①默克尔交易树:保存交易信息,用于验证交易是否真实包含于区块链中。 ②默克尔数据树:保存某个地址的历史事件实例,比如一个交易是否成功执行、一个众筹合约是否完成了目标等。 ③默克尔状态树:保存了账号名称、账号余额等信息。 (三)SPV面临的问题 SPV面临的第一个问题是SPV节点与区块链系统去中心化成都似乎存在一定的矛盾。 SPV面临的第二个问题是交易可锻性攻击。由于SPV实现中一个关键步骤是根据支付哈希值定位其在区块中的位置,而该过程可能遭遇交易可锻性攻击。 二、侧链 (一)侧链的起源 侧链(sidechains)实质上不是指某个区块链,而是指遵守侧链协议的所有区块链,该词是相对于比特币主链来说的。侧链协议是指可以让比特币安全地从比特币主链转移到其他区块链,又可以从其他区块链安全地返回比特币主链的一种协议。 侧链协议具有重大意义。它意味着比特币不仅可以在比特币区块链上流通,还可以在其他区块链上流通,其应用范围和应用前景会更加广泛。 (二)侧链协议 侧链协议的目的是实现双向锚定(Two-way Peg),使比特币可以在主链和侧链中互转。 (三)元素链 元素链是BlockStream实现的一个参考侧链,Alpha(阿尔法)版于2015年7月推出。元素链Alpha旨在演示技术并且提供测试环境,目前还未开发完成。作为一个与比特币测试网络相对接的侧链,元素链Alphat有可能被其他技术取代。 元素链Alpha是比特币测试链的一个侧链。 元素链所包含的技术如下。 1.私密交易。 2.隔离见证。 3.相对锁定时间。 4.Schnorr签名验证。 5.新操作码。 6.金额隐藏技术。 三、闪电网络 闪电网络(The Lighting Network)是一个去中心化的系统。闪电网络的卓越之处在于,无须信任对方以及第三方即可实现的、海量的交易。 (一)闪电网络的起源 单个区块体积有1MB的最大值限制。 长期规划派与短期搁置派。 (二) 扩容问题 总的来说,根据对比特币网络的理解,有两个划分:清算系统和现金系统。 1.清算系统。 比特币区块链是全球的、分布式的、有限容量的且代价昂贵的系统。每一笔交易的价值含量是不一样的,当块容量不够用时,我们应该保障高价值的交易进块。高价值的交易有意愿、有能力支付足够高的网络手续费,从而获得足够高的优先级进块。 2.现金系统。 现金系统意味着所有交易均应该进入区块,那么当块容量不够用时,则应该及时调整块体积限制,对系统进行扩容。 3.扩容大小的选择。 扩容争论的最后,还是倾向于2MB,使升级过程更加可控一些,风险更低一些。 (三)微支付通道。 微支付通道(Micro-Payments Channel)。 微支付通道概念于2012年首次被提出,是解决小额度、高频次支付场景的方案,目的在于缩减支付的交易数量,使高频、小额支付成为可能。 (四)闪电网络交易合约 闪电网络是基于微支付通道演变而来,创造性地设计了两种类型的交易合约:序列到期可撤销合约RSMC(Revocable Sequence Maturity Contract),哈希时间锁定合约HTLC(Hashed Timelock Contract)。 RSMC解决了通道中币单项流动问题,HTLC解决了币跨节点传递的问题。这两个类型的交易组合构成了闪电网络。 (五)闪电网络面临的问题。 闪电网络的最初设想为一个中心辐射型网络。 第四章智能合约 一、智能合约的起源 “智能合约”概念由计算机科学家、加密大师尼克•萨博(Nick Szabo)于1993年左右提出来。1994年他写成了《智能合约》(Smart contracts)论文,是智能合约的开山之作。 尼克•萨博给出智能合约的定义如下: “智能合约超越了自动售货机中嵌入各种有价属性的范畴,通过数字方式控制合约。智能合约涉及具有动态性、频繁主动执行属性的财产,且提供更好的观察和验证点,其中主动积极的措施必须丝毫不差。” 智能合约本质上的抽象概念是在个人、机构和财产之间形成关系的一种公认工具,是一套形成关系和达成共识的协定。智能合约的条款(如抵押品、产权划分等)可以嵌入到处理硬件和软件中,以这样的方式使违约成本非常高昂。 二、智能合约的定义 智能合约是一套以数字形式定义的承诺,承诺控制着数字资产并包含了合约参与者约定的权利和义务,由计算机系统自动执行。 承诺定义了智能合约的本质和目的。 三、智能合约与传统合约的区别 智能合约技术可全球采用,适用于全球范围;而传统合约受限于具体辖区,不同国际地区的法律、人文等因素均影响着传统合约的执行过程。 四、智能合约与区块链 (一)智能合约与区块链的关系 如果说区块链1.0是以比特币为代表,解决了货币和支付手段的去中心化问题,那么区块链2.0就是更宏观地对整个市场去中心化,利用区块链技术转换许多不同的数字资产而不仅仅是比特币,通过转换创建不同资产的价值。区块链技术的去中心化账本功能可以被用来创建、确认、转移各种不同类型的资产及合约。几乎所有类型的金融交易都可以被改造成在区块链上使用,包括股票、私募股权、众筹、债券和其他类型的金融衍生品如期货、期权等。 (二)智能合约工作原理 基于区块链的智能合约包括事务处理和保存的机制,以及一个完备的状态机,用于接受和处理各种智能合约,而且事务的保存和状态处理都在区块链上完成。事务主要包含需要发送的数据,而事件则是对这些数据的描述信息。 基于区块链的智能合约构建及执行分为如下几步。 ①多方用户共同参与制定一份智能合约。 ②合约通过P2P网络扩展并存入区块链。 ③区块链构建的智能合约自动执行。 五、智能合约应用案例 (一)房屋租赁。 (二)差价合约 (三)代币系统 (四)储蓄钱包 (五)作物保险 (六)金融借贷 (七)设立遗嘱 (八)证券登记清算 (九)博彩发行 六、智能合约面临的问题 智能合约,尤其是基于区块链的智能合约,目前还处在初级阶段,尚未有任何实质性突破和应用,同时也面临着问题与挑战:一是安全性问题;二是私密性问题;三是意外情景问题。 四是对智能合约的几种误解。 七、智能合约的未来展望 第五章区块链怎么玩? 一、数字货币 (一)总量恒定型:比特币 区块 区块高度 0 时间 2009-01-04 02:15:05 难度 0.999 交易数 1 矿工 Unknown 总转出量 50 BTC 奖励 50 BTC 手续费 0 BTC 版本 1 区块大小 0.2099609375 KB 随机数 2083236893 币天销毁 0 区块 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f 上一块 下一块 00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048 梅克尔树 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b 交易列表 2009-01-04 02:15:05coinbase4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b 新生块奖励 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa50 BTC 交易额:50(手续费:0) 创世区块详细信息(区块元https://blockmeta.com) 决定价格的并非成本,而应该是市场供需关系。 (二)锚定型:比特股 (三)政府发行型:央行数字货币 二、支付汇兑 货币的本质只有三个,即交换媒介(medium of exchange)、价值存储(store of value)和计价单位(unit of account)。 Circle公司提供比特币支付。 三、登记结算 四、数据存储 比特币区块链。 Proof of existence。知识产权保护;给文件盖时间戳。完整性校验。 公正通(Factom)。 Stampery、Bitproof。 五、知识产权保护 六、溯源、防伪与供应链 七、身份认证与公民服务 八、物联网 九、保险 互助保险 十、医疗 十一、博彩和预测市场 Augur预测。 第六章从信息互联网到价值互联网 一、技术创新与制度创新 二、中心化与去中心化 三、区块链与共享金融 四、区块链与货币创新 五、区块链与金融创新 第七章区块链政策与法规 美国比特币交易平台Coinbase。 第八章区块链经济学的范式革命(陶荣祺) 区块链公司: 云币。李笑来投资,创立于2013年6月。 比太钱包。Bitcoin.org官方推荐的比特币钱包。 Blockchain.info。是知名的onchain在线钱包服务商,同时也提供比特币区块链数据查询服务。地区:卢森堡。 Steemit。一个新型社交媒体平台。https://steemit.com/ Sia。数据存储。http://sia.tech/ 区块链专业名词中英文对照表
json metadata{"tags":["bitcoin","blockchain","reading","cn","writing"],"image":["https://img11.360buyimg.com/n11/jfs/t2713/111/4322975601/258946/513161a6/57b52e2dNa716daeb.jpg"],"links":["https://blockmeta.com","https://steemit.com/","http://sia.tech/"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #14957799/Trx 6199dea72968c506889a498060a705d291adb505
View Raw JSON Data
{
  "trx_id": "6199dea72968c506889a498060a705d291adb505",
  "block": 14957799,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-28T02:23:39",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "bitcoin",
      "author": "chenchun",
      "permlink": "4",
      "title": "比特币、区块链读书笔记4《区块链:从数字货币到信用社会》",
      "body": "《区块链:从数字货币到信用社会》读书笔记\n书籍封面\nhttps://img11.360buyimg.com/n11/jfs/t2713/111/4322975601/258946/513161a6/57b52e2dNa716daeb.jpg\n\n作者:长铗(jiá)、韩锋等著。中信出版社,2016年7月。\nI S B N:9787508663449\n\n\n姚余栋(中国人民银行金融研究所所长):区块链因比特币而生。TCP/IP协议为信息互联网而设计,区块链则为价值互联网提供了理论基础。\n在互联网上进行价值交换,需解决三个问题:一是确保价值交换的唯一性;二是如何确立价值交换双方的信任关系;三是如何确保双方的承诺能够完成依靠网络的自治机制(智能合约)而自动执行,而无需可信第三方的介入。2009年基于区块链技术的数字货币比特币的诞生,给上述三个问题找到了解决方案。\n区块链是一种新型的去中心化协议,链上数据不可随意更改或伪造,因而提供了无需信任积累的信用建立范式。区块链可理解为一个账本(ledger),人们只需加入一个公开透明的数据库,通过点对点的记账、数据传输、认证或智能合约来达成信用共识,而不再借助任何中间方。这个公开透明的数据库包括了过去所有的教育记录、历史数据及其他相关信息。这些信息安全地分布式存储在一串使用密码学方法产生的数据块中,即为一个区块,从创世区块连接到当前区块,就形成了区块链。由于每个区块都包含了上一个区块的索引,即区块的哈希(hash),使得每一个区块按照顺序产生,若要逆转某个区块上的交易,需要重新计算该区块之后的所有区块,这在计算难度上机会是不可能的。于是,区块链逐渐成为一种可靠的审计工具,也让系统内参与者之间的信任建立得以实现。\n区块链本身具有分布式(distributed)、去中介(disintermediation)、去信任(trustless)、不可篡改(immutable)、可编辑(programmable)等特征。\n\n任何人都能创造自己的区块链系统:启动条件十分简单,且不难实现。\n区块链有公有链、联盟链与私有链之分。\nTCP/IP——网际互联协议IP和传输控制协议TCP。\n互联链——统一的区块链,interchain。\n\n王永利(乐视金融CEO,中国银行原副行长):序言没啥干货。\n\n韩锋:区块链——未来全球信用的基础协议\n金融核心无疑就是“信用”。\n\n正文:\n第一章区块链创世纪2017/7/14\n一、先驱篇\n(一)中本聪的生日\nP2P Foundation是中本聪发布比特币白皮书的网站,注册这个网站必须提供出生日期,中本聪填写的是1975年4月5日。\n1933年4月5日,富兰克林•罗斯福签署了政府法令6102,该法令规定所有美国公民持有黄金都是非法的。\n1975年,福特总统签署“黄金合法化”法案,美国人可以再一次合法地拥有黄金。\n\n(二)密码朋克\n1993年,埃里克•修斯(Eric Hughes)和几个人创建了一个“密码朋克邮件名单”的加密电子邮件系统,简称“密码朋克”,对抗受到政府监控的互联网电子邮件。\n\n比特币的加密理论基础来源于以下几项密码学的技术创新:1976年威特菲尔德•迪菲(Whitfield Diffie)与马蒂•赫尔曼(Marty Hellman)发明的非对称加密算法,1977年罗纳德•李维斯特(Rom River)、阿迪•萨莫尔(Adi Shamir)和伦纳德•阿德曼(Leonard Adelman)率先发明的第一个具备商业实用性的非对称RSA加密算法,以及1985年由尼尔•科布利茨(Neal Koblit)和维科特•米勒(Victor Miller)首先提出的椭圆曲线加密算法(ECC)。这些加密算法奠定了现在非对称加密理论的基础,被广泛应用于网络通信领域。\n\n(三)加密货币的乔布斯\n非对称加密技术的发明以及创立Napster(一款可以在网络中下载自己想要的MP3文件的软件)的肖恩•范宁(Shawn Fanning)与肖恩•帕克(Shawn Parker)点对点网络技术的开发,使比特币的出现成为可能。通过这两项技术,可以建立分布式交易账簿,并以呼叫问答机制向全网广播,网络节点不停地检查接受的数据,避免数据被篡改。\n\n双重支付的解决方法就是亚当•拜克(Adam Back)在1997年发明的哈希现金(Hash Cash)算法机制。\n\n2004年,哈尔•芬妮(Hal Finney)接过拜克的接力棒,将哈希现金算法改进为“可复用的工作量验证(Reusable Proofs Of Work)”。他的研究又是基于达利亚•马凯(Dahlia Malkhi)与迈克尔•瑞特(Michael Reiter)的学术成果:拜占庭容错机制(Byzantine Quorum Systems)。\n\n非对称加密、点对点技术、哈希现金这三项关键技术没有一项是中本聪发明的,但最后摘取桂冠的却是他。\n\n(四)创世区块\n中本聪第一次出现是在2008年11月1日。\n\n2009年1月3日,中本聪发布了开源的第一版比特币客户端,宣告了比特币的诞生。他同时通过“挖矿”得到了50块比特币,产生第一批比特币的区块就叫做“创始区块”(Genesis block)。\n\n(后起之秀)\n挖矿:想要在点对点(P2P)基础上布置一个分布式的“时间戳”服务器,我们必须使用一种与亚当•拜克的哈希现金相似的工作证明系统。\n\nSunny King发明了权益证明(PoS)。\n\n二、货币篇\n(一)石币之岛\n\n(二)法兰西银行的黄金\n\n(三)货币的本质\n\n(四)邓巴数限制\n人类学家罗宾•邓巴数(Robin Dunbar)发现每个人与之维持持久关系的熟人,数量通常只有150人左右,这一数量限制就称作邓巴数。\n\n(五)中心化缺陷\n比特币全网的节点每时每刻都在向网络广播交易,每笔交易经10-60秒就能广播至全球所有节点,速度取决于节点的网络连接状况。这些广播出来的交易在经过矿工的验证后,打包到数据块中,串联起来形成环环相扣的区块链,这些交易一经6次确认便几无篡改的可能性。\n\n三、信用篇\n(一)库拉圈\n(二)理性经济人\n(三)等价交易\n(四)将币天销毁引入信用评价\n币天(CoinDays)销毁是区块链的一个非常重要的概念。币天销毁等于每笔交易的金额(币)乘以这笔交易的币在账上留存的时间(天),比如你花了一笔100天以前收到的10比特币,这笔交易的币天销毁就是1000币天。\n在市场处于下跌通道时,币天销毁的峰值意味着市场中的弱手,因为代表着大户可能要抛币。当市场处于上涨通道时,币天销毁的峰值意味着市场中的强手,表明市场可能会走强。\n在比特币等数字货币交易市场中,币天销毁比每日成交量这个指标更能准确地显示市场的资金流动。\n币天可以保障权益证明机制中所有挖矿着的公平性。\n利用币天销毁在交易中不可逆的特性,使得用户不能在两个账户间反复利用同一笔钱获得某种回报。在市场中,大户不能利用同一笔比特币制造大量币天销毁虚拟币的流动,在PoS挖矿中,用户不能利用同一笔点点币反复挖得区块中的新币。\n也许在不远的将来,在淘宝、京东等电商平台泛滥成灾的刷客与差评师将会失业。\n在区块链的信用评价中,信用其实是一个数学问题。\n\n(五)交易的热力学第二定律\n在交易过程中,系统的币天总是销毁的,不可能在一次交易中不销毁任何币天。\n币天销毁的本质就是时间之矢。\n\n\n四、区块链篇\n(一)第五次计算范式创新\n1970年是比特币的计时元年,比特币区块链的时间戳从1970年1月1日起开始计算秒数。\n分析现代社会进化过程的一种方法是观察计算范式,我们看到每隔10年就会有一次新的范式出现。\n20世纪70年代是大型机,20世纪80年代是个人电脑,互联网与移动互联网则是最近的两次范式创新,那么接下来10年呢?基于区块链加密协议的价值互联网很可能就是一种新的范式。\n\n通过分布式共识机制解决信息的准确性问题。例如通过工作量证明、权益证明等不同共识算法解决拜占庭将军问题,或通过“证据点”检验数据,账本的参与者就可以就底层数据的状态达成共识。\n\n\n(二)无银行间组织的跨行结算\n\n\n(三)中心化的共享式总账\n\n(四)有银行间组织的跨行结算\n\n国际上三大信用卡上市公司:VISA、万事达、美国运通。\n\n(五)去中心化的共享式总账\n\n第二章区块链基础\n一、区块链的基本概念\n区块链(Blockchain)技术的产生和发展离不开比特币。首先,随着比特币的诞生,区块链技术才得以公布于众;其次,比特币是截止目前区块链技术最成功、最成熟的应用案例。\n\n中本聪将区块链技术作为构建比特币数据结构及交易体系的基础技术,将比特币打造为一种数字货币和在线支付系统,利用加密技术实现资金转移,而不再以来于中央银行。比特币使用公钥地址发送和接收比特币,并进行交易记录,从而实现个人身份信息的匿名。交易确认的过程则需要用户贡献算力,共同对交易进行共识确认,从而将交易记录到全网公开账本中。\n\n区块链技术是一个去中心化的分布式数据库,该数据库由一串使用密码学方法产生的数据区块有序链接而成,区块中包含有一定时间内产生的无法被篡改的数据记录信息。\n区块中包含数据记录、当前区块根哈希(Hash)、前一区块根哈希、时间戳以及其他信息。\n数据记录在存储过程中,通常组织为树形式,比如默克尔树,而区块根哈希实际就是数据记录树的根节点哈希,为根据数据记录树自下而上逐步通过SHA-256等哈希算法计算得出。时间戳为区块的生成时间。其他信息包括区块签名信息、随机值等信息,也可根据具体应用场景灵活定义。\n\n\n区块链的发展体系看看一划分为四个象限。\n第一象限是比特币区块链;\n第二象限是使用比特币区块链协议,但不使用比特币货币的系统,比如万事达币、彩色币、合约币,以及采用合并挖矿的域名币等;\n第三象限是同时使用独立货币和独立区块链的系统,比如以太坊、瑞波、莱特币和未来币等;\n第四象限是侧链,采用独立的网格但以比特币作为底层货币的系统,如BTC Relay等。\n\n(一)区块链的分类\n1.公共区块链(Public Blockchain):是指全世界任何人都可读取、可发送交易进行有效性确认,任何人都能参与共识过程的区块链。区块链上的数据记录公开,所有人都可以访问,都可以发出交易请求,并通过验证被写入区块链。共识过程的参与者通过密码学技术共同维护公共区块链数据的安全、透明、不可篡改。公共区块链的典型应该包括比特币、以太坊等。\n\n公共区块链是完全分布式的区块链。\n2.共同体区块链(Consortium Blockchain):又称联盟链,是指参与区块链的节点是事先选择好的,节点间通常有良好的网络连接等合作关系,区块链上的数据可以是公开的也可以是内部的,为部分意义上的分布式,可视为“部分去中心化”。典型应用包括超级账本(Hyperledger)、区块链联盟R3CEV等。\n3.私有区块链(Private Blockchain):参与的节点只有有限的范围,比如特定机构的自身用户等,数据的访问及使用有严格的权限管理。\n\n(二)区块链的特征\n1.去中心化\n2.透明性\n3.开放性\n4.自治性\n5.信息不可篡改\n6.匿名性\n\n\n二、区块链的工作原理\n(一)拜占庭将军问题\n拜占庭将军问题是容错计算中的一个老问题,由莱斯利•兰伯特(Leslie Lamport)等人在\n1982年提出。\n拜占庭将军问题:拜占庭由巨大财富,附近的10个邻邦垂涎已久。10个邻邦至少一半同时进攻,才能攻破。邻邦将军不确定他们中是否有叛徒,叛徒可能擅自变更进攻意向或进攻时间。在这种状态下,将军们能否找到一种分布式协议进行远程协商,进而赢取拜占庭城堡攻克战役的胜利呢?\n\n区块链矿工必须完成一个随机哈希算法的计算工作量才能向各城邦传播信息。\n\n(二)区块链工作流程\n区块链的工作流程主要包括如下步骤\n①发送节点将新的数据记录向全网进行广播。\n②接收节点对收到的数据记录信息进行检验,比如记录信息是否合法,通过验证后,数据记录将被纳入一个区块中。\n③全网所有接收节点对区块执行共识算法(工作量证明、权益证明等)。\n④区块通过共识算法过程后被正式纳入区块链中存储,全网节点均表示接受该区块,而表示接受的方法,就是将该区块的随机散列数值视为最新的区块散列值,新区块的制造将以该区块链为基础进行延长。\n节点始终都将最长的区块链视为正确的链,并持续以此为基础验证和延长它。\n区块链网络成为一个难以攻破的、公开的、不可篡改的数据记录和制造虚假数据的诚实可信系统。\n区块链保证数据安全、不可篡改以及透明性的关键技术包括两个方面:一是数据加密签名机制;二是共识算法。在数据加密签名机制中,首先,要有一个私钥,私钥是证明个人所有权的关键,比如证明某人有权从一个特定的钱包消费数字货币,是通过数字签名来实现的。其次,要使用哈希(hash)算法。哈希散列是密码学里的经典技术,把任意长度的输入通过哈希算法计算, 变换成固定长度的由字母和数字组成的输出,,具有不可逆性。共识算法是区块链中节点保持区块数据一致、准确的基础,现有的主流共识算法包括工作量证明(PoW)、权益证明(Pos)、瑞波共识协议(RCP)等。以PoW为例,是指通过消耗节点算力形成新的区块,是节点利用自身的计算机硬件为网络做数学计算进行交易确认和提高安全性的过程。交易支持者(矿工)在电脑上运行比特币软件不断计算软件提供的复杂的密码学问题来保证交易的进行。作为对他们服务的奖励, 矿工可以得到他们所确认的交易中包含的手续费,以及新产生的比特币。\n\n三、区块链共识机制\n区块链要成为一个难以攻破的、公开的、不可篡改数据记录的去中心化诚实可信系统,需要在尽可能短的时间内做到分布式数据记录的安全、明确及不可逆,提供一个最坚实且去中心化的系统。在实践中,该流程分为两个方面:一是选择一个独特的节点来产生一个区块;二是使分布式数据记录不可逆。实现上述流程的技术核心就是:共识机制。共识机制是区块链节点就区块信息达成全网一致共识的机制,可以保证最新区块被准确添加至区块链、节点存储的区块链信息一致不分叉甚至可以抵御恶意攻击。\n当前主流的共识机制包括:工作量证明、权益证明、工作量证明与权益证明混合(PoS+PoW)、股份授权证明、瑞波共识协议等。\n\n(一)\t工作量证明\n工作量证明(Proof of Work),顾名思义,即指工作量的证明。PoW机制的基本步骤如下:\n①节点监听全网数据记录,通过基本合法性验证的数据记录将进行暂存;②节点消耗自身算力尝试不同的随机数,进行制定哈希计算,并不断重复该过程直至找到合理的随机数;③找到合理的随机数后,生成区块信息,首先输入区块头信息,然后是数据记录信息;④接单对外部广播出新产生的区块,其他节点验证通过后,连接至区块链中,主链高度加一,然后所有节点切换至新区块后面继续进行工作量证明和区块生产。\nPoW加工作量证明体现在步骤②中,节点需要不断消耗算力工作,进行哈希计算,以找到期望的随机数。\n\n(二)权益证明+工作量证明\n\n(三)权益证明\nPoS就是一个根据持有货币的量和时间,进行利息发放和区块产生的机制。在权益证明PoS模式下,有一个名词叫币天。例如,每个币每天产生1币天,比如持有100个币,总共持有了30天,那么此时币天就为3000。\nPoS的典型应用就是未来币。\n(四)股份授权证明\nPoS机制使得一个确定性算法以随机选择一个股东来产生下一个区块,该算法中,账号余额决定了节点被选中的可能性。然而,该系统并未使区块链变得越来越安全而不可逆,因为最终区块链的区块产生产生权掌握在账号余额最多的少数节点手中。\n(五)瑞波共识协议\n瑞波共识协议(Pippe Consensus Protocol,RCP),使一组节点能够基于特殊节点列表达成共识。\n\n除上述机制外,还有恒星共识协议(Stellar Consensus Protocol,SCP)、改进型实用拜占庭容错机制(Practical Byzantine Fault Tolerance,PBFT)、和Pool验证池机制等共识机制被提出,甚至已经应用在区块链系统中,不同共识机制各有其应用场景和优势。\n\n四、区块链面临的问题\n(一)区块链体积过大的问题\n随着区块链的发展,节点存储的区块链数据体积也会越来越大,存储和计算的负担将越来越重。\n(二)区块链数据确认时间的问题\n以比特币区块链为例,当前比特币交易的一次确认时间大约需要10分钟,6次确认的情况下,需要等待约1小时。\n(三)处理交易频率问题\n区块链系统面临交易频率过低的问题。以比特币区块链为例,每条交易的平均大小约为250字节(Byte),如果区块大小限制在1MB(兆),那么可以容纳的交易数量为4000条,按照每10分钟产生一个区块的速度计算,每天可以产生144个区块,也就是能容纳576000条交易,再除以每天的秒数86400,比特币区块链最高每秒处理6.67笔交易。\n(四)区块链发展受到现行制度的制约\n\n(无)区块链技术与现有制度的整合成本较大\n\n\n第三章区块链进阶\n一、简单支付验证(SPV)\n简单支付验证(Simplified Payment Verification,简称SPV)是一种无须维护完整的区块链信息,只需要保存所有的区块头部信息即可进行支付验证技术。\n\nSPV与两类概念的区别\n一是SPV与轻钱包的区别。轻钱包指的是节点本地只保存与其自身相关的交易数据(尤其是可支配交易数据),但并不保存完整区块链信息的技术。SPV的目标是验证某个支付是否真实存在,并得到了多少个确认。轻钱包的目标不仅仅是支付验证,而且是用于管理节点自身的资产收入、支付等信息。\nSPV与轻钱包的最大区别是,轻钱包节点仍需下载每个新区块的全部数据并进行解析,获取并本地存储与自身相关的交易数据,只是无须在本地保存全部数据而已。而SPV节点不需要下载新区块的全部数据,只需要保存区块头部信息即可。\n\n二是区块链支付验证与区块链交易验证的区别。SPV指的是区块链支付验证,而不是区块链交易验证。这两种验证方式存在很大的区别。区块链交易验证的过程比较复杂,包括账户余额验证、双重支付判断等,通常由保存区块链完整信息的区块链验证节点来完成。而支付验证的过程比较简单,只是判断该笔交易是否已经得到了区块链节点共识验证,并得到了多少的确认数即可。\n\n(一)SPV的技术原理\n在区块链中,区块信息主要包括区块大小、区块头、交易数量和交易信息四部分内容。其中,区块头大小为固定字节,比如比特币中区块头的大小始终为80字节。区块头中一般包括如下信息:前一区块(也称父区块)的哈希值、区块中交易默克尔树的根哈希值、时间戳等。以比特币为例,其区块头的数据结构如表所示。\n区块头的数据结构\n字段\t描述\t字节数\n版本\t软件协议版本号\t4字节\n前以区块的哈希值\t也称父区块的哈希值,为区块链中前一区块的哈希值\t32字节\n默克尔树根\t区块中所有交易信息生成的默克尔树的根哈希值\t32字节\n时间戳\t区块生成时间\t4字节\n难度\t工作量证明的难度目标\t4字节\nNonce(随机数)\t用于工作量证明算法的计数器\t4字节\n\n通过区块的哈希值,可以识别出区块链中的对应区块。区块前后有序链接,每一个区块都可以通过其区块头的“前一区块的哈希值”字段引用前一区块。这样把每个区块均链接到各自前一区块的哈希值序列就创建了一条一直可以追溯到第一个区块(创世区块)的链条。前一区块的哈希值,可以确保区块链所记录的交易次序。默克尔树的根哈希值则可以确保收录到区块中的所有交易的真实性。\n\n区块链节点利用SPV对支付进行验证的工作原理如下:\n①计算待验证支付的交易哈希值;\n②节点从区块链网络上获取并存储最长链的所有区块头至本地;\n③节点从区块链获取待验证支付对应的默克尔树哈希认证路径;\n④根据哈希认证路径,计算默克尔树的根哈希值,将计算结果与本地区块头中的默克尔树的根哈希值进行比较,定位到包含待验证支付的区块;\n⑤验证该区块的区块头是否已经包含在已知最长链中,如果包含则证明支付真实有效;\n⑥根据该区块头所处的位置,确定该支付已经得到的确认数量。\n\n(二)SPV的功能扩展\n虽然SPV可以高效地进行支付验证,但对于节点当前状态(账号金额、账号信息甚至合约状态等)均无法给出证明。\n以太坊对SPV的功能进行了扩展:每一个区块头,并非只包含一棵默克尔树,而是包含了三棵树,分别对应了三种对象——默克尔交易树、默克尔数据树、默克尔状态树。其中,默克尔数据树和默克尔状态树是比特币等现有区块链系统没有的。\n三棵默克尔树的功能分工如下。\n①默克尔交易树:保存交易信息,用于验证交易是否真实包含于区块链中。\n②默克尔数据树:保存某个地址的历史事件实例,比如一个交易是否成功执行、一个众筹合约是否完成了目标等。\n③默克尔状态树:保存了账号名称、账号余额等信息。\n\n(三)SPV面临的问题\nSPV面临的第一个问题是SPV节点与区块链系统去中心化成都似乎存在一定的矛盾。\nSPV面临的第二个问题是交易可锻性攻击。由于SPV实现中一个关键步骤是根据支付哈希值定位其在区块中的位置,而该过程可能遭遇交易可锻性攻击。\n\n二、侧链\n(一)侧链的起源\n侧链(sidechains)实质上不是指某个区块链,而是指遵守侧链协议的所有区块链,该词是相对于比特币主链来说的。侧链协议是指可以让比特币安全地从比特币主链转移到其他区块链,又可以从其他区块链安全地返回比特币主链的一种协议。\n侧链协议具有重大意义。它意味着比特币不仅可以在比特币区块链上流通,还可以在其他区块链上流通,其应用范围和应用前景会更加广泛。\n(二)侧链协议\n侧链协议的目的是实现双向锚定(Two-way Peg),使比特币可以在主链和侧链中互转。\n(三)元素链\n元素链是BlockStream实现的一个参考侧链,Alpha(阿尔法)版于2015年7月推出。元素链Alpha旨在演示技术并且提供测试环境,目前还未开发完成。作为一个与比特币测试网络相对接的侧链,元素链Alphat有可能被其他技术取代。\n元素链Alpha是比特币测试链的一个侧链。\n元素链所包含的技术如下。\n1.私密交易。\n2.隔离见证。\n3.相对锁定时间。\n4.Schnorr签名验证。\n5.新操作码。\n6.金额隐藏技术。\n\n三、闪电网络\n闪电网络(The Lighting Network)是一个去中心化的系统。闪电网络的卓越之处在于,无须信任对方以及第三方即可实现的、海量的交易。\n(一)闪电网络的起源\n单个区块体积有1MB的最大值限制。\n长期规划派与短期搁置派。\n(二)\t扩容问题\n总的来说,根据对比特币网络的理解,有两个划分:清算系统和现金系统。\n1.清算系统。\n比特币区块链是全球的、分布式的、有限容量的且代价昂贵的系统。每一笔交易的价值含量是不一样的,当块容量不够用时,我们应该保障高价值的交易进块。高价值的交易有意愿、有能力支付足够高的网络手续费,从而获得足够高的优先级进块。\n2.现金系统。\n现金系统意味着所有交易均应该进入区块,那么当块容量不够用时,则应该及时调整块体积限制,对系统进行扩容。\n3.扩容大小的选择。\n扩容争论的最后,还是倾向于2MB,使升级过程更加可控一些,风险更低一些。\n(三)微支付通道。\n微支付通道(Micro-Payments Channel)。\n微支付通道概念于2012年首次被提出,是解决小额度、高频次支付场景的方案,目的在于缩减支付的交易数量,使高频、小额支付成为可能。\n\n(四)闪电网络交易合约\n闪电网络是基于微支付通道演变而来,创造性地设计了两种类型的交易合约:序列到期可撤销合约RSMC(Revocable Sequence Maturity Contract),哈希时间锁定合约HTLC(Hashed Timelock Contract)。\nRSMC解决了通道中币单项流动问题,HTLC解决了币跨节点传递的问题。这两个类型的交易组合构成了闪电网络。\n(五)闪电网络面临的问题。\n闪电网络的最初设想为一个中心辐射型网络。\n\n第四章智能合约\n一、智能合约的起源\n“智能合约”概念由计算机科学家、加密大师尼克•萨博(Nick Szabo)于1993年左右提出来。1994年他写成了《智能合约》(Smart contracts)论文,是智能合约的开山之作。\n尼克•萨博给出智能合约的定义如下:\n“智能合约超越了自动售货机中嵌入各种有价属性的范畴,通过数字方式控制合约。智能合约涉及具有动态性、频繁主动执行属性的财产,且提供更好的观察和验证点,其中主动积极的措施必须丝毫不差。”\n智能合约本质上的抽象概念是在个人、机构和财产之间形成关系的一种公认工具,是一套形成关系和达成共识的协定。智能合约的条款(如抵押品、产权划分等)可以嵌入到处理硬件和软件中,以这样的方式使违约成本非常高昂。\n\n二、智能合约的定义\n智能合约是一套以数字形式定义的承诺,承诺控制着数字资产并包含了合约参与者约定的权利和义务,由计算机系统自动执行。\n承诺定义了智能合约的本质和目的。\n三、智能合约与传统合约的区别\n智能合约技术可全球采用,适用于全球范围;而传统合约受限于具体辖区,不同国际地区的法律、人文等因素均影响着传统合约的执行过程。\n\n四、智能合约与区块链\n(一)智能合约与区块链的关系\n如果说区块链1.0是以比特币为代表,解决了货币和支付手段的去中心化问题,那么区块链2.0就是更宏观地对整个市场去中心化,利用区块链技术转换许多不同的数字资产而不仅仅是比特币,通过转换创建不同资产的价值。区块链技术的去中心化账本功能可以被用来创建、确认、转移各种不同类型的资产及合约。几乎所有类型的金融交易都可以被改造成在区块链上使用,包括股票、私募股权、众筹、债券和其他类型的金融衍生品如期货、期权等。\n\n(二)智能合约工作原理\n基于区块链的智能合约包括事务处理和保存的机制,以及一个完备的状态机,用于接受和处理各种智能合约,而且事务的保存和状态处理都在区块链上完成。事务主要包含需要发送的数据,而事件则是对这些数据的描述信息。\n基于区块链的智能合约构建及执行分为如下几步。\n①多方用户共同参与制定一份智能合约。\n②合约通过P2P网络扩展并存入区块链。\n③区块链构建的智能合约自动执行。\n\n五、智能合约应用案例\n(一)房屋租赁。\n(二)差价合约\n(三)代币系统\n(四)储蓄钱包\n(五)作物保险\n(六)金融借贷\n(七)设立遗嘱\n(八)证券登记清算\n(九)博彩发行\n\n六、智能合约面临的问题\n智能合约,尤其是基于区块链的智能合约,目前还处在初级阶段,尚未有任何实质性突破和应用,同时也面临着问题与挑战:一是安全性问题;二是私密性问题;三是意外情景问题。\n四是对智能合约的几种误解。\n\n七、智能合约的未来展望\n\n\n第五章区块链怎么玩?\n一、数字货币\n(一)总量恒定型:比特币\n区块\n区块高度 0\n时间\n2009-01-04 02:15:05\t难度\n0.999\t交易数\n1\t矿工\nUnknown\n总转出量\n50 BTC\t奖励\n50 BTC\t手续费\n0 BTC\t版本\n1\n区块大小\n0.2099609375 KB\t随机数\n2083236893\t币天销毁\n0\n区块\n000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f\n上一块\n下一块\n00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048\n梅克尔树\n4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b\n交易列表\n2009-01-04 02:15:05coinbase4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b\n新生块奖励\n1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa50 BTC\n交易额:50(手续费:0)\n\n创世区块详细信息(区块元https://blockmeta.com)\n\n决定价格的并非成本,而应该是市场供需关系。\n\n(二)锚定型:比特股\n\n(三)政府发行型:央行数字货币\n\n\n二、支付汇兑\n货币的本质只有三个,即交换媒介(medium of exchange)、价值存储(store of value)和计价单位(unit of account)。\n\nCircle公司提供比特币支付。\n\n三、登记结算\n\n四、数据存储\n比特币区块链。\nProof of existence。知识产权保护;给文件盖时间戳。完整性校验。\n公正通(Factom)。\nStampery、Bitproof。\n\n五、知识产权保护\n\n六、溯源、防伪与供应链\n\n七、身份认证与公民服务\n八、物联网\n\n九、保险\n互助保险\n十、医疗\n十一、博彩和预测市场\nAugur预测。\n\n第六章从信息互联网到价值互联网\n一、技术创新与制度创新\n二、中心化与去中心化\n三、区块链与共享金融\n四、区块链与货币创新\n五、区块链与金融创新\n\n第七章区块链政策与法规\n美国比特币交易平台Coinbase。\n\n第八章区块链经济学的范式革命(陶荣祺)\n\n区块链公司:\n云币。李笑来投资,创立于2013年6月。\n比太钱包。Bitcoin.org官方推荐的比特币钱包。\nBlockchain.info。是知名的onchain在线钱包服务商,同时也提供比特币区块链数据查询服务。地区:卢森堡。\nSteemit。一个新型社交媒体平台。https://steemit.com/\nSia。数据存储。http://sia.tech/\n\n区块链专业名词中英文对照表",
      "json_metadata": "{\"tags\":[\"bitcoin\",\"blockchain\",\"reading\",\"cn\",\"writing\"],\"image\":[\"https://img11.360buyimg.com/n11/jfs/t2713/111/4322975601/258946/513161a6/57b52e2dNa716daeb.jpg\"],\"links\":[\"https://blockmeta.com\",\"https://steemit.com/\",\"http://sia.tech/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
chenchunpublished a new post: 3
2017/08/28 02:16:18
parent author
parent permlinkbitcoin
authorchenchun
permlink3
title比特币、区块链读书笔记3《区块链:价值互联网的基石》
body《区块链:价值互联网的基石》读书笔记 书籍封面 http://product.dangdang.com/23990314.html 作者:赵刚。中国工信出版集团。电子工业出版社。 国际标准书号ISBN:9787121289750 一、区块链的前世 从2015年开始,一个新概念——区块链(Block Chain)在国内开始传播。 区块链最初是比特币的底层技术,是比特币的总账系统。比特币是区块链第一个成功的应用。 (一)发源于数字货币 比特是数字字节(Byte)的译音。比特币就是一种数字货币。 1、比特币的核心引擎 2008年11月1日,中本聪(Satoshi Nakamoto)在密码学讨论组上贴出一篇文章,题目是《比特币:一个点对点(P2P)的电子现金系统》(下载地址:https://bitcoin.org/bitcoin.pdf 或者:https://bitcoincore.org/bitcoin.pdf),阐述了比特币的技术原理。 数字货币,本质上就是电子化的数据。 比特币建立了一个全球共享的分布式账本系统,一个去中心化的、去信任的账本系统,中本聪称之为区块链。 比特币区块,每达到21万个区块,奖励就减半,从50比特币减到25比特币,再从25比特币减到12.5比特币,一直持续下去。到2140年,比特币将会达到预定的2100万枚上限。 2009年1月3日,中本聪成为挖到比特币的第一人,他创建了创世区块,获得50个比特币。中本聪也公布了比特币系统的开放源代码(下载地址: https://github.com/bitcoin/bitcoin)。 2010年5月22日,美国佛罗里达州的程序员拉斯勒•豪涅茨(Laszlo Hanyecz),用10000比特币购买了价值25美元的两块比萨。这是现实世界中的第一笔比特币交易,这一天后来被比特币界确立为比萨日! 2011年2月,比特币继续升值,和美元的兑换率达到了1:1。 2012年6月,1比特币兑换27美元。 2013年11月,比特币价格突破1000美元,最高达到1200美元。 2.扩展到了更多数字货币 比特币不是网上唯一的数字货币,还有以太坊(Ethereum)、莱特币(Litecoin)、瑞波币(Ripple)等其他数字货币(或称为数字代币),这些货币的支撑技术也多少区块链。 (二)认识区块链 1.区块链大事记 起初,区块链仅仅是比特币的分布式账本系统。 2008年,中本聪首次提出区块链的概念。 2009年,第一个区块,被称为“创世区块”诞生,比特币称为区块链的首个应用。 侧链,建立比特币区块链与其他类型区块链之间的连接。 2016年:区块链技术加速发展和传播。 2.给区块链下个定义 区块链是什么? 笔者认为: 首先,区块链是一项技术。从技术上看,区块链是在点对点(P2P)网络上构建的分布式数据库系统,利用非对称加密算法进行加密的每个数据存储单位被称为区块,区块与区块按照时间顺序相连形成的链条,称为区块链。 第二,区块链是一个账务系统。从货币学角度看,区块链是数字货币系统的分布式共享账本系统(Distributed Shared Ledger),一段时间内的账务交易信息被加密打包成一个区块,盖上时间戳,一个个区块顺序链接形成一个账本,这是一个去中心化的、网内用户共同维护的账本系统。 第三,区块链是一种互联网新系统。 (三)区块链:设计精妙的伟大发明 1.解决了拜占庭将军问题 拜占庭将军问题又称为两军问题,是由著名的计算机科学家莱斯利•兰伯特(Leslie Lamport)在1982年提出的。 区块链构建在点对点通信网络(P2P)上,用非对称加密算法和时间戳实现了将军们的“签名转发”机制,保证了区块链无须信任单个节点、却能创建共识网络。 区块链是用纯数学方法来建立各方的信任关系,交易各方信任关系的建立完全不需要借助第三方,建立信任关系的成本几乎降到了零。这也正是区块链的精髓所在! 2.点对点通信网络(P2P¬)是基础 P2P(Peer to Peer)网络是整个区块链的基础计算架构。P2P网络,或者称为对等网络,是一种常用的计算机通信架构。 VeryCd(电驴)就是一个基于P2P网络的互联网服务。P2P网络保障了区块链是一个分布式系统,没有中心枢纽,即所谓“去中心化系统”。 3.区块链是一个“资产账本” 区块(Block)。在区块链中,交易记录数据被以电子化的形式永久存储下来,存放这些记录数据的数据存储单元,称为“区块(Block)”。 区块结构(Block Structure)。每一种区块链的区块设计可能不完全相同,但一般区块的结构都包含区块头(Header)和区块体(Body)两部分。一个区块的区块头包含了关于区块的关键信息,最为重要的一个信息是上一个区块的哈希值(Hash,也称散列值),用于和上一个区块链接起来,它是区块形成“链”的关键。区块头还记录了区块高度(就是区块顺序编号)、本区块的生成时间(时间戳)、本区块中的交易数量、本区块的总交易金额、本区块大小等相关信息,区块头能为整个区块链数据库提供完整性的保护。一个区块的区块体则记录了经过验证的、区块创建过程中所发生的所有交易的记录。 区块结构有两个非常重要的特点。第一,每个区块上的交易记录是上一个区块形成之后、该区块被创建前发生的所有交易活动,这个特点保证了数据库的完整性。第二,在绝大多数情况下,一旦新区块完成并被加入区块链的尾部,则这个区块的数据记录就再也不能被改变或删除。即数据无法被篡改。 区块链就是把区块按照时间顺序连接在一起的链条。 4.密码学的新成就来保证真实、一致和安全 两个著名的密码学算法,一个是SHA-256哈希算法(或散列算法),另外一个是非对称加密算法。 什么是SHA-256哈希算法?SHA是安全哈希算法(Secure Hash Algorithm)的英文缩写,SHA是每个国家安全局(NSA)设计、美国国家标准与技术研究院(NIST)发布的一系列密码哈希函数。哈希算法将任意长度的一串数据转化为一个长度较短、位数固定的输出值,即哈希值(Hash),简单地理解,通过这样的哈希算法“明文”就变成了一个“代码”。SHA—256是SHA算法的一种,它把一串数据转化为0——2256位之间的一个哈希值。它具有以下特点: 首先,每个哈希值是唯一的。 第二,SHA—256生成的哈希值具有不可逆性,也就是不能从哈希值直接解码出之前的原始数据。 第三,SHA—256哈希算法能够保证相同的数据产生相同的哈希值,不同的数据产生不同的哈希值,哪怕只是一个标点符合的不同,哈希值也是不同的。 所以,一串数据的哈希值就可以用来检验数据的完整性。只要数据被改动了,哪怕是一点点蛛丝马迹,经过SHA—256哈希算法都能够辨识出来。SHA——256哈希算法一般被用于快速查找和加密。这样一种机制保证了区块链的完整性和不可篡改性,任何企图篡改区块链的行为,都会立即暴露,因为新的哈希值与旧的哈希值是不匹配的。 什么是非对称加密算法? 简单来说,就是在“加密”和“解密”的过程中,分别使用一个“密钥对”中的两个密钥,如果两个密钥满足以下两个条件:(1)对信息用其中一个密钥加密后,只有用另外一个密钥才能解开;(2)其中一个密钥公开后,根据公开的密钥别人也无法算出另一个,那么我们就称这个密钥对为非对称密钥对,公开的密钥称为公钥,不公开的密钥称为私钥。公钥是全网公开可见的,所有人都可以用自己的公钥来加密一段信息,生成一个哈希值,保证信息的真实性、完整性;私钥是只有信息拥有者才知道的,被公钥加密过的信息只有拥有相应私钥的人才能够解密,保证信息的安全性。常见的非对称加密算法包括RSA、Elgamal、D—H、ECC(椭圆曲线加密算法)、DSA等,比特币区块链是基于椭圆曲线数字签名算法(ECDSA)来实现的。 5.让区块有序链接起来 (1)区块哈希 区块链是按照时间顺序首尾连在一起的,简单地说,交易数据经过加密后形成区块的哈希值,这个哈希值将成为下一个区块的重要标记,表明“我是你的父亲”。这个哈希值会向全网广播出去。每个区块会被标记一个时间,称为“时间戳”。 (2)交易的哈希 每个交易会被一个称为默克尔树(Merkle)的数据结构来进行哈希值计算和存储,但只有根哈希值被记录在区块的哈希值中。 每笔交易都要做一个Merkle哈希,每个哈希值被记录在一个Merkle哈希树上。在一笔比特币被支出后,相应Merkle节点值会发生变化。 比特币的默克尔树结构支持一个叫“简化支付验证(SPA)”的协议,通过协议,一个没有下载完整区块链的客户端,也能够通过向其他节点索要包括从交易哈希沿默克尔树上溯至区链头处的根哈希的哈希序列,以此来快速确认交易输出的正确性。 对于默克尔树的任何部分进行改变的尝试都会最终导致链上某处的不一致。记录的交易是不可篡改的。 6、共识才是源源不断的动力 共识机制就是对区块链的记账权进行集体验证的机制。共识机制有几种,主要是工作量证明机制和股权证明机制,通过工作量或股权的证明,人们能够对记账优先权达成共识。 (1)工作量证明 工作量证明(Proof Of Work,简称POW),是区块链中最难懂的一个部分。简单地说,POW就是一份工作量的证书,它能够说明你为此工作了一定量的时间。 工作量证明的简单原理是,一方(通常为证明人)出示计算结果,这个结果众所周知是很难的。但验证计算结果很容易,通过验证这个结果,任何人都能够确认:证明人确实执行了一定量的计算工作量来产生这个结果。 比特币区块的生成过程中使用了哈希现金程序,比特币区块链采矿工作的方式,要求使用者(即矿工)拼全力找到一个“随机数”,称为Nonce,使得其SHA—256(信息+随机数)算法产生的哈希值以一串零开头,并和上一个区块的哈希值前面的0的数量刚好匹配,然后把找到的随机数与信息一起发送出去,作为工作量证明。 SHA—256算法也被称为单向函数,即其结果很难计算得出,但却很容易验证。 工作量证明如此之难,是为了阻止攻击者轻易伪装成数以百万计的节点,凌驾于比特币网络之上,引入另一个区块链,并推翻之前的交易,引入新的交易。要达到这样的目的,任何想要攻击比特币网络的人,都必须完成极其巨量的SHA—256运算,这样做的成本根本不划算。 POW确保只有合法的区块才能加进来。一旦一个基于哈希算力的POW的难题被求解了,矿工获得记账权,区块经过验证后链接到区块链中,就会永久地存储起来,任何人或机器都无法修改。而每个区块的合法性验证包括了对其中的所有交易的合法性检验和区块之间数据关联性规则的检验。只有第一个完成这个难题的矿工节点才能把新的区块加入区块链中。区块链网络为每次成功加入新区块的矿工节点奖励一定数量的代币,作为支付其哈希算力的报酬。新的区块被加入后,拥有完整数据的全节点即向网络中的其他节点通知更新本地的数据库。区块链就这样按照时间顺序和交易持续增加。 (2)股权证明(Proof of Stock) 股权证明(Proof of Stock,简称POS)要求证明人提供一定数量的加密货币的股权。在POS机制中,记账权随机地在全网产生,获得记账权的概率和每个矿工钱包中的代币持有量成正比。 (3)POW和POS的经济学比较 (4)股权代表证明机制(DPOS) 股权代表证明机制(Delegate Proof of Stock),相当于股东代表大会。 7.开发源码的自治系统 8.区块链持续衍生 (1)运行原理 第一步:新的交易广播给P2P网络上所有的节点。 第二步:每个节点把收到的一个时间段内多有新的交易信息打包,做哈希运算,盖上时间戳,记入区块(Block),一般是每10分钟挖出一个区块。 第三步:为了给它的区块竞争记账权,每个节点努力工作以提交工作量证明,也就是解决SHA—256问题。 第四步:如果一个矿工节点解开了这10分钟的SHA—256难题,就找到了工作量证明,赢得了这个区块的记账权,他将向全网所有节点广播这个区块,包括所有交易信息,并由全网其他矿工节点验证。 第五步:如果区块中所有交易是有效的,节点接受这个区块。它被链接到区块链的尾部。一般来说,每一笔甲乙,必须经过6次区块确认,也就是6个10分钟记账,才能最终在区块链上被承认是合法交易。每个比特币区块前4年每个奖励50个比特币。4年后每个区块奖励25个比特币。 第六步:所有节点转向创造下一个区块,也表示大家都接受了当前这个区块。被接受区块的哈希值,将作为父区块的哈希值记录在下一个区块的区块头中。 (2)矿工的计算节点 a.区块链的系统守护进程(Block Chain Daemon) b.网络路由程序(Routing node) c.接口应用 d.区块链数据库。 (3)挖矿算力的集中 矿工自发集结起来,建立矿池。矿池是一个矿组队挖矿的服务器。 (四)区块链价值与货币金融的创新 1.发行区块链的应用价值 去中心化、去信任。 分布式共享。 真实记录交易历史。 一切资产可编程。 构建分享经济的新秩序。 2.去中心化、去信任 3.分布式共享 4.真实记录历史 5.一切资产的智能化管理 6.构建分享经济的新秩序 7.货币金融应用仅仅是开始 8.比特币创新应用 (五)比特币区块链并不完美 1.交易效率低和交易确认时间长的问题 比特币每秒处理笔数的峰值一般小于7。 当前比特币交易的一次确认时间平均大约是10分钟,这也是一个区块的生成时间,6次确认的情况下,需要等待约1小时。 2.高耗能问题 3.技术性能问题 区块链容量问题。 4.安全性问题 5.与货币金融体系融合的问题 6.比特币区块链的升级和完善 二、区块链的今生 (一)从数字货币到智能合约 以太坊为代表的第二代区块链(区块链2.0) 1.更多数字化资产的区块链 资产的智能化转移是通过区块链和智能合约来实现的。 2.智能合约让资产转移自动化 3.以太坊:打造智能合约共同平台 以太坊(Ethereum):一个以区块链为基础的智能合约公共平台。 以太坊创始人Vitalik Buterin,出生于1994年。2013年11月,他发布了以太坊的白皮书的最初草稿。2014年8月,以太坊项目启动,向全世界发起众筹。 (1)什么是以太坊 以太坊就是第二代区块链技术平台,一个运行智能合约的基础平台,一个所有智能合约都能按照程序精确运行的“图灵完备”的平台。智能合约应用,也被称为去中心化应用(Dapp)。 出中心化自治组织(DAOs)、去中心化自治公司(DACs)。 (2)背景 以太坊希望建立一个不同于比特币区块链,创造密码货币学2.0时代的平台。 (3)以太坊的优越特性 (4)以太坊的体系架构 以太坊是新一代的智能合约平台,它提供了自己的智能合约脚本、脚本编程语言、虚拟机(EVM)运行平台、通信系统(细语系统—Whisper)、信息管理系统(蜂群系统—Swarm)、星际文件系统(IPFS)以及去中心化浏览器(Mist)等,以支持去中心化应用(DApp)的开发和运行。 从功能角度而言,可以将以太坊生态系统分成三层,核心层、应用层和外围辅助层。 核心层:点对点网络、虚拟机、智能合约、密钥、区块链、脚本编程语言和开发环境、以太币、技术整合和中间件服务。 应用层:客户端浏览器软件(Mist或者AlethZero)、挖矿、监控服务、去中心化应用和其他第三方应用。 外围辅助层:维基、论坛、以太坊学院、门户网站、赏金激励、潜在开发者的会议、教育、研究、学习和服务支持等。 (5)以太坊虚拟机 以太坊虚拟机是以太坊的运行环境,它是以太坊的“发动机”。 (6)以太坊区块链 以太坊区块链是智能合约的分布式记账系统。 (7)智能合约的脚本 以太坊是一个智能合约平台,是智能合约执行的引擎。 (8)编程语言 以太坊的软件编程语言:Serpent(受Python语言启发)、Solidity(受JavaScript脚本语言启发)、Mutan(受Go语言启发)和LLL(受Lisp语言启发),都是为面向智能合约编程而从底层开始设计的语言。 Solidity是以太坊的首选脚本语言。 (9)共识机制 工作量证明是以太坊目前所选择的共识机制,但是以太坊声称将进化到更加节省能源的共识机制——股权证明。 (10)以太币 以太币(Ether)的设计,主要目的不是用于商品或服务的货币支付。以太币更像是一种“加密燃料”形式的奖励,用于支付运行各种去中心化应用和以太坊服务所需要的运营费用。以太币类似于云计算服务费用。 (11)去中心化应用 一个DApp是由智能合约和客户端代码构成的。 (12)客户端浏览器 这个浏览器称为Mist,它是以太坊的终端用户的接口,将区块链技术展示给用户。 Mist是普通用户运行或者管理区块链去中心化应用不可或缺的工具。 你可以在Mist中使用DApp。 (13)几个应用案例 (14)生态系统建设 (二)整合优化区块链的新旧体系 1.侧链:将其他区块链挂接到比特币区块链 侧链:即建立一种能够挂钩比特币区块链的“侧链”。简单地说,就是建立比特币账本的一个副本,就像以前许多法定货币由黄金担保一样。在需要的时候,资产可以在两个区块链之间相互转换。 (1)侧链的提出 侧链能够实现比特币和其他区块链资产在多个区块链之间的转移,即跨链交易。 (2)侧链的工作原理 (3)商业化应用侧链Liquid 2015年10月13日,Blockstream公司宣布将推出第一个商业化应用侧链Liquid。 2.闪电网络:创建比特币区块链外的微支付渠道 3.合约币:在比特币区块链上构建以太坊 4.瑞波币:去中心化的支付清算网络 瑞波币系统是基于区块链技术的分布式支付清算系统。 5.公证通:让区块链真实地记录一切 公证通(Factom)是一个建立在比特币区块链上的重要数据记录平台。 6.彩色币:将比特币区块链应用扩展到数字资产 (三)传统力量的“推波助澜” 1.超级账本项目:推进区块链开源 超级账本项目(Hyperledger Project):意图打造新一代开源的区块链平台。 2.非区块链的分布式账本(Corda):保守的改进 (四)区块链生态系统的演变 1.公有区块链(Public Blockchains) 公有区块链是指全世界任何人都可读取区块信息、任何人都能发送交易信息且交易能够获得有效确认的、任何人都能参与共识过程的区块链。 2.私有区块链(Private Blockchains) (1)联盟(合作伙伴)区块链(Consortium/Partner Blockchains) (2)公司私有区块链(Intra Blockchains) (3)开发者沙盘(Fully Private Blockchains) 即完全私有的区块链。 (五)区块链在数字金融资产中的应用 1.区块链在银行业的应用 Abra是一架比特币汇款APP公司。 2.区块链在证券及投资市场的应用 3.区块链在保险行业的应用 4.区块链在实物资产管理中的应用 5.区块链在无形资产保护方面的应用 (1)知识产权保护 (2)音乐版权保护 (3)数字艺术资产保护 6.应用的障碍 (六)区块链产业生态 Blockstream是亚当•贝克(Asam Back)等人的创业项目,他们发明了侧链和闪电网络。 Coinbase。比特币交易所。 OKcoin。比特币交易所。 Blockchain。比特币交易所。 Bitpay。比特币支付平台。 Abra比特币汇款应用APP公司。 Sia。比特币存储。 BitShares。数字资产交易。 Everledger。钻石区块链。 中国的区块链创业项目 巴比特。区块链的新闻网站。 币看。比特币信息服务平台。 OKcoin。比特币交易平台。 火币网。比特币交易平台。 币付宝。比特币管理平台。 小蚁。区块链技术服务平台。 三、区块链的未来 (一)划时代的意义 1.区块链是建立价值互联网的基础平台 第一代互联网TCP/IP协议的建立让整个社会的信息实现了自由传递。 区块链通过建立分布式账本,让信用去中心化,称为一个创造信任的机器。 2.区块链是支撑万物互联的万物账本。 万物互联网(Intenet of Everything) 万物账本(Ledger of Everything) 3.区块链是大数据时代的数据资产流通的关键支撑。 4.区块链是驱动分享经济发展的新引擎。 5.区块链是建立社会治理新体系的创新方法。 (二)新的计算架构 1.构建新一代互联网体系 区块链技术首次在互联网上建立了“信任”。 2.区块链即服务(BaaS) 区块链即服务(Blockchain as a Service,简称BaaS)。 3.去中心化应用(DApp) DApp有四个特点: 一是以开放源码为开发模式。 二是以共识机制为制度保障。 三是以区块链为基础平台。 四是以加密代币为动力燃料。 (三)新的治理机制 1.信任的机制 2.共识的机制 3.契约的机制 4.开放共享的机制 5.安全的机制 (四)新的组织形式 1.区块链将改变企业组织 2.去中心化自治组织 3.区块链的辩证法 (五)新的商业模式:区块链定义世界 1.区块链平台模式 2.DApp应用的分享经济服务模式 3.区块链代币金融模式 4.区块链解决方案服务模式 5.区块链数据服务模式 (六)新应用不断涌现 区块链健康、 区块链能源(电网、新能源汽车)、 区块链与互联网管理(域名管理:namecoin公司。身份认证。社交网络。分布式存储。) 数据资产的区块链、 物联网的区块链 区块链在政府的应用 区块链商务(OpenBazaar)、 区块链物流、 区块链教育(慕课MOOC)、 区块链公益、 文化遗产的“记忆”、 区块链公证事实、 区块链预测未来(Augur)。
json metadata{"tags":["bitcoin","blockchain","reading","cn"],"links":["http://product.dangdang.com/23990314.html","https://bitcoin.org/bitcoin.pdf","https://bitcoincore.org/bitcoin.pdf),阐述了比特币的技术原理。","https://github.com/bitcoin/bitcoin)。"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #14957652/Trx 4c6db53ef3c85e2e96f9d9758cc6a0b90b3506ef
View Raw JSON Data
{
  "trx_id": "4c6db53ef3c85e2e96f9d9758cc6a0b90b3506ef",
  "block": 14957652,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-28T02:16:18",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "bitcoin",
      "author": "chenchun",
      "permlink": "3",
      "title": "比特币、区块链读书笔记3《区块链:价值互联网的基石》",
      "body": "《区块链:价值互联网的基石》读书笔记\n书籍封面\nhttp://product.dangdang.com/23990314.html\n\n作者:赵刚。中国工信出版集团。电子工业出版社。\n国际标准书号ISBN:9787121289750\n\n\n一、区块链的前世\n从2015年开始,一个新概念——区块链(Block Chain)在国内开始传播。\n\n区块链最初是比特币的底层技术,是比特币的总账系统。比特币是区块链第一个成功的应用。\n(一)发源于数字货币\n比特是数字字节(Byte)的译音。比特币就是一种数字货币。\n1、比特币的核心引擎\n2008年11月1日,中本聪(Satoshi Nakamoto)在密码学讨论组上贴出一篇文章,题目是《比特币:一个点对点(P2P)的电子现金系统》(下载地址:https://bitcoin.org/bitcoin.pdf\n或者:https://bitcoincore.org/bitcoin.pdf),阐述了比特币的技术原理。\n\n数字货币,本质上就是电子化的数据。\n比特币建立了一个全球共享的分布式账本系统,一个去中心化的、去信任的账本系统,中本聪称之为区块链。\n比特币区块,每达到21万个区块,奖励就减半,从50比特币减到25比特币,再从25比特币减到12.5比特币,一直持续下去。到2140年,比特币将会达到预定的2100万枚上限。\n2009年1月3日,中本聪成为挖到比特币的第一人,他创建了创世区块,获得50个比特币。中本聪也公布了比特币系统的开放源代码(下载地址: https://github.com/bitcoin/bitcoin)。\n\n2010年5月22日,美国佛罗里达州的程序员拉斯勒•豪涅茨(Laszlo Hanyecz),用10000比特币购买了价值25美元的两块比萨。这是现实世界中的第一笔比特币交易,这一天后来被比特币界确立为比萨日!\n2011年2月,比特币继续升值,和美元的兑换率达到了1:1。\n2012年6月,1比特币兑换27美元。\n2013年11月,比特币价格突破1000美元,最高达到1200美元。\n\n2.扩展到了更多数字货币\n比特币不是网上唯一的数字货币,还有以太坊(Ethereum)、莱特币(Litecoin)、瑞波币(Ripple)等其他数字货币(或称为数字代币),这些货币的支撑技术也多少区块链。\n\n(二)认识区块链\n1.区块链大事记\n起初,区块链仅仅是比特币的分布式账本系统。\n2008年,中本聪首次提出区块链的概念。\n2009年,第一个区块,被称为“创世区块”诞生,比特币称为区块链的首个应用。\n侧链,建立比特币区块链与其他类型区块链之间的连接。\n\n2016年:区块链技术加速发展和传播。\n\n2.给区块链下个定义\n区块链是什么?\n笔者认为:\n首先,区块链是一项技术。从技术上看,区块链是在点对点(P2P)网络上构建的分布式数据库系统,利用非对称加密算法进行加密的每个数据存储单位被称为区块,区块与区块按照时间顺序相连形成的链条,称为区块链。\n\n第二,区块链是一个账务系统。从货币学角度看,区块链是数字货币系统的分布式共享账本系统(Distributed Shared Ledger),一段时间内的账务交易信息被加密打包成一个区块,盖上时间戳,一个个区块顺序链接形成一个账本,这是一个去中心化的、网内用户共同维护的账本系统。\n\n第三,区块链是一种互联网新系统。\n\n(三)区块链:设计精妙的伟大发明\n1.解决了拜占庭将军问题\n拜占庭将军问题又称为两军问题,是由著名的计算机科学家莱斯利•兰伯特(Leslie Lamport)在1982年提出的。\n\n区块链构建在点对点通信网络(P2P)上,用非对称加密算法和时间戳实现了将军们的“签名转发”机制,保证了区块链无须信任单个节点、却能创建共识网络。\n区块链是用纯数学方法来建立各方的信任关系,交易各方信任关系的建立完全不需要借助第三方,建立信任关系的成本几乎降到了零。这也正是区块链的精髓所在!\n\n2.点对点通信网络(P2P¬)是基础\nP2P(Peer to Peer)网络是整个区块链的基础计算架构。P2P网络,或者称为对等网络,是一种常用的计算机通信架构。\nVeryCd(电驴)就是一个基于P2P网络的互联网服务。P2P网络保障了区块链是一个分布式系统,没有中心枢纽,即所谓“去中心化系统”。\n\n3.区块链是一个“资产账本”\n\n区块(Block)。在区块链中,交易记录数据被以电子化的形式永久存储下来,存放这些记录数据的数据存储单元,称为“区块(Block)”。\n\n区块结构(Block Structure)。每一种区块链的区块设计可能不完全相同,但一般区块的结构都包含区块头(Header)和区块体(Body)两部分。一个区块的区块头包含了关于区块的关键信息,最为重要的一个信息是上一个区块的哈希值(Hash,也称散列值),用于和上一个区块链接起来,它是区块形成“链”的关键。区块头还记录了区块高度(就是区块顺序编号)、本区块的生成时间(时间戳)、本区块中的交易数量、本区块的总交易金额、本区块大小等相关信息,区块头能为整个区块链数据库提供完整性的保护。一个区块的区块体则记录了经过验证的、区块创建过程中所发生的所有交易的记录。\n区块结构有两个非常重要的特点。第一,每个区块上的交易记录是上一个区块形成之后、该区块被创建前发生的所有交易活动,这个特点保证了数据库的完整性。第二,在绝大多数情况下,一旦新区块完成并被加入区块链的尾部,则这个区块的数据记录就再也不能被改变或删除。即数据无法被篡改。\n\n区块链就是把区块按照时间顺序连接在一起的链条。\n\n4.密码学的新成就来保证真实、一致和安全\n两个著名的密码学算法,一个是SHA-256哈希算法(或散列算法),另外一个是非对称加密算法。\n什么是SHA-256哈希算法?SHA是安全哈希算法(Secure Hash Algorithm)的英文缩写,SHA是每个国家安全局(NSA)设计、美国国家标准与技术研究院(NIST)发布的一系列密码哈希函数。哈希算法将任意长度的一串数据转化为一个长度较短、位数固定的输出值,即哈希值(Hash),简单地理解,通过这样的哈希算法“明文”就变成了一个“代码”。SHA—256是SHA算法的一种,它把一串数据转化为0——2256位之间的一个哈希值。它具有以下特点:\n首先,每个哈希值是唯一的。\n第二,SHA—256生成的哈希值具有不可逆性,也就是不能从哈希值直接解码出之前的原始数据。\n第三,SHA—256哈希算法能够保证相同的数据产生相同的哈希值,不同的数据产生不同的哈希值,哪怕只是一个标点符合的不同,哈希值也是不同的。\n\n所以,一串数据的哈希值就可以用来检验数据的完整性。只要数据被改动了,哪怕是一点点蛛丝马迹,经过SHA—256哈希算法都能够辨识出来。SHA——256哈希算法一般被用于快速查找和加密。这样一种机制保证了区块链的完整性和不可篡改性,任何企图篡改区块链的行为,都会立即暴露,因为新的哈希值与旧的哈希值是不匹配的。\n\n\n什么是非对称加密算法?\n简单来说,就是在“加密”和“解密”的过程中,分别使用一个“密钥对”中的两个密钥,如果两个密钥满足以下两个条件:(1)对信息用其中一个密钥加密后,只有用另外一个密钥才能解开;(2)其中一个密钥公开后,根据公开的密钥别人也无法算出另一个,那么我们就称这个密钥对为非对称密钥对,公开的密钥称为公钥,不公开的密钥称为私钥。公钥是全网公开可见的,所有人都可以用自己的公钥来加密一段信息,生成一个哈希值,保证信息的真实性、完整性;私钥是只有信息拥有者才知道的,被公钥加密过的信息只有拥有相应私钥的人才能够解密,保证信息的安全性。常见的非对称加密算法包括RSA、Elgamal、D—H、ECC(椭圆曲线加密算法)、DSA等,比特币区块链是基于椭圆曲线数字签名算法(ECDSA)来实现的。\n\n\n5.让区块有序链接起来\n(1)区块哈希\n区块链是按照时间顺序首尾连在一起的,简单地说,交易数据经过加密后形成区块的哈希值,这个哈希值将成为下一个区块的重要标记,表明“我是你的父亲”。这个哈希值会向全网广播出去。每个区块会被标记一个时间,称为“时间戳”。\n(2)交易的哈希\n每个交易会被一个称为默克尔树(Merkle)的数据结构来进行哈希值计算和存储,但只有根哈希值被记录在区块的哈希值中。\n每笔交易都要做一个Merkle哈希,每个哈希值被记录在一个Merkle哈希树上。在一笔比特币被支出后,相应Merkle节点值会发生变化。\n\n比特币的默克尔树结构支持一个叫“简化支付验证(SPA)”的协议,通过协议,一个没有下载完整区块链的客户端,也能够通过向其他节点索要包括从交易哈希沿默克尔树上溯至区链头处的根哈希的哈希序列,以此来快速确认交易输出的正确性。\n\n对于默克尔树的任何部分进行改变的尝试都会最终导致链上某处的不一致。记录的交易是不可篡改的。\n\n6、共识才是源源不断的动力\n共识机制就是对区块链的记账权进行集体验证的机制。共识机制有几种,主要是工作量证明机制和股权证明机制,通过工作量或股权的证明,人们能够对记账优先权达成共识。\n(1)工作量证明\n工作量证明(Proof Of Work,简称POW),是区块链中最难懂的一个部分。简单地说,POW就是一份工作量的证书,它能够说明你为此工作了一定量的时间。\n工作量证明的简单原理是,一方(通常为证明人)出示计算结果,这个结果众所周知是很难的。但验证计算结果很容易,通过验证这个结果,任何人都能够确认:证明人确实执行了一定量的计算工作量来产生这个结果。\n\n比特币区块的生成过程中使用了哈希现金程序,比特币区块链采矿工作的方式,要求使用者(即矿工)拼全力找到一个“随机数”,称为Nonce,使得其SHA—256(信息+随机数)算法产生的哈希值以一串零开头,并和上一个区块的哈希值前面的0的数量刚好匹配,然后把找到的随机数与信息一起发送出去,作为工作量证明。\n\nSHA—256算法也被称为单向函数,即其结果很难计算得出,但却很容易验证。\n\n工作量证明如此之难,是为了阻止攻击者轻易伪装成数以百万计的节点,凌驾于比特币网络之上,引入另一个区块链,并推翻之前的交易,引入新的交易。要达到这样的目的,任何想要攻击比特币网络的人,都必须完成极其巨量的SHA—256运算,这样做的成本根本不划算。\n\nPOW确保只有合法的区块才能加进来。一旦一个基于哈希算力的POW的难题被求解了,矿工获得记账权,区块经过验证后链接到区块链中,就会永久地存储起来,任何人或机器都无法修改。而每个区块的合法性验证包括了对其中的所有交易的合法性检验和区块之间数据关联性规则的检验。只有第一个完成这个难题的矿工节点才能把新的区块加入区块链中。区块链网络为每次成功加入新区块的矿工节点奖励一定数量的代币,作为支付其哈希算力的报酬。新的区块被加入后,拥有完整数据的全节点即向网络中的其他节点通知更新本地的数据库。区块链就这样按照时间顺序和交易持续增加。\n\n(2)股权证明(Proof of Stock)\n股权证明(Proof of Stock,简称POS)要求证明人提供一定数量的加密货币的股权。在POS机制中,记账权随机地在全网产生,获得记账权的概率和每个矿工钱包中的代币持有量成正比。\n(3)POW和POS的经济学比较\n\n(4)股权代表证明机制(DPOS)\n股权代表证明机制(Delegate Proof of Stock),相当于股东代表大会。\n\n7.开发源码的自治系统\n\n\n8.区块链持续衍生\n(1)运行原理\n第一步:新的交易广播给P2P网络上所有的节点。\n第二步:每个节点把收到的一个时间段内多有新的交易信息打包,做哈希运算,盖上时间戳,记入区块(Block),一般是每10分钟挖出一个区块。\n第三步:为了给它的区块竞争记账权,每个节点努力工作以提交工作量证明,也就是解决SHA—256问题。\n第四步:如果一个矿工节点解开了这10分钟的SHA—256难题,就找到了工作量证明,赢得了这个区块的记账权,他将向全网所有节点广播这个区块,包括所有交易信息,并由全网其他矿工节点验证。\n第五步:如果区块中所有交易是有效的,节点接受这个区块。它被链接到区块链的尾部。一般来说,每一笔甲乙,必须经过6次区块确认,也就是6个10分钟记账,才能最终在区块链上被承认是合法交易。每个比特币区块前4年每个奖励50个比特币。4年后每个区块奖励25个比特币。\n第六步:所有节点转向创造下一个区块,也表示大家都接受了当前这个区块。被接受区块的哈希值,将作为父区块的哈希值记录在下一个区块的区块头中。\n(2)矿工的计算节点\na.区块链的系统守护进程(Block Chain Daemon)\nb.网络路由程序(Routing node)\nc.接口应用\nd.区块链数据库。\n(3)挖矿算力的集中\n\n矿工自发集结起来,建立矿池。矿池是一个矿组队挖矿的服务器。\n\n(四)区块链价值与货币金融的创新\n1.发行区块链的应用价值\n去中心化、去信任。\n分布式共享。\n真实记录交易历史。\n一切资产可编程。\n构建分享经济的新秩序。\n2.去中心化、去信任\n\n3.分布式共享\n4.真实记录历史\n5.一切资产的智能化管理\n6.构建分享经济的新秩序\n7.货币金融应用仅仅是开始\n8.比特币创新应用\n(五)比特币区块链并不完美\n1.交易效率低和交易确认时间长的问题\n比特币每秒处理笔数的峰值一般小于7。\n当前比特币交易的一次确认时间平均大约是10分钟,这也是一个区块的生成时间,6次确认的情况下,需要等待约1小时。\n2.高耗能问题\n3.技术性能问题\n区块链容量问题。\n4.安全性问题\n5.与货币金融体系融合的问题\n6.比特币区块链的升级和完善\n\n二、区块链的今生\n(一)从数字货币到智能合约\n以太坊为代表的第二代区块链(区块链2.0)\n1.更多数字化资产的区块链\n\n资产的智能化转移是通过区块链和智能合约来实现的。\n\n2.智能合约让资产转移自动化\n\n3.以太坊:打造智能合约共同平台\n以太坊(Ethereum):一个以区块链为基础的智能合约公共平台。\n\n以太坊创始人Vitalik Buterin,出生于1994年。2013年11月,他发布了以太坊的白皮书的最初草稿。2014年8月,以太坊项目启动,向全世界发起众筹。\n(1)什么是以太坊\n以太坊就是第二代区块链技术平台,一个运行智能合约的基础平台,一个所有智能合约都能按照程序精确运行的“图灵完备”的平台。智能合约应用,也被称为去中心化应用(Dapp)。\n出中心化自治组织(DAOs)、去中心化自治公司(DACs)。\n(2)背景\n以太坊希望建立一个不同于比特币区块链,创造密码货币学2.0时代的平台。\n(3)以太坊的优越特性\n\n(4)以太坊的体系架构\n以太坊是新一代的智能合约平台,它提供了自己的智能合约脚本、脚本编程语言、虚拟机(EVM)运行平台、通信系统(细语系统—Whisper)、信息管理系统(蜂群系统—Swarm)、星际文件系统(IPFS)以及去中心化浏览器(Mist)等,以支持去中心化应用(DApp)的开发和运行。\n从功能角度而言,可以将以太坊生态系统分成三层,核心层、应用层和外围辅助层。\n核心层:点对点网络、虚拟机、智能合约、密钥、区块链、脚本编程语言和开发环境、以太币、技术整合和中间件服务。\n应用层:客户端浏览器软件(Mist或者AlethZero)、挖矿、监控服务、去中心化应用和其他第三方应用。\n外围辅助层:维基、论坛、以太坊学院、门户网站、赏金激励、潜在开发者的会议、教育、研究、学习和服务支持等。\n(5)以太坊虚拟机\n以太坊虚拟机是以太坊的运行环境,它是以太坊的“发动机”。\n(6)以太坊区块链\n以太坊区块链是智能合约的分布式记账系统。\n(7)智能合约的脚本\n以太坊是一个智能合约平台,是智能合约执行的引擎。\n\n(8)编程语言\n以太坊的软件编程语言:Serpent(受Python语言启发)、Solidity(受JavaScript脚本语言启发)、Mutan(受Go语言启发)和LLL(受Lisp语言启发),都是为面向智能合约编程而从底层开始设计的语言。\n\nSolidity是以太坊的首选脚本语言。\n(9)共识机制\n工作量证明是以太坊目前所选择的共识机制,但是以太坊声称将进化到更加节省能源的共识机制——股权证明。\n\n\n(10)以太币\n以太币(Ether)的设计,主要目的不是用于商品或服务的货币支付。以太币更像是一种“加密燃料”形式的奖励,用于支付运行各种去中心化应用和以太坊服务所需要的运营费用。以太币类似于云计算服务费用。\n\n(11)去中心化应用\n一个DApp是由智能合约和客户端代码构成的。\n\n(12)客户端浏览器\n这个浏览器称为Mist,它是以太坊的终端用户的接口,将区块链技术展示给用户。\nMist是普通用户运行或者管理区块链去中心化应用不可或缺的工具。\n你可以在Mist中使用DApp。\n(13)几个应用案例\n\n(14)生态系统建设\n\n\n(二)整合优化区块链的新旧体系\n1.侧链:将其他区块链挂接到比特币区块链\n侧链:即建立一种能够挂钩比特币区块链的“侧链”。简单地说,就是建立比特币账本的一个副本,就像以前许多法定货币由黄金担保一样。在需要的时候,资产可以在两个区块链之间相互转换。\n(1)侧链的提出\n侧链能够实现比特币和其他区块链资产在多个区块链之间的转移,即跨链交易。\n(2)侧链的工作原理\n(3)商业化应用侧链Liquid\n2015年10月13日,Blockstream公司宣布将推出第一个商业化应用侧链Liquid。\n\n2.闪电网络:创建比特币区块链外的微支付渠道\n\n3.合约币:在比特币区块链上构建以太坊\n4.瑞波币:去中心化的支付清算网络\n瑞波币系统是基于区块链技术的分布式支付清算系统。\n5.公证通:让区块链真实地记录一切\n公证通(Factom)是一个建立在比特币区块链上的重要数据记录平台。\n6.彩色币:将比特币区块链应用扩展到数字资产\n\n(三)传统力量的“推波助澜”\n1.超级账本项目:推进区块链开源\n超级账本项目(Hyperledger Project):意图打造新一代开源的区块链平台。\n2.非区块链的分布式账本(Corda):保守的改进\n(四)区块链生态系统的演变\n\n1.公有区块链(Public Blockchains)\n公有区块链是指全世界任何人都可读取区块信息、任何人都能发送交易信息且交易能够获得有效确认的、任何人都能参与共识过程的区块链。\n2.私有区块链(Private Blockchains)\n(1)联盟(合作伙伴)区块链(Consortium/Partner Blockchains)\n(2)公司私有区块链(Intra Blockchains)\n(3)开发者沙盘(Fully Private Blockchains)\n即完全私有的区块链。\n\n(五)区块链在数字金融资产中的应用\n1.区块链在银行业的应用\nAbra是一架比特币汇款APP公司。\n2.区块链在证券及投资市场的应用\n\n3.区块链在保险行业的应用\n\n4.区块链在实物资产管理中的应用\n\n5.区块链在无形资产保护方面的应用\n(1)知识产权保护\n(2)音乐版权保护\n(3)数字艺术资产保护\n\n6.应用的障碍\n\n(六)区块链产业生态\nBlockstream是亚当•贝克(Asam Back)等人的创业项目,他们发明了侧链和闪电网络。\nCoinbase。比特币交易所。\nOKcoin。比特币交易所。\nBlockchain。比特币交易所。\nBitpay。比特币支付平台。\nAbra比特币汇款应用APP公司。\nSia。比特币存储。\nBitShares。数字资产交易。\nEverledger。钻石区块链。\n\n\n中国的区块链创业项目\n巴比特。区块链的新闻网站。\n币看。比特币信息服务平台。\nOKcoin。比特币交易平台。\n火币网。比特币交易平台。\n币付宝。比特币管理平台。\n小蚁。区块链技术服务平台。\n\n三、区块链的未来\n(一)划时代的意义\n1.区块链是建立价值互联网的基础平台\n第一代互联网TCP/IP协议的建立让整个社会的信息实现了自由传递。\n区块链通过建立分布式账本,让信用去中心化,称为一个创造信任的机器。\n2.区块链是支撑万物互联的万物账本。\n万物互联网(Intenet of Everything)\n万物账本(Ledger of Everything)\n3.区块链是大数据时代的数据资产流通的关键支撑。\n\n4.区块链是驱动分享经济发展的新引擎。\n5.区块链是建立社会治理新体系的创新方法。\n(二)新的计算架构\n1.构建新一代互联网体系\n\n区块链技术首次在互联网上建立了“信任”。\n2.区块链即服务(BaaS)\n区块链即服务(Blockchain as a Service,简称BaaS)。\n3.去中心化应用(DApp)\nDApp有四个特点:\n一是以开放源码为开发模式。\n二是以共识机制为制度保障。\n三是以区块链为基础平台。\n四是以加密代币为动力燃料。\n\n(三)新的治理机制\n1.信任的机制\n2.共识的机制\n3.契约的机制\n4.开放共享的机制\n5.安全的机制\n\n(四)新的组织形式\n1.区块链将改变企业组织\n2.去中心化自治组织\n3.区块链的辩证法\n\n\n(五)新的商业模式:区块链定义世界\n1.区块链平台模式\n\n2.DApp应用的分享经济服务模式\n\n3.区块链代币金融模式\n\n4.区块链解决方案服务模式\n5.区块链数据服务模式\n(六)新应用不断涌现\n区块链健康、\n区块链能源(电网、新能源汽车)、\n区块链与互联网管理(域名管理:namecoin公司。身份认证。社交网络。分布式存储。)\n数据资产的区块链、\n物联网的区块链\n区块链在政府的应用\n区块链商务(OpenBazaar)、\n区块链物流、\n区块链教育(慕课MOOC)、\n区块链公益、\n文化遗产的“记忆”、\n区块链公证事实、\n区块链预测未来(Augur)。",
      "json_metadata": "{\"tags\":[\"bitcoin\",\"blockchain\",\"reading\",\"cn\"],\"links\":[\"http://product.dangdang.com/23990314.html\",\"https://bitcoin.org/bitcoin.pdf\",\"https://bitcoincore.org/bitcoin.pdf),阐述了比特币的技术原理。\",\"https://github.com/bitcoin/bitcoin)。\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
tumutanziupvoted (7.00%) @chenchun / 2
2017/08/27 19:40:00
votertumutanzi
authorchenchun
permlink2
weight700 (7.00%)
Transaction InfoBlock #14949727/Trx d23ba48091e0851b0e8f134c56ff3c3b9a380040
View Raw JSON Data
{
  "trx_id": "d23ba48091e0851b0e8f134c56ff3c3b9a380040",
  "block": 14949727,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T19:40:00",
  "op": [
    "vote",
    {
      "voter": "tumutanzi",
      "author": "chenchun",
      "permlink": "2",
      "weight": 700
    }
  ]
}
chenchunpublished a new post: 2
2017/08/27 12:17:03
parent author
parent permlinkbitcoin
authorchenchun
permlink2
title比特币、区块链读书笔记2《解密比特币》
body《解密比特币》读书笔记 书籍封面 https://img12.360buyimg.com/n11/jfs/t1318/286/1279038304/119477/17d95269/55bf1121N548fcade.jpg 作者:刘宁、沈大海。出版社:机械工业出版社。2014年1月出版。 I S B N:9787111454786 第1章什么是比特币 1.1比特币的诞生 2008年11月1日,中本聪(Satoshi Nakamoto)在一个隐秘的密码学邮件组里贴出了一篇研究论文,阐述了一种名为“比特币”的电子货币的新构想。 一个基于p2p网络的现金系统,该系统有如下特点: 不受第三方监管; 该系统在p2p网络中防止了双重支付; 去中心化的生成; 参与者及交易是匿名的; 新货币的生成均通过哈希算法进行验证; 每一代新货币的生成验证都通过网络的力量防止出现双重支付; •••••• 一种p2p电子货币系统。 “密码朋克”的密码破译组织致力于创建电子货币。 2009年1月3日,第一个数据块——创世区块(Genesis Block)的生成宣告比特币系统诞生。 这一串数字信息还原出文本为:“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”。 IRC(Internet Relay Chat,互联网中继聊天) P2p网络:Gnutella、Tor。 2009年1月3日,中本聪成为挖到比特币的第一人——他从创世区挖到50枚比特币。 1.2追踪比特币 中本聪是谁,无人知晓 1.2.1神秘的比特币之父——中本聪 1.2.2比特币的忠实信徒——瓦格纳 布鲁斯•瓦格纳(Bruce Wagner)。主持了《比特币秀》节目。 2010年,1比特币价值低于0.14美元;2010年11月,1比特币价值0.36美元;2011年2月,1比特币的价值1美元。 1.3比特币到底是个啥? P2p:peer to peer的简称,意思是“对等网络”,也称为“对等连接”,是一种新的通信模式,每个参与者具有同等的能力,可以发起一个通信会话。 哈希算法:即算列函数。 挖矿:通过开源的计算方法在比特币特定的数据链上运算正确的比特币数据区块的行为,产生比特币的唯一途径。 比特币的数量:比特币的发行上限是2100万枚。 比特币的生成速度:大约每10分钟可以生产25枚比特币,产量每四年会缩减一半(2009-2012年的最初4年内,每10分钟产生50枚比特币),因此比特币的流通数目将在2140年达到它的发行上限。 1.4比特币的货币意义 历史上第一个通缩货币。 技术颠覆集权和信息的控制。 匿名交易,隐私至上。 完美控制,双重支付。 比特币发展大事记 2009年1月3日,中本聪在位于芬兰赫尔辛基的一个小型服务器上挖出了第一批比特币50个。 2010年5月21日,第一次比特币交易:佛罗里达程序员拉丝勒•豪涅茨用1万btc购买了价值25美元的披萨优惠券。 2010年7月16日,比特币价格从0.00美元升至0.08美元。 2010年7月17日,第一个比特币平台——Mt.Gox成立。 2010年11月6日,Mt.Gox上的比特币价格达到0.5美元。 2011年2月9日,比特币价格首次达1美元,与美元等价。 2011年6月8日,比特币价格达到31.91的新高。 2011年11月14日,比特币价格创半年新低,价格为1.99美元。 2012年11月28日,比特币区块供应首次减半调整,从之前的每10分钟50个递减至每10分钟25个。同时比特币发行量占到发行总量2100万的一半。 2013年2月28日,比特币价格在601天之后,超越2011年6月8日的历史最高点31.91美元。 2013年3月28日,比特币价格均价为92美元。 2013年4月10日,比特币价格创下历史新高266.00美元。 2013年4月20日,李笑来在bitcoin官网发起对四川芦山地震灾区的比特币捐款。 2013年11月,比特币价格最高时突破1200美元大关。 第2章比特币运行原理 2.1比特币的特点 去中心化运作,无央行存在。 总量固定,不会通货膨胀,但可无限分割。比特币发行上限是2100万枚。 1比特币=1亿聪(satoshi) 货币不可伪造,无法多重支付,交易不可逆转。 账户匿名,且任何人均无法冻结,无法收税。 全球无障碍流通,快速支付且成本极低。比特币交易,1秒完成交易,10分钟之内得到全网确认并记录,实现交易完成。如果是点对点的兑换或交易,成本为零,如果是通过比特币交易所来兑换,也只要支付通常为千分之三或更少的手续费。 2.2比特币是怎样生成的 什么是挖矿呢? 挖矿即时通过全球拥有比特币生产程序的网络节点上的计算机,通过比特币特定算法不断产生新的正确的Block并延续Block Chain的过程(比特币从开始到现在的每一笔产出记录都保存在网络上,整个比特币网络维护的一个巨大的产出或交易记录文件。这个文件的更新周期平均是10分钟,新加入的产出或交易记录叫做一个Block,而这个硕大的文件由一串block组成,叫做Block Chain)。挖矿为整个系统的运转提供原动力,是比特币的发动机,没有挖矿就没有比特币。 挖矿具有以下3个重要功能 (1)发行新的货币(总量达到之前); (2)维系货币的支付功能; (3)通过算力保障系统安全。 挖矿消耗的是CPU时间与电量。 挖矿是用专用的高性能芯片组来计算Block hash的过程,没成功计算出一个Block,其中就包含一定量的比特币作为对挖矿人的奖励。 挖矿算法解析 矿池 比特币矿池是一个组队挖矿的服务器。组队挖矿就是,大家利用自己的矿机或者挖矿终端共同进入一个服务器中,让加入进来的各个节点的计算能力拧成一股绳,一旦队伍里任何人获得了一个区块,就将区块中的货币按大家的性能分给大家,这样大家就能很快地获得比特币。 2.3比特币的运行原理 2.4比特币钱包 推荐http://bitcoin.org 在线钱包:http://blockchain.info/ 推荐Bitcoin官网下载比特币钱包Bitcoin-Qt。 手机版的是Bitcoin wallet。 备份密钥。 “交易签名”:告诉全球所有节点,这个比特币地址从某一个时刻开始已经有人使用了。 2.5比特币钱包的备份、恢复与加密 2.6比特币中的重要概念 公钥与私钥匙相对应的,一把私钥可以推导出唯一的公钥,但公钥却无法推导出私钥。 私钥匙一个巨大的随机整数,256位、32字节。 私钥是配合比特币地址与公钥一起使用的保障比特币地址及安全的必备数据组。 Block Chain。是由矿工生成的全局唯一公开比特币交易账目,每一本“账目”称为Block,每个Block被以密码学的方式串起来使得别人无法篡改。Block Chain Explorer上可以查看有史以来所有的交易,但其本身不是比特币系统的一部分,它只是把公开数据用网页的方式呈现出来。 手续费。手续费一般来说在0.0001-0.0005比特币。手续费其实就是支付给旷工挖矿的奖励,旷工在挖矿过程中挖到一个数据区块,除了区块本身奖励的比特币,还可以获得交易手续费收益。 签名。使用私钥对数据进行签署(Sign)会得到签名(Signature)。通常会将数据先生成hash值,然后对此hash进行签名。 第3章如何获得比特币 3.1获得比特币的途径 当矿工、用钱买比特币、开网店卖东西收比特币、去交易所炒比特币。 中国的比特币交易所:www.btcchina.com (全球第二大交易量的比特币专业交易网站)。交易所收取0.01%-0.03%的交易费用。 参与流通才是货币的真正价值。 知名的比特币交易所 火币网。http://www.huobi.com/ BTCChina。https://btcchina.com/ Coinbase。https://coinbase.com/ OKCoin。https://www.okcoin.com/ 第4章比特币投资常识与原则 第5章比特币投资的策略与技巧 第6章多元化投资选择——莱特币 Litecoin(LTC)发布于2011年10月7日。数量是8400万枚。 第7章新闻中的比特币。
json metadata{"tags":["bitcoin","blockchain","reading","cn"],"image":["https://img12.360buyimg.com/n11/jfs/t1318/286/1279038304/119477/17d95269/55bf1121N548fcade.jpg"],"links":["http://bitcoin.org","http://blockchain.info/","http://www.huobi.com/","https://btcchina.com/","https://coinbase.com/","https://www.okcoin.com/"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #14940870/Trx 02e7e95c027edbf4f5b935b9ae0b74a1e90a4dff
View Raw JSON Data
{
  "trx_id": "02e7e95c027edbf4f5b935b9ae0b74a1e90a4dff",
  "block": 14940870,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T12:17:03",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "bitcoin",
      "author": "chenchun",
      "permlink": "2",
      "title": "比特币、区块链读书笔记2《解密比特币》",
      "body": "《解密比特币》读书笔记\n\n书籍封面\nhttps://img12.360buyimg.com/n11/jfs/t1318/286/1279038304/119477/17d95269/55bf1121N548fcade.jpg\n\n作者:刘宁、沈大海。出版社:机械工业出版社。2014年1月出版。\nI S B N:9787111454786\n\n第1章什么是比特币\n1.1比特币的诞生\n2008年11月1日,中本聪(Satoshi Nakamoto)在一个隐秘的密码学邮件组里贴出了一篇研究论文,阐述了一种名为“比特币”的电子货币的新构想。\n\n一个基于p2p网络的现金系统,该系统有如下特点:\n不受第三方监管;\n该系统在p2p网络中防止了双重支付;\n去中心化的生成;\n参与者及交易是匿名的;\n新货币的生成均通过哈希算法进行验证;\n每一代新货币的生成验证都通过网络的力量防止出现双重支付;\n••••••\n\n一种p2p电子货币系统。\n\n“密码朋克”的密码破译组织致力于创建电子货币。\n2009年1月3日,第一个数据块——创世区块(Genesis Block)的生成宣告比特币系统诞生。\n这一串数字信息还原出文本为:“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”。\n\nIRC(Internet Relay Chat,互联网中继聊天)\nP2p网络:Gnutella、Tor。\n2009年1月3日,中本聪成为挖到比特币的第一人——他从创世区挖到50枚比特币。\n1.2追踪比特币\n中本聪是谁,无人知晓\n\n1.2.1神秘的比特币之父——中本聪\n\n1.2.2比特币的忠实信徒——瓦格纳\n布鲁斯•瓦格纳(Bruce Wagner)。主持了《比特币秀》节目。\n2010年,1比特币价值低于0.14美元;2010年11月,1比特币价值0.36美元;2011年2月,1比特币的价值1美元。\n\n1.3比特币到底是个啥?\nP2p:peer to peer的简称,意思是“对等网络”,也称为“对等连接”,是一种新的通信模式,每个参与者具有同等的能力,可以发起一个通信会话。\n哈希算法:即算列函数。\n挖矿:通过开源的计算方法在比特币特定的数据链上运算正确的比特币数据区块的行为,产生比特币的唯一途径。\n\n比特币的数量:比特币的发行上限是2100万枚。\n比特币的生成速度:大约每10分钟可以生产25枚比特币,产量每四年会缩减一半(2009-2012年的最初4年内,每10分钟产生50枚比特币),因此比特币的流通数目将在2140年达到它的发行上限。\n\n1.4比特币的货币意义\n\n历史上第一个通缩货币。\n技术颠覆集权和信息的控制。\n匿名交易,隐私至上。\n完美控制,双重支付。\n\n比特币发展大事记\n2009年1月3日,中本聪在位于芬兰赫尔辛基的一个小型服务器上挖出了第一批比特币50个。\n2010年5月21日,第一次比特币交易:佛罗里达程序员拉丝勒•豪涅茨用1万btc购买了价值25美元的披萨优惠券。\n2010年7月16日,比特币价格从0.00美元升至0.08美元。\n2010年7月17日,第一个比特币平台——Mt.Gox成立。\n2010年11月6日,Mt.Gox上的比特币价格达到0.5美元。\n2011年2月9日,比特币价格首次达1美元,与美元等价。\n2011年6月8日,比特币价格达到31.91的新高。\n2011年11月14日,比特币价格创半年新低,价格为1.99美元。\n2012年11月28日,比特币区块供应首次减半调整,从之前的每10分钟50个递减至每10分钟25个。同时比特币发行量占到发行总量2100万的一半。\n2013年2月28日,比特币价格在601天之后,超越2011年6月8日的历史最高点31.91美元。\n2013年3月28日,比特币价格均价为92美元。\n2013年4月10日,比特币价格创下历史新高266.00美元。\n2013年4月20日,李笑来在bitcoin官网发起对四川芦山地震灾区的比特币捐款。\n2013年11月,比特币价格最高时突破1200美元大关。\n\n第2章比特币运行原理\n2.1比特币的特点\n去中心化运作,无央行存在。\n总量固定,不会通货膨胀,但可无限分割。比特币发行上限是2100万枚。\n1比特币=1亿聪(satoshi)\n货币不可伪造,无法多重支付,交易不可逆转。\n账户匿名,且任何人均无法冻结,无法收税。\n全球无障碍流通,快速支付且成本极低。比特币交易,1秒完成交易,10分钟之内得到全网确认并记录,实现交易完成。如果是点对点的兑换或交易,成本为零,如果是通过比特币交易所来兑换,也只要支付通常为千分之三或更少的手续费。\n2.2比特币是怎样生成的\n什么是挖矿呢?\n挖矿即时通过全球拥有比特币生产程序的网络节点上的计算机,通过比特币特定算法不断产生新的正确的Block并延续Block Chain的过程(比特币从开始到现在的每一笔产出记录都保存在网络上,整个比特币网络维护的一个巨大的产出或交易记录文件。这个文件的更新周期平均是10分钟,新加入的产出或交易记录叫做一个Block,而这个硕大的文件由一串block组成,叫做Block Chain)。挖矿为整个系统的运转提供原动力,是比特币的发动机,没有挖矿就没有比特币。\n挖矿具有以下3个重要功能\n(1)发行新的货币(总量达到之前);\n(2)维系货币的支付功能;\n(3)通过算力保障系统安全。\n挖矿消耗的是CPU时间与电量。\n挖矿是用专用的高性能芯片组来计算Block hash的过程,没成功计算出一个Block,其中就包含一定量的比特币作为对挖矿人的奖励。\n\n挖矿算法解析\n\n矿池\n比特币矿池是一个组队挖矿的服务器。组队挖矿就是,大家利用自己的矿机或者挖矿终端共同进入一个服务器中,让加入进来的各个节点的计算能力拧成一股绳,一旦队伍里任何人获得了一个区块,就将区块中的货币按大家的性能分给大家,这样大家就能很快地获得比特币。\n\n2.3比特币的运行原理\n\n2.4比特币钱包\n推荐http://bitcoin.org\n\n在线钱包:http://blockchain.info/\n\n推荐Bitcoin官网下载比特币钱包Bitcoin-Qt。\n手机版的是Bitcoin wallet。\n备份密钥。\n“交易签名”:告诉全球所有节点,这个比特币地址从某一个时刻开始已经有人使用了。\n\n2.5比特币钱包的备份、恢复与加密\n\n2.6比特币中的重要概念\n\n公钥与私钥匙相对应的,一把私钥可以推导出唯一的公钥,但公钥却无法推导出私钥。\n私钥匙一个巨大的随机整数,256位、32字节。\n私钥是配合比特币地址与公钥一起使用的保障比特币地址及安全的必备数据组。\n\nBlock Chain。是由矿工生成的全局唯一公开比特币交易账目,每一本“账目”称为Block,每个Block被以密码学的方式串起来使得别人无法篡改。Block Chain Explorer上可以查看有史以来所有的交易,但其本身不是比特币系统的一部分,它只是把公开数据用网页的方式呈现出来。\n\n手续费。手续费一般来说在0.0001-0.0005比特币。手续费其实就是支付给旷工挖矿的奖励,旷工在挖矿过程中挖到一个数据区块,除了区块本身奖励的比特币,还可以获得交易手续费收益。\n\n签名。使用私钥对数据进行签署(Sign)会得到签名(Signature)。通常会将数据先生成hash值,然后对此hash进行签名。\n\n第3章如何获得比特币\n3.1获得比特币的途径\n当矿工、用钱买比特币、开网店卖东西收比特币、去交易所炒比特币。\n\n中国的比特币交易所:www.btcchina.com\n(全球第二大交易量的比特币专业交易网站)。交易所收取0.01%-0.03%的交易费用。\n参与流通才是货币的真正价值。\n\n知名的比特币交易所\n火币网。http://www.huobi.com/\nBTCChina。https://btcchina.com/\nCoinbase。https://coinbase.com/\nOKCoin。https://www.okcoin.com/\n\n第4章比特币投资常识与原则\n\n第5章比特币投资的策略与技巧\n\n第6章多元化投资选择——莱特币\nLitecoin(LTC)发布于2011年10月7日。数量是8400万枚。\n\n第7章新闻中的比特币。",
      "json_metadata": "{\"tags\":[\"bitcoin\",\"blockchain\",\"reading\",\"cn\"],\"image\":[\"https://img12.360buyimg.com/n11/jfs/t1318/286/1279038304/119477/17d95269/55bf1121N548fcade.jpg\"],\"links\":[\"http://bitcoin.org\",\"http://blockchain.info/\",\"http://www.huobi.com/\",\"https://btcchina.com/\",\"https://coinbase.com/\",\"https://www.okcoin.com/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
chenchunupdated their account properties
2017/08/27 11:44:09
accountchenchun
memo keySTM6erfMdTKcwgvqpBBWfmJwrTDyecmA2nqBihCxo3wp1g1DtQc3L
json metadata{"profile":{"name":"chenchun","location":"china"}}
Transaction InfoBlock #14940212/Trx 88d1518c2c5c33fabb1b7a7701099d314fe13ee9
View Raw JSON Data
{
  "trx_id": "88d1518c2c5c33fabb1b7a7701099d314fe13ee9",
  "block": 14940212,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T11:44:09",
  "op": [
    "account_update",
    {
      "account": "chenchun",
      "memo_key": "STM6erfMdTKcwgvqpBBWfmJwrTDyecmA2nqBihCxo3wp1g1DtQc3L",
      "json_metadata": "{\"profile\":{\"name\":\"chenchun\",\"location\":\"china\"}}"
    }
  ]
}
2017/08/27 07:18:15
parent authorchenchun
parent permlink3bvz9j-1
authorsteemitboard
permlinksteemitboard-notify-chenchun-20170827t071817000z
title
bodyCongratulations @chenchun! You have completed some achievement on Steemit and have been rewarded with new badge(s) : [![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/firstcomment.png)](http://steemitboard.com/@chenchun) You made your First Comment [![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/voted.png)](http://steemitboard.com/@chenchun) Award for the number of upvotes received Click on any badge to view your own Board of Honor on SteemitBoard. For more information about SteemitBoard, click [here](https://steemit.com/@steemitboard) If you no longer want to receive notifications, reply to this comment with the word `STOP` > By upvoting this notification, you can help all Steemit users. Learn how [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!
json metadata{"image":["https://steemitboard.com/img/notifications.png"]}
Transaction InfoBlock #14934895/Trx b60328cdd93439ae45f1d7ea4b6a2e2c00082c2f
View Raw JSON Data
{
  "trx_id": "b60328cdd93439ae45f1d7ea4b6a2e2c00082c2f",
  "block": 14934895,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T07:18:15",
  "op": [
    "comment",
    {
      "parent_author": "chenchun",
      "parent_permlink": "3bvz9j-1",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-chenchun-20170827t071817000z",
      "title": "",
      "body": "Congratulations @chenchun! You have completed some achievement on Steemit and have been rewarded with new badge(s) :\n\n[![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/firstcomment.png)](http://steemitboard.com/@chenchun) You made your First Comment\n[![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/voted.png)](http://steemitboard.com/@chenchun) Award for the number of upvotes received\n\nClick on any badge to view your own Board of Honor on SteemitBoard.\nFor more information about SteemitBoard, click [here](https://steemit.com/@steemitboard)\n\nIf you no longer want to receive notifications, reply to this comment with the word `STOP`\n\n> By upvoting this notification, you can help all Steemit users. Learn how [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notifications.png\"]}"
    }
  ]
}
2017/08/27 05:22:36
required auths[]
required posting auths["chenchun"]
idfollow
json["follow",{"follower":"chenchun","following":"holl.boll","what":["blog"]}]
Transaction InfoBlock #14932582/Trx 8de17c25d9fa4e1252431e5b2f8d6dd2744b7447
View Raw JSON Data
{
  "trx_id": "8de17c25d9fa4e1252431e5b2f8d6dd2744b7447",
  "block": 14932582,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:22:36",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "chenchun"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"chenchun\",\"following\":\"holl.boll\",\"what\":[\"blog\"]}]"
    }
  ]
}
ubgupvoted (1.00%) @chenchun / 3bvz9j-1
2017/08/27 05:21:36
voterubg
authorchenchun
permlink3bvz9j-1
weight100 (1.00%)
Transaction InfoBlock #14932562/Trx a73c82b42b57fc1b9b5fc775f3f57ca97febd10f
View Raw JSON Data
{
  "trx_id": "a73c82b42b57fc1b9b5fc775f3f57ca97febd10f",
  "block": 14932562,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:21:36",
  "op": [
    "vote",
    {
      "voter": "ubg",
      "author": "chenchun",
      "permlink": "3bvz9j-1",
      "weight": 100
    }
  ]
}
chenchunpublished a new post: 3bvz9j-1
2017/08/27 05:18:18
parent author
parent permlinkcn
authorchenchun
permlink3bvz9j-1
title比特币、区块链读书笔记1《精通比特币》第三部分
body《精通比特币》作者:Andreas M.Antonopoulos。 本书下载地址:http://zhibimo.com/books/wang-miao/mastering-bitcoin 翻译:薄荷凉幼;陈萌琦;陈姝吉;程鹏;程西园;达文西;吉鸿帆;李丹;李润熙;李凌豪;李昕阳;刘畅;吕新浩;马峰;牛东晓;秦彤;邱頔;邱蒙;戎如香;史磊;汪海波;王宏钢;辛颖;杨兵;尹文东;余龙;张林;张琦张大嫂;张亚超;张泽铭;赵冬帅;赵 余;YANG YANG。 第 8 章 挖矿与共识 8.1 简介 挖矿是增加比特币货币供应的一个过程。挖矿同时还保护着比特币系统的安全,防止欺诈交易,避免“双重支付”,“双重支付”是指多次花费同一笔比特币。矿工们通过为比特币网络提供算力来换取获得比特币奖励的机会。 矿工们验证每笔新的交易并把它们记录在总帐簿上。每 10 分钟就会有一个新的区块被“挖掘”出来,每个区块里包含着从上一个区块产生到目前这段时间内发生的所有交易,这些交易被依次添加到区块链中。我们把包含在区块内且被添加到区块链上的交易称为“确认”交易,交易经过“确认”之后,新的拥有者才能够花费他在交易中得到的比特币。 矿工们在挖矿过程中会得到两种类型的奖励:创建新区块的新币奖励,以及区块中所含交易的交易费。为了得到这些奖励,矿工们争相完成一种基于加密哈希算法的数学难题,这些难题的答案包括在新区块中,作为矿工的计算工作量的证明,被称为”“工作量证明”。该算法的竞争的机制以及获胜者有权在区块链上进行交易记录的机制,这二者比特币安全的基石。 新比特币的生成过程被称为挖矿是因为它的奖励机制被设计为速度递减模式,类似于贵重金属的挖矿过程。比特币的货币是通过挖矿发行的,类似于中央银行通过印刷银行纸币来发行货币。矿工通过创造一个新区块得到的比特币数量大约每四年(或准确说是每隔 210,000 个块)减少一半。开始时为 2009 年 1月每个区块奖励 50 个比特币,然后到 2012 年 11 月减半为每个区块奖励 25个比特币。之后将在 2016 年的某个时刻再次减半为每个新区块奖励 12.5 个比特币。基于这个公式,比特币挖矿奖励以指数方式递减,直到 2140 年。届时所有的比特币(20,999,999,980)全部发行完毕。换句话说在 2140 年之后,不会再有新的比特币产生。 矿工们同时也会获取交易费。每笔交易都可能包含一笔交易费,交易费是每笔交易记录的输入和输出的差额。在挖矿过程中“挖出”新区块的矿工获胜者可以得到该区块中包含的所有交易“小费”。目前,这笔费用占矿工收入的 0.5%或更少,大部分收益仍来自挖矿所得的比特币奖励。然而随着挖矿奖励的递减,以及每个区块中包含的交易数量增加,交易费在矿工收益中所占的比重将会逐渐增加。在 2140 年之后,所有的矿工收益都将由交易费构成。 “挖矿”这个词有一定的误导性。它容易引起对贵重金属采矿的的联想,从而使我们的注意力都集中在每个新区块产生的奖励上。尽管挖矿带来的奖励是一种激励,但它最主要的目的并不是奖励本身或者新币的产生。如果只把挖矿看作生产新币的过程,那你是把手段(激励措施)当成了目的。挖矿是一种将结算所去中心化的过程,每个结算所对处理的交易进行验证和结算。挖矿保护了比特币系统的安全,并且实现了在没有中心机构的情况下,也能使整个比特币网络达成共识。 挖矿这个发明使比特币变得很特别,这种去中心化的安全机制是点对点的电子货币的基础。铸造新币的奖励和交易费是一种激励机制,它可以调节矿工行为和网络安全,同时又完成了比特币的货币发行。 在本章中,我们先来审视比特币的货币发行机制,然后再来了解挖矿的最重要的功能:支撑比特币安全的去中心化的自发共识机制。 8.1.1 比特币经济学和货币创造 通过创造出新区块,比特币以一个确定的但不断减慢的速率被铸造出来。大约每十分钟产生一个新区块, 每一个新区块都伴随着一定数量从无到有的全新比特币。每开采 210,000 个块,大约耗时 4 年,货币发行速率降低 50%。在比特币运行的第一个四年中,每个区块创造出 50 个新比特币。 2012 年 11 月,比特币的新发行速度降低到每区块 25 个比特币,并且预计会在 2016 年的某个时刻, 在第 420,000 个区块被 “挖掘” 出来之后 降低到 12.5比特币/区块。在第 13,230,000 个区块(大概在 2137 年被挖出)之前,新币的发行速度会以指数形式进行 64 次“二等分”。到那时 每区块发行比特币数量变为比特币的最小货币单位——1 聪。最终,在经过 1,344 万个区块之后,所有的共 2,099,999,997,690,000 聪比 特币将全部发行完毕。换句话说,到 2140年左右,会存在接近 2,100 万比特币。在那之后, 新的区块不再包含比特币奖励,矿工的收益全部来自交易费。 总量有限并且发行速度递减创造了一种抗通胀的货币供应模式。法币可被中央银行无限制地印刷出来,而比特币永远不会因超额印发而出现通胀。 通货紧缩货币 最重要并且最有争议的一个结论是一种事先确定的发行速率递减的货币发行模式会导致货币通货紧缩(简称通缩)。通缩是一种由于货币的供应和需求不匹配导致的货币增值的现象。它与通胀相反,价格通缩意味着货币随着时间有越来越强的购买力。 8.2 去中心化共识 在上一章中我们了解了区块链。可以将区块链看作一本记录所有交易的公开总帐簿(列表),比特币网络中的每个参与者都把它看作一本所有权的权威记录。但在不考虑相信任何人的情况下, 比特币网络中的所有参与者如何达成对任意一个所有权的共识呢?所有的传统支付系统都依赖于一个中心认证机构,依靠中心机构提供的结算服务来验证并处理所有的交易。比特币没有中心机构,几乎所有的完整节点都有一份公共总帐的备份,这份总帐可以被视为认证过的记录。区块链并不是由一个中心机构创造的,它是由比特币网络中的所有节点各自独立竞争完成的。换句话说比特币网络中的所有节点,依靠着节点间的不稳定的网络连接所传输的信息,最终得出同样的结果并维护了同一个公共总帐。这一章将介绍比特币网络不依靠中心机构而达成共识的机制。 中本聪的主要发明就是这种去中心化的自发共识机制。这种自发,是指没有经过明确选举或者没有固定达成的共识的时间。换句话说,共识是数以千计的独立节点遵守了简单的规则通过异步交互自发形成的产物。所有的比特币属性,包括货币、交易、支付以及不依靠中心机构和信任的安全模型等都是这个机制的衍生物。比特币的去中心化共识由所有网络节点的 4 种独立过程相互作用而产生: ▷ 每个全节点依据综合标准对每个交易进行独立验证 ▷ 通过完成工作量证明算法的验算,挖矿节点将交易记录独立打包进新区块, ▷ 每个节点独立的对新区块进行校验并组装进区块链 ▷ 每个节点对区块链进行独立选择,在工作量证明机制下选择累计工作量最大的区块链 在接下来的几节中,我们将审视这些过程,了解它们之间如何相互作用并达成全网的自发共识,从而使任意节点组合出它自己的权威、可信、公开的总帐。 8.3 交易的独立校验 在第 5 章中,我们知道了钱包软件通过收集 UTXO、提供正确的解锁脚本、构造支付给接收者的输出这一系列的方式来创建交易。 产生的交易随后将被发送到比特币网络临近的节点,从而使得该交易能够在整个比特币网络中传播。然而,在交易传递到临近的节点前,每一个收到交易的比特币节点将会首先验证该交易,这将确保只有有效的交易才会在网络中传播,而无效的交易将会在第一个节点处被废弃。 每一个节点在校验每一笔交易时,都需要对照一个长长的标准列表: ▷交易的语法和数据结构必须正确。 ▷输入与输出列表都不能为空。 ▷交易的字节大小是小于 MAX_BLOCK_SIZE 的。 ▷每一个输出值,以及总量,必须在规定值的范围内 (小于 2,100 万个币,大于 0)。 ▷没有哈希等于 0,N 等于-1 的输入(coinbase 交易不应当被中继)。 ▷nLockTime 是小于或等于 INT_MAX 的。 ▷交易的字节大小是大于或等于 100 的。 238 ▷交易中的签名数量应小于签名操作数量上限。 ▷解锁脚本(scriptSig)只能够将数字压入栈中,并且锁定脚本(scriptPubkey) 必须要符合 isStandard 的格式 (该格式将会拒绝非标准交易)。 ▷池中或位于主分支区块中的一个匹配交易必须是存在的。 ▷对于每一个输入,如果引用的输出存在于池中任何的交易,该交易将被拒绝。 ▷对于每一个输入,在主分支和交易池中寻找引用的输出交易。如果输出交易缺 少任何一个输入,该交易将成为一个孤立的交易。如果与其匹配的交易还没有出 现在池中,那么将被加入到孤立交易池中。 ▷对于每一个输入,如果引用的输出交易是一个 coinbase 输出,该输入必须至 少获得 COINBASE_MATURITY (100)个确认。 ▷对于每一个输入,引用的输出是必须存在的,并且没有被花费。 ▷使用引用的输出交易获得输入值, 并检查每一个输入值和总值是否在规定值的范围内 (小于 2100 万个币,大于 0)。 ▷如果输入值的总和小于输出值的总和,交易将被中止。 ▷如果交易费用太低以至于无法进入一个空的区块,交易将被拒绝。 ▷每一个输入的解锁脚本必须依据相应输出的锁定脚本来验证。 这些条件能够在比特币标准客户端下的 AcceptToMemoryPool、CheckTransaction 和 CheckInputs 函数中获得更详细的阐述。请注意,这些条件会随着时间发生变化,为了处理新型拒绝服务攻击,有时候也为交易类型多样 化而放宽规则。 在收到交易后,,每一个节点都会在全网广播前对这些交易进行校验,并以接收时的相应顺序,为有效的新交易建立一个池(交易池)。 8.4 挖矿节点 在比特币网络中,一些节点被称为专业节点矿工。 新区块并不仅仅是象征着竞赛结束的方格旗;它也是下一个区块竞赛的发令枪。 8.5 整合交易至区块 验证交易后,比特币节点会将这些交易添加到自己的内存池中。内存池也称作交易池,用来暂存尚未被加入到区块的交易记录。与其他节点一样,Jing 的节点会收集、验证并中继新的交易。而与其他节点不同的是,Jing 的节点会把这些交易整合到一个候选区块中。 8.5.1 交易块龄, 矿工费和优先级 Jing 的比特币节点需要为内存池中的每笔交易分配一个优先级,并选择较高优先级的交易记录来构建候选区块。交易的优先级是由交易输入所花费的UTXO 的“块龄”决定,交易输入值高、“块龄”大的交易比那些新的、输入值 小的交易拥有更高的优先级。如果区块中有足够的空间,高优先级的交易行为将不需要矿工费。 交易的优先级是通过输入值和输入的“块龄”乘积之和除以交易的总长度得到的: UTXO 的“块龄”是自该 UTXO 被记录到区块链为止所经历过的区块数,即这个 UTXO 在区块链中的深度。交易记录的大小由字节来表示。一个交易想要成为“较高优先级”,需满足的条件:优先值大于 57,600,000,相当于一个比特币(即 100 万聪),年龄为一天(144 个区块),交易的大小为 250 个字节。 8.5.2 创币交易 区块中的第一笔交易是笔特殊交易,称为创币交易或者 coinbase 交易。 与 常规交易不同,创币交易没有输入,不消耗 UTXO。它只包含一个被称作coinbase 的输入,仅仅用来创建新的比特 币。创币交易有一个输出,支付到这个矿工的比特币地址。 8.5.3 Coinbase 奖励与矿工费 8.5.4 创币交易的结构 8.5.5 Coinbase 数据 创币交易不包含“解锁脚本“(又称作 scriptSig)字段,这个字段被 coinbase数据替代,长度最小 2 字节,最大 100 字节。除了开始的几个字节外,矿工可以任意使用 coinbase 的其他部分,随意填充任何数据。 8.6 构造区块头 为了构造区块头,挖矿节点需要填充六个字段,如表 8-3 中所示。 区块头完成全部的字段填充后,挖矿就可以开始进行了。挖矿的目标是找到一个使区块头哈希值小于难度目标的 nonce。挖矿节点通常需要尝试数十亿甚至数万亿个不同的 nonce 取值,直到找到一个满足条件的 nonce 值。 8.7 构建区块 用最简单的术语来说,挖矿就是重复计算区块头的哈希值,不断修改该参数,直到与哈希值匹配的一个过程。 哈希函数的结果无法提前得知, 也没有能得到一 个特定哈希值的模式。哈希函数的这个特性意味着:得到哈希值的唯一方法是不断的尝试,每次随机修改输入,直到出现适当的哈希值。 8.7.1 工作量证明算法 哈希函数的输入数据的长度是任意的,将产生一个长度固定且绝不雷同的值,可将其视为输入的数字指纹。对于特定输入,哈希的结果每次都一样,任何实现 相同哈希函数的人都可以计算和验证。一个加密哈希函数的主要特征就是不同的输入几乎不可能出现相同的数字指纹。因此,相对于随机选择输入,有意地选择输入去生成一个想要的哈希值几乎是不可能的。 无论输入的大小是多少,SHA256 函数的输出的长度总是 256bit。 8.7.2 难度表示 8.7.3 难度目标与难度调整 如前所述,目标决定了难度,进而影响求解工作量证明算法所需要的时间。那么问题来了:为什么这个难度值是可调整的?由谁来调整?如何调整? 比特币的区块平均每 10 分钟生成一个。这就是比特币的心跳,是货币发行速率和交易达成速度的基础。不仅是在短期内,而是在几十年内它都必须要保持恒定。在此期间,计算机性能将飞速提升。此外,参与挖矿的人和计算机也会不断变化。为了能让新区块的保持 10 分钟一个的产生速率,挖矿的难度必须根据这些变化进行调整。事实上,难度是一个动态的参数,会定期调整以达到每 10分钟一个新区块的目标。简单地说,难度被设定在,无论挖矿能力如何,新区块产生速率都 保持在 10 分钟一个 那么,在一个完全去中心化的网络中,这样的调整是如何做到的呢?难度的调整是在每个完整节点中独立自动发生的。每 2,016 个区块中的所有节点都会调整难度。 难度的调整公式是由最新 2,016 个区块的花费时长与 20,160 分钟 (两周,即这些区块以 10 分钟一个速率所期望花费的时长)比较得出的。难度是根据实际时长与期望时长的比值进行相应调整的(或变难或变易)。简单来说,如果网络发现区块产生速率比 10 分钟要快时会增加难度。如果发现比 10 分钟慢时则降低难度。 寻找一个比特币区块需要整个网络花费 10 分钟来处理, 每发现 2,016个区块时会根据前 2,016 个区块完成的时间对难度进行调整。 值得注意的是目标难度与交易的数量和金额无关。这意味着哈希算力的强弱,即让比特币更安全的电力投入量,与交易的数量完全无关。换句话说,当比特币的规模变得更大,使用它的人数更多时,即使哈希算力保持当前的水平,比特币的安全性也不会受到影响。 哈希算力的增加表明更多的人为得到比特币回报而加入了挖矿队伍。只要为了回报,公平正当地从事挖矿的矿工群体保持足够的哈希算力,"接管"攻击就不会得逞,让比特币的安全无虞。 目标难度和挖矿电力消耗与将比特币兑换成现金以支付这些电力之间的关系密切相关。高性能挖矿系统就是要用当前硅芯片以最高效的方式将电力转化为哈希算力。挖矿市场的关键因素就是每度电转换为比特币后的价格。因为这决定着挖矿活动的营利性,也因此刺激着人们选择进入或退出挖矿市场。 8.8 成功构建区块 8.9 校验新区块 比特币共识机制的第三步是通过网络中的每个节点独立校验每个新区块。当新区块在网络中传播时,每一个节点在将它转发到其节点之前,会进行一系列的测试去验证它。这确保了只有有效的区块会在网络中传播。独立校验还确保了诚实的矿工生成的区块可以被纳入到区块链中,从而获得奖励。行为不诚实的矿工所产生的区块将被拒绝,这不但使他们失去了奖励,而且也浪费了本来可以去寻找工作量证明解的机会,因而导致其电费亏损。 当一个节点接收到一个新的区块,它将对照一个长长的标准清单对该区块进行验证,若没有通过验证,这个区块将被拒绝。这些标准可以在比特币核心客户端的 CheckBlock 函数和 CheckBlockHead 函数中获得,它包括: ▷ 区块的数据结构语法上有效 ▷ 区块头的哈希值小于目标难度(确认包含足够的工作量证明) ▷ 区块时间戳早于验证时刻未来两个小时(允许时间错误) ▷ 区块大小在长度限制之内 ▷ 第一个交易(且只有第一个)是 coinbase 交易 ▷ 使用检查清单验证区块内的交易并确保它们的有效性,本书 177 页 ▷ “交易的独立校验”一节已经讨论过这个清单。 每一个节点对每一个新区块的独立校验,确保了矿工无法欺诈。在前面的章节中,我们看到了矿工们如何去记录一笔交易,以获得在此区块中创造的新比特币和交易费。为什么矿工不为他们自己记录一笔交易去获得数以千计的比特币?这是因为每一个节点根据相同的规则对区块进行校验。一个无效的coinbase 交 易将使整个区块无效,这将导致该区块被拒绝,因此,该交易就不会成为总账的一部分。矿工们必须构建一个完美的区块,基于所有节点共享的规则,并且根据正确 工作量证明的解决方案进行挖矿,他们要花费大量的电力挖矿才能做到这一点。如果他们作弊,所有的电力和努力都会浪费。这就是为什么独立校验是去中心化共识 的重要组成部分。 8.10 区块链的组装与选择 比特币去中心化的共识机制的最后一步是将区块集合至有最大工作量证明的链中。一旦一个节点验证了一个新的区块,它将尝试将新的区块连接到到现存的区块链,将它们组装起来。 节点维护三种区块:第一种是连接到主链上的,第二种是从主链上产生分支的(备用链),最后一种是在已知链中没有找到已知父区块的。在验证过程中,一旦发现有不符合标准的地方,验证就会失败,这样区块会被节点拒绝,所以也不会加入到任何一条链中。 8.10.1 区块链分叉 比特币将区块间隔设计为 10 分钟,是在更快速的交易确认和更低的分叉概率间作出的妥协。更短的区块产生间隔会让交易清算更快地完成,也会导致更加频繁地区块链分叉。与之相对地,更长的间隔会减少分叉数量,却会导致更长的清算时间。 8.11 挖矿和算力竞赛 比特币挖矿是一个极富竞争性的行业。自从比特币存在开始,每年比特币算力都成指数增长。一些年份的增长还体现出技术的变革, 比如在 2010 年和 2011年,很多矿工开始从使用 CPU 升级到使用 GPU,进而使用 FGPA(现场可编程门阵列)挖矿。在 2013 年,ASIC 挖矿的引入,把 SHA256 算法直接固化在挖矿专用的硅芯片上,引起了算力的另一次巨大飞跃。一台采用这种芯片的矿机可以提供的算力,比 2010 年比特币网络的整体算力还要大。 摩尔定律指出计算能力每 18 个月增加一倍。尽管如此,随着更高密度的芯片和数据中心的部署竞赛,网络算力继续保持同步的指数增长。现在的竞争已经不再是比较单一芯片的能力,而是一个矿场能塞进多少芯片,并处理好散热和供电问题。 8.11.1 随机值升位方案 2012 年以来,比特币挖矿发展出一个解决区块头基本结构限制的方案。 8.11.2 矿池 在这个激烈竞争的环境中,个体矿工独立工作(也就是 solo 挖矿)没有一点机会。他们找到一个区块以抵消电力和硬件成本的可能性非常小,以至于可以称得上是赌博,就像是买彩票。就算是最快的消费型 ASIC 也不能和那些在巨大机房里拥有数万芯片并靠近水电站的商业矿场竞争。现在矿工们合作组成矿池,汇集数以千计参与者们的算力并分享奖励。通过参加矿池,矿工们得到整体回报的一小部分,但通常每天都能得到,因而减少了不确定性。 矿池通过专用挖矿协议协调成百上千的矿工。个人矿工在建立矿池账号后,设置他们的矿机连接到矿池服务器。 他们的挖矿设备在挖矿时保持和矿池服务器的连接,和其他矿工同步各自的工作。这样,矿池中的矿工分享挖矿任务,之后分享奖励。 8.11.2.1 托管矿池 大部分矿池是“托管的”,意思是有一个公司或者个人经营一个矿池服务器。矿池服务器的所有者叫矿池管理员, 同时他从矿工的收入中收取一个百分比的费用。 8.11.2.2 P2P 矿池 托管矿池存在管理人作弊的可能,管理人可以利用矿池进行双重支付或使区块无效。此外,中心化的矿池服务器代表着单点故障。如果因为拒绝服务攻击服务器挂了或者被减慢,池中矿工就不能采矿。在2011 年,为了解决由中心化造成的这些问题,提出和实施了一个新的矿池挖矿方法。P2Pool 是一个点对点的矿池,没有中心管理人。 P2Pool 通过将矿池服务器的功能去中心化,实现一个并行的类似区块链的系统,名叫份额链。一个份额链是一个难度低于比特币区块链的区块链系统。 8.12 共识攻击 比特币的共识机制指的是,被矿工(或矿池)试图使用自己的算力实行欺骗或破坏的难度很大,至少理论上是这样。就像我们前面讲的,比特币的共识机制依赖于这样一个前提,那就是绝大多数的矿工,出于自己利益最大化的考虑,都会通过诚实地挖矿来维持整个比特币系统。然而,当一个或者一群拥有了整个系统中大量算力的矿工出现之后, 他们就可以通过攻击比特币的共识机制来达到破坏比特币网络的安全性和可靠性的目的。 第 9 章 竞争币、 竞争块链和应用程序 比特币是 20 多年的分布式系统和货币研究的结果,是一项具有革命性的新技术:一种基于工作量证明的去中心化的一致性机制。这项比特币的核心发明引领了一场包括货币体系、金融服务、经济学、分布式系统、投票系统、联合监管和合同体系在内的创新浪潮。 本章将探讨比特币和区块链的发明的衍生物:2009 年比特币诞生以来所涌现出来的竞争币、竞争块链和应用程序。大部分篇幅将要探讨竞争币(alt coin) ,这些电子货币有着与比特币相似的的构建模式出来的, 但它们完全独立地运行在自己的网络和块链系统之上。 9.1 竞争币和竞争块链的分类 比特币是一个开源项目,其源代码也作为其他的一些软件项目的基础。由比特币衍生出来的最常见的形式,就是替代性去中心化货币,简称“竞争币”,这类货币使用跟比特币同样的创建块链的方式来实现自己的电子货币系统。在比特币的块链上层,可以实现一系列的协议层。元币、元块链或者块链应用程序以块链为平台,或通过增加协议层的方式扩展比特币协议。如彩色币,万事达币以及合约币。 9.2 元币平台 元币和元块链是在比特币之上实现的软件层,也可以认为是覆盖在比特币系统之上的平台/协议,或者是在一个币中币的实现。这些功能层拓展了核心比特币 协议,使得在比特币交易和比特币地址中编码附加信息成为可能。元币的第一个实现利用了大量的 hack 技巧把元数据添加到比特币块链中,比如使用比特币地址编码数据,或者利用空白的交易字段存放新协议层增加的这些元数据。自从交易脚本操作码问世之后,元币 得以直接将信息存放在块链之中。 9.2.1 染色币 染色币是一种在少量比特币上存储信息的一种元协议。一个“被染色的”币,是一定数额的重新用于表达另一种资产的比特币。 9 .2.2 万事达币 万事达币是另一个建立在比特币之上的协议,该协议支持多个平台对比特币系统的扩展。万事达币使用名为 MST 的代币来指导交易,但它并不是一种通货。相反的,它服务于其他应用平台,比如用户货币,智能财产代币,去中心化的财产交易和合约系统等等。就像 HTTP 协议是 TCP 协议的应用层一 样,Mastercoin 是比特币协议的应用层协议。 9.2.3 合约币 合约币是另一个建立在比特币系统之上的协议层。合约币拥有用户货币、可交易代币、金融手段、去中心化财产交易和其他一些功能。合约币利用比特币脚本语言中的 OP_RETURE 操作符记录元信息来增加比特币交易的额外信息。合约币使用名为 XCP 的代币维持整个系统的运行。 9.3 竞争币/山寨币 绝大多数的山寨币都来自比特币源代码的克隆,少数则没有使用比特币的任何源码,仅仅是借鉴了块链的模型后自己实现。竞争币或竞争块链(下一节会讲到)都是运行在自己块链上的独立的块链实现。之所以以命名区分,主要是因为竞争币主要用做货币,而竞争块链则不是。 严格意义上讲,比特币的第一个克隆并不是一个竞争币而是一个名为Namecoin 的竞争块链,我们将在下一节讨论。 莱特币 8,400 万的货币总量和相对更快的确认速度,很多莱特币的拥趸相信与比特币相 比,莱特币更适合零售业的交易。 下面所列出的就是这些竞争币区别 于比特币的三点主要不同: ▷ 货币策略不同 ▷ 基于工作量证明的一致性机制不同 ▷ 一些特殊的功能,比如更强的匿名性等等 9.3.1 评估竞争币的价值 以下是关于竞争币和比特币的不同之处的几个问题: ▷ 这款竞争币有没有引入重大的创新? ▷ 如果有,那么这项创新是不是足够吸引使用比特币的用户转移过来? ▷ 这款竞争币是不是致力于某一细分领域或应用? ▷这款竞争币可以吸引到足够多的矿工来抵御一致性攻击吗? 还有一些有关关键财务和市场指标的问题: ▷ 这款竞争币的市场总值是多少? ▷ 整个系统的用户/钱包规模大概是多少? ▷ 接受其支付的商家有多少? ▷ 整个系统每日的交易数是多少? ▷ 交易总量是多少? 9.3.2 货币属性不同于比特币的竞争币: 莱特币、 狗狗币和 Freicoin 比特币本身所具有的一些货币属性令其成为总额固定并且不通货膨胀的货币。比如,比特币的总量为固定的 2,100 万枚,新币的生成速度随时间递减,块生成速度为十分钟一块, 这个频率也控制了整个比特币系统交易的确认速度和新币的生成。很多竞争币通过对这些货币属性的微调,来达到实现不同的货币政策的目的。在这类竞争币中,值得一提的有以下几种。 莱特币 莱特币是最早的一批竞争币中的一员,自 2011 年发布至今,已经成为继比特币之后的第二成功的电子货币。它的主要创新在于两点,一是使用了 scrypt 作为工作量证明算法(继承自前文提到的 Tenebrix),二是更快的货币参数。 ▷ 出块速度:2 分半 ▷ 货币总量:到 2140 年达到 8,400 万 ▷ 一致性算法:scrypt ▷ 市场总值:1 亿 6,000 万美金(截至 2014 年年中) 狗狗币 狗狗币是基于莱特币的一款竞争币,于 2013 年 12 月发布。狗狗币之所以值得一提,主要是因为其飞快的出块速度和惊人的货币总量,其目的也是为了励用户交易和给小费等。狗狗币始于一个玩笑,在其 2014 年快速衰退之前,经发布就风行于巨大而活跃的用户社区。下面是 狗狗币的一些特性: ▷ 出块速度:60 秒 ▷ 货币总量:到 2015 年达到 100,000,000,000(1,000 亿) ▷ 一致性算法:scrypt ▷ 市场总值:1,200 万美金(截至 2014 年年中) Freicoin Freicoin 于 2012 年 7 月发布。它是一种滞留性通货,可以理解为存在钱中的货币的利率为负数。为了鼓励用户消费和减少储 蓄,Freicoin 拟定了一个4.5%的 APR fee。Freicoin 值得一提的原因是它的货币策略跟比特币的通货紧缩策略恰恰相反。作为货币,Freicoin 并不是非常成功,但它是竞争币所能表的多样性货币策略的生动体现。 ▷ 出块速度:10 分钟 ▷ 货币总量:到 2140 年达到 1 亿 ▷ 一致性算法:SHA256 ▷ 市场总值:13 万美金(截至 2014 年年中) 9.3.3 一致性机制创新 peercoin,Myriad,Blackcoin,vericoin 和 NXT 比特币的一致性机制建立在基于 SHA256 算法的工作量证明之上。第一款引入 scrypt 算法作为一致性机制的竞争币是为了便于 CPU 挖矿,避免 ASIC 矿机可能导致的算力集中化的问题。在那之后,对于一致性机制的创新一直很活跃。诸多竞争币陆续引进了包括 scrypt,scrypt-N, Skein, Groestl, SHA3, X11, Blake 在内的算法来实现工作量证明的一致性机制。而在 2013 年,作为工作量证明的一种替代机制——权益证明的出现,成为现代竞争币的基础。 9.3.4 多目的挖矿创新 Primecoin, Curecoin, Gridcoin 比特币的工作量证明机制只有一个目的:维护比特币系统的安全。跟维护一个传统货币系统比起来,挖矿的成本并不高。然而,某些批评者认为某些批评者认 为挖矿这一行为是一种浪费。新一代的加密货币试图解决这个争议。多目的挖矿算法就是为了解决工作量证明导致的“浪费”问题而出现的。多目的挖矿在为货币系 统的安全加入额外需求的同时,也为该系统的供需关系加入了额外的变量。 9.3.5 致力于匿名性的竞争币 CryptoNote, Bytecoin, Monero, Zerocash/Zerocoin, Darkcoin 比特币一直被误解为匿名货币。事实上,将个人和比特币地址关联起来,是一件相对容易的事情。利用大数据分析可以很容易地得到某一比特币地址的消费习 惯。一些竞争币试图通过增强匿名性来解决这个问题。最初尝试的是 Zerocoin,它是一种建立在比特币协议之上的元币协议, 最早发布于 2013 IEEE 安全隐私讨论会上。截至本书完稿时,基于这个协议的 Zerocash 的竞争币系统还在开发当中。匿名性的另一种实现名为 CryptoNote,初 见于 2013 年 10 月的一篇论文。CryptoNote 是一种由多个竞争币一起实现的基础技术,稍后将重点讨论。除了上述两种实现之外,还有一些其他的独 立的匿名币,比如利用影子地址和交易混淆来达到匿名性目的的 Darkcoin。 Zerocoin/Zerocash Zerocoin 是 2013 年由 Johns Hopkins 发表的电子货币匿名性的一种理论实现。截至本书完稿时,基于这一理论的 Zerocash 的竞争币系统还在开发当中。 9.4 非货币型竞争区块链 非货币型竞争币区块链是区块链设计模式的另类实现,并不主要作为货币使用。当然不少这种区块链的确含有货币,只不过它们的货币仅是一种象征,用于分配其他东西,比如一种资源或者一份合约。换句话说,货币并不是非货币型竞争币区块链的要点,仅仅是一种次要特征。 9.4.1 域名币 域名币是比特币源代码的首个克隆产物,它是一种使用区块链的去中心化平台,用来注册和转让键-值对。域名币支持全球的域-名注册,类似因特网上的域 -名注册系统。目前域名币作为根域名.bit 的替代性域名服务(DNS)使用。域名币也可以用来注册其他命名空间下的名称和键-值对,例如存储邮件地址、密钥、SSL 证书、文件签名、投票系统和股票凭证之类,以及许多其他应用。 9.4.2 Bitmessage Bitmessage 是一个实现了去中心化安全消息服务的比特币竞争币区块链,其本质上是一个无服务器的加密电子邮件系统。 9.4.3 以太坊 以太坊是一种图灵完备的平台,基于区块链账簿,用于合约的处理和执行。它不是比特币的一个克隆,而是完完全全独立的一种设计和实现。以太坊内置一种叫做 ether 的货币,该货币是付合约执行之费用所必须的。以太坊区块链记录的东西叫做合约,所谓合约,就是一种低级二进制码,也是一种图灵完备语言。本质上,合约其实是运行在以太坊系统中各个节点上的程序。这些程序可以存储数据、支付及收取、存储 ether 以及执行无穷范围(因此才叫图灵完备)的计算行为,在系统中充当去中心化的自治软件代理。 以太坊能够实现一些颇为复杂的系统, 这些系统甚至还能自我实现为其他的竞争币区块链。举例来说,下面就是一个类域名币的域名注册合约,使用以太坊代码编写(或者更准确地说,使用一种可编译为以太坊代码的高级代码编写): 9.5 加密货币的未来 总体来看,加密货币的未来甚至比特币还要光明。这是因为,比特币引入了这样一种全新的形式,那就是去中心化的组织和共识,而且这种形式已经催生了大量不可思议的创新。这些创新很有可能影响到社会中相当广泛的行业,从分布式系统科学到金融、经济、货币、中央银行以及企业管理,不一而足。在以前,很多人类活动都需要一个中心化的机构或组织来实现权威或可信控制点的功能,现在,这些都可以去中心化了。区块链和共识系统的发明,还会显著降低大型系统在组织及协调上的花销,同时也将消除权力攫取、腐败及管制俘获的可趁之机。 第 10 章 比特币安全 保护比特币是很具有挑战性的事,因为比特币不像银行账户余额那样体现抽象价值。比特币其实更像数字现金或黄金。你可能听过这样的说法,“现实持有,败一胜九。”好吧,在比特币的世界里,这样的持有只能让你有一成胜率。而只有拥有解锁比特币的密钥才相当于持有现金或一块贵重金属。 你可能会将密钥丢失,会放错地方,会被盗或者不小心错支了数额。无论是哪种场景,用户都没有办法撤回,因为这就像是将现金丢在了车水马龙的大街上。不过,与现金、黄金或者银行账户相比,比特币有着一个独一无二的优势。你不能“备份”你的现金、黄金或者银行账户,但你可以像备份其他文件一样,备 份含有密钥的比特币钱包。它可以被复制成很多份,放到不同的地方保存起来,甚至能打印到纸上进行实体备份。比特币与至今为止的其他货币是如此不同,以致于 我们需要以一种全新的思维方式来衡量比特币的安全性。 10.1 安全准则 比特币的核心准则是去中心化,这一点对安全性具有重要意义。在中心化的模式下,例如传统的银行或支付网络,需要依赖于访问控制和审查制度将不良行为者拒之门外。相比之下,比特币这样的去中心化系统则将责任和控制权都移交给了用户。由于网络的安全性是基于工作量证明而非访问控制,比特币网络可以对所有 人开放,也无需对比特币流量进行加密。 比特币则截然不同,一笔比特币交易只授权向指定接收方发送一个指定数额,并且不能被修改或伪造。它不会透露任何个人信息,例如当事人的身份,也不能用于权限外的支付。因此,比特币的支付网络并不需要加密或防窃听保护。事实上,你可以在任何公开的网络上广播比特币交易的数据,例如在不安全的WiFi 或蓝牙网络上公开传播比特币交易的数据,这对安全性没有任何影响。 比特币的去中心化安全模型很大程度上将权力移交到用户手上,随之而来的是用户们保管好密钥的责任。 这对于大多数用户来说并非一件易事,特别是在像智能手机或笔记本电脑这种能能时刻联网的通用设备上。虽然比特币的去中心化模型避免了常见的信用卡盗用等情况,但很多用户由于无法保管好密钥从而被黑客攻击。 10.1.1 比特币系统安全开发 对于比特币开发者而言最重要的是去中心化原则。大多数开发者对中心化的安全模型很熟悉,并可能试图将中心化的模型运用到借鉴比特币的应用中去,这将给比特币带来灭顶之灾。 比特币的安全性依赖于密钥的分散性控制,并且需要矿工们各自独立地进行交易验证。如果你想利用好比特币的安全性,你需要确保自己处于比特币的安全模型里。简而言之,不要将用户的密钥控制权拿走,不要接受非区块链交易信息。 例如,许多早期的比特币交易所将所有用户的资金集中在一个包含着私钥的“热钱包”里,并存放在服务器上。这样的设计夺取了用户的掌控权,并将密钥集中到单个系统里。很多这样的系统都被黑客攻破了,并给客户带来灾难性后果。 另一个常见的错误是接受区块链离线交易,妄图减少交易费或加速交易处理速度。一个“区块链离线交易”系统将交易数据记录在一个内部的中心化账本上,然后偶尔将它们同步到比特币区块链中。这种做法,再一次,用专制和集中的方式取代比特币的去中心化安全模型。当数据处于离线的区块链上的时候,保护不当的 中心化账本里的资金可能会不知不觉被伪造、被挪用、被消耗。 除非你是准备大力投资运营安全,叠加多层访问控制,或(像传统的银行那样)加强审计,否则在将资金从比特币的去中心化安全场景中抽离出来之前,你应该慎重考虑一番。即使你有足够的资金和纪律去实现一个可靠的安全模型,这样的设计也仅仅是复制了一个脆弱不堪,深受账户盗窃威胁、贪污和挪用公款困扰的传 统金融网络而已。要想充分利用比特币特有的去中心化安全模型,你必须避免中心化架构的常见诱惑,因它最终将摧毁比特币的安全性。 10.1.2 信任根源 比特币的安全体系与这不同。在比特币里,共识系统创建了一个可信的完全去中心化的公开账本,一个正确验证过的区块使用创世块作为信任的根源,建立一条直至当前区块的可信任链。比特币系统可以并应该使用区块链作为它们的信任根源。在设计一个多系统服务机制的比特币应用时,你应该仔细确认安全体系,以确保对它的信任能有据可依。最终,唯一可确信无疑的是一条完全有效的区块链。如果你的应用程序或明或暗地信赖于区块链以外的东西,就该引起重视,因为它可能会引入漏洞。一个不错的方法评估你应用程序的安全体系:单独考量每个组件,设想该组件被完全攻破并被坏人掌控的场景。依次取出应用程序的每个组件,并评估 它被攻破时对整体安全的影响。如果你的应用程序的安全性在该组件沦陷后大打折扣,那就说明你已经对这些组件过度信任了。一个没有漏洞的比特币应用程序应该 只受限于比特币的共识机制,这意味着其安全体系的信任源于比特币最坚固的部分。 10.2 用户最佳安全实践 人类使用物理的安全控制已经有数千年之久。相比之下,我们的数字化安全经验的年纪还不满 50 岁。现代通用的操作系统并不是十分安全,亦不特别适合用来存储数字货币。我们的电脑通过一直连接的互联网长时间暴露在外,它们运行着成千上万第三方软件组件,这些软件往往可以不受约束地访问用户的文件。你电脑 上安装的众多软件只要有一个恶意软件,就会威胁到你的文件,可窃取你钱包里的所有比特币。想要杜绝病毒和木马对电脑的威胁,用户要达到一定的计算机维护水平,只有小部分人能做到。 比特币创造了具有内在价值的数字资产,它可以被窃取,并立即转移给他人而无法撤回。这让黑客有了强烈的作案动机。 幸运的是,比特币也有着激励机制,以提高计算机的安全性。如前所述,计算机受威胁的风险是模糊的,间接的,而比特币让这些风险变得明确清晰。在电脑上保存比特币让用户时刻注意他们需要提高计算机的安全性,结果便是这使得比特币和其它数字货币得以传播和扩散,我们已经看到在黑客技术和安全解决方案双方的提升。简单来说,黑客现在有着一个非常诱人的目标,而用户也有明确的激励性去保卫自己。 在过去的三年里,随着比特币不断被接纳,一个直接的结果是,我们已经看到信息安全领域取得了巨大创新,例如硬件加密,密钥存储和硬件钱包,多重签名技术和数字托管。在下面的章节中,我们将研究各种实际用户安全中的实践经验。 10.2.1 比特币物理存储 相比数字信息的安全,大多数用户对物理安全更加熟悉,一个非常有效保护比特币的方法是,将它们转换为物理形式。比特币密钥不过是串长数字而已。这意味着它们可以以物理形式存储起来,如印在纸上或蚀刻成金属硬币上。这样保护密钥就变成了简单地保护印着比特币密钥的物理实体。一组打印在纸上的比特币密钥被称为“纸钱包”,有许多可以用来创建它们的免费工具。我个人将大部分(99%以上)的比特币存储在纸钱包上,并用 BIP0038 加密,复制了多份并锁在保险箱里。将比特币离线保存被称为冷存储,它是最有效的安全技术 之一。冷存储系统是在一个离线系统(一个从来没有连接过互联网的系统)上生成密钥,并离线存储到纸上或者 U 盘等电子媒介。 10.2.2 硬件钱包 从长远来看,比特币安全将越来越多地以硬件防篡改钱包的形式出现。与智能手机或台式电脑不同,一个比特币硬件钱包只有一个目的, 安全地存储比特币。不像容易受害的常用软件那样,硬件钱包只提供了有限的接口,从而可以给非专业用户提供近乎万无一失的安全等级。我预期将看到硬件钱包成为比特币储存的主要方式。要想看硬件钱包的实例,请查阅 Trezor。 10.2.3 平衡风险 虽然大多数用户都非常关注比特币防盗,其实还有一个更大的风险存在。数据文件丢失的情况时有发生。如果比特币的数据也在其中,损失将会让人痛苦不堪。为了保护好比特币钱包,用户必须非常注意不要剑走偏锋,这样不至于会搞丢比特币。 在 2011 年 7 月,一个著名的比特币认知教育项目损失了近 7,000 枚比特币。为了防止被盗窃,其主人曾之前采取了一系列复杂的操作去加密备份。结果他们不慎丢失了加密的密钥,使得备份变得毫无价值,白白失去了一大笔财富。如果你保护比特币的方式太过了,这好比于把钱藏在沙漠里,你可能不能再把它找回来了。 10.2.4 分散风险 你会将你的全部家当换成现金放在钱包里随身携带么?大多数人会认为这非常不明智,但比特币用户经常会将所有的比特币放在一个钱包里。用户应该将风险分散到不同类型的比特币钱包。审慎的用户应该只留一小部分(或许低于5%)的比特币在一个在线的或手机钱包,就像零用钱一样,其余的部分应该采用不同存储机制分散开来,诸如电脑钱包和离线(冷存储)钱包。 10.2.5 多重签名管理 当一个公司或个人持有大量比特币时,他们应该考虑采用多重签名的比特币地址。多重签名比特币地址需要多个签名才能支付,从而保证资金的安全。多重签名的密钥应存储在多个不同的地方,并由不同的人掌控。打个比方,在企业环境中,密钥应该分别生成并由若干公司管理人员持有,以确保没有任何一个人可以独自占有资金。多重签名的地址也可以提供冗余,例如一个人持有多个密钥,并将它们分别存储在不同的地方。 10.2.6 存活能力 一个非常重要却又常常被忽视的安全性考虑是可用性,尤其是在密钥持有者丧失工作能力或死亡的情况下。比特币的用户被告知应该使用复杂的密码,并保证他们的密钥安全且不为他人所知。不幸的是,这种做法使得在用户无法解锁时,用户的家人几乎无法将该财产恢复。事实上,比特币用户的家人可能完全不知道这笔比特币资金的存在。如果你有很多的比特币, 你应该考虑与一个值得信赖的亲属或律师分享解密的细节。一个更复杂的比特币生还计划,可以通过设置多重签名,做好遗产规划,并通过专门的“数字资产执行者”律师处理后事。 10.3 总结
json metadata{"tags":["cn","reading","blockchain","bitcoin"],"links":["http://zhibimo.com/books/wang-miao/mastering-bitcoin"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #14932496/Trx 7082afa267e276523ee06091d8840c331bf419f7
View Raw JSON Data
{
  "trx_id": "7082afa267e276523ee06091d8840c331bf419f7",
  "block": 14932496,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:18:18",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "cn",
      "author": "chenchun",
      "permlink": "3bvz9j-1",
      "title": "比特币、区块链读书笔记1《精通比特币》第三部分",
      "body": "《精通比特币》作者:Andreas M.Antonopoulos。\n本书下载地址:http://zhibimo.com/books/wang-miao/mastering-bitcoin\n翻译:薄荷凉幼;陈萌琦;陈姝吉;程鹏;程西园;达文西;吉鸿帆;李丹;李润熙;李凌豪;李昕阳;刘畅;吕新浩;马峰;牛东晓;秦彤;邱頔;邱蒙;戎如香;史磊;汪海波;王宏钢;辛颖;杨兵;尹文东;余龙;张林;张琦张大嫂;张亚超;张泽铭;赵冬帅;赵\n余;YANG YANG。\n\n第 8 章 挖矿与共识\n8.1 简介\n挖矿是增加比特币货币供应的一个过程。挖矿同时还保护着比特币系统的安全,防止欺诈交易,避免“双重支付”,“双重支付”是指多次花费同一笔比特币。矿工们通过为比特币网络提供算力来换取获得比特币奖励的机会。\n\n矿工们验证每笔新的交易并把它们记录在总帐簿上。每 10 分钟就会有一个新的区块被“挖掘”出来,每个区块里包含着从上一个区块产生到目前这段时间内发生的所有交易,这些交易被依次添加到区块链中。我们把包含在区块内且被添加到区块链上的交易称为“确认”交易,交易经过“确认”之后,新的拥有者才能够花费他在交易中得到的比特币。\n\n矿工们在挖矿过程中会得到两种类型的奖励:创建新区块的新币奖励,以及区块中所含交易的交易费。为了得到这些奖励,矿工们争相完成一种基于加密哈希算法的数学难题,这些难题的答案包括在新区块中,作为矿工的计算工作量的证明,被称为”“工作量证明”。该算法的竞争的机制以及获胜者有权在区块链上进行交易记录的机制,这二者比特币安全的基石。\n\n新比特币的生成过程被称为挖矿是因为它的奖励机制被设计为速度递减模式,类似于贵重金属的挖矿过程。比特币的货币是通过挖矿发行的,类似于中央银行通过印刷银行纸币来发行货币。矿工通过创造一个新区块得到的比特币数量大约每四年(或准确说是每隔 210,000 个块)减少一半。开始时为 2009 年 1月每个区块奖励 50 个比特币,然后到 2012 年 11 月减半为每个区块奖励 25个比特币。之后将在 2016 年的某个时刻再次减半为每个新区块奖励 12.5 个比特币。基于这个公式,比特币挖矿奖励以指数方式递减,直到 2140 年。届时所有的比特币(20,999,999,980)全部发行完毕。换句话说在 2140 年之后,不会再有新的比特币产生。\n矿工们同时也会获取交易费。每笔交易都可能包含一笔交易费,交易费是每笔交易记录的输入和输出的差额。在挖矿过程中“挖出”新区块的矿工获胜者可以得到该区块中包含的所有交易“小费”。目前,这笔费用占矿工收入的 0.5%或更少,大部分收益仍来自挖矿所得的比特币奖励。然而随着挖矿奖励的递减,以及每个区块中包含的交易数量增加,交易费在矿工收益中所占的比重将会逐渐增加。在 2140 年之后,所有的矿工收益都将由交易费构成。\n\n“挖矿”这个词有一定的误导性。它容易引起对贵重金属采矿的的联想,从而使我们的注意力都集中在每个新区块产生的奖励上。尽管挖矿带来的奖励是一种激励,但它最主要的目的并不是奖励本身或者新币的产生。如果只把挖矿看作生产新币的过程,那你是把手段(激励措施)当成了目的。挖矿是一种将结算所去中心化的过程,每个结算所对处理的交易进行验证和结算。挖矿保护了比特币系统的安全,并且实现了在没有中心机构的情况下,也能使整个比特币网络达成共识。\n\n挖矿这个发明使比特币变得很特别,这种去中心化的安全机制是点对点的电子货币的基础。铸造新币的奖励和交易费是一种激励机制,它可以调节矿工行为和网络安全,同时又完成了比特币的货币发行。\n在本章中,我们先来审视比特币的货币发行机制,然后再来了解挖矿的最重要的功能:支撑比特币安全的去中心化的自发共识机制。\n\n8.1.1 比特币经济学和货币创造\n通过创造出新区块,比特币以一个确定的但不断减慢的速率被铸造出来。大约每十分钟产生一个新区块, 每一个新区块都伴随着一定数量从无到有的全新比特币。每开采 210,000 个块,大约耗时 4 年,货币发行速率降低 50%。在比特币运行的第一个四年中,每个区块创造出 50 个新比特币。\n\n2012 年 11 月,比特币的新发行速度降低到每区块 25 个比特币,并且预计会在 2016 年的某个时刻, 在第 420,000 个区块被 “挖掘” 出来之后 降低到 12.5比特币/区块。在第 13,230,000 个区块(大概在 2137 年被挖出)之前,新币的发行速度会以指数形式进行 64 次“二等分”。到那时 每区块发行比特币数量变为比特币的最小货币单位——1 聪。最终,在经过 1,344 万个区块之后,所有的共 2,099,999,997,690,000 聪比 特币将全部发行完毕。换句话说,到 2140年左右,会存在接近 2,100 万比特币。在那之后, 新的区块不再包含比特币奖励,矿工的收益全部来自交易费。\n\n总量有限并且发行速度递减创造了一种抗通胀的货币供应模式。法币可被中央银行无限制地印刷出来,而比特币永远不会因超额印发而出现通胀。\n\n通货紧缩货币\n最重要并且最有争议的一个结论是一种事先确定的发行速率递减的货币发行模式会导致货币通货紧缩(简称通缩)。通缩是一种由于货币的供应和需求不匹配导致的货币增值的现象。它与通胀相反,价格通缩意味着货币随着时间有越来越强的购买力。\n\n8.2 去中心化共识\n在上一章中我们了解了区块链。可以将区块链看作一本记录所有交易的公开总帐簿(列表),比特币网络中的每个参与者都把它看作一本所有权的权威记录。但在不考虑相信任何人的情况下, 比特币网络中的所有参与者如何达成对任意一个所有权的共识呢?所有的传统支付系统都依赖于一个中心认证机构,依靠中心机构提供的结算服务来验证并处理所有的交易。比特币没有中心机构,几乎所有的完整节点都有一份公共总帐的备份,这份总帐可以被视为认证过的记录。区块链并不是由一个中心机构创造的,它是由比特币网络中的所有节点各自独立竞争完成的。换句话说比特币网络中的所有节点,依靠着节点间的不稳定的网络连接所传输的信息,最终得出同样的结果并维护了同一个公共总帐。这一章将介绍比特币网络不依靠中心机构而达成共识的机制。\n\n中本聪的主要发明就是这种去中心化的自发共识机制。这种自发,是指没有经过明确选举或者没有固定达成的共识的时间。换句话说,共识是数以千计的独立节点遵守了简单的规则通过异步交互自发形成的产物。所有的比特币属性,包括货币、交易、支付以及不依靠中心机构和信任的安全模型等都是这个机制的衍生物。比特币的去中心化共识由所有网络节点的 4 种独立过程相互作用而产生:\n▷ 每个全节点依据综合标准对每个交易进行独立验证\n▷ 通过完成工作量证明算法的验算,挖矿节点将交易记录独立打包进新区块,\n▷ 每个节点独立的对新区块进行校验并组装进区块链\n▷ 每个节点对区块链进行独立选择,在工作量证明机制下选择累计工作量最大的区块链\n在接下来的几节中,我们将审视这些过程,了解它们之间如何相互作用并达成全网的自发共识,从而使任意节点组合出它自己的权威、可信、公开的总帐。\n\n8.3 交易的独立校验\n在第 5 章中,我们知道了钱包软件通过收集 UTXO、提供正确的解锁脚本、构造支付给接收者的输出这一系列的方式来创建交易。 产生的交易随后将被发送到比特币网络临近的节点,从而使得该交易能够在整个比特币网络中传播。然而,在交易传递到临近的节点前,每一个收到交易的比特币节点将会首先验证该交易,这将确保只有有效的交易才会在网络中传播,而无效的交易将会在第一个节点处被废弃。\n\n每一个节点在校验每一笔交易时,都需要对照一个长长的标准列表:\n▷交易的语法和数据结构必须正确。\n▷输入与输出列表都不能为空。\n▷交易的字节大小是小于 MAX_BLOCK_SIZE 的。\n▷每一个输出值,以及总量,必须在规定值的范围内 (小于 2,100 万个币,大于 0)。\n▷没有哈希等于 0,N 等于-1 的输入(coinbase 交易不应当被中继)。\n▷nLockTime 是小于或等于 INT_MAX 的。\n▷交易的字节大小是大于或等于 100 的。\n238\n▷交易中的签名数量应小于签名操作数量上限。\n▷解锁脚本(scriptSig)只能够将数字压入栈中,并且锁定脚本(scriptPubkey)\n必须要符合 isStandard 的格式 (该格式将会拒绝非标准交易)。\n▷池中或位于主分支区块中的一个匹配交易必须是存在的。\n▷对于每一个输入,如果引用的输出存在于池中任何的交易,该交易将被拒绝。\n▷对于每一个输入,在主分支和交易池中寻找引用的输出交易。如果输出交易缺\n少任何一个输入,该交易将成为一个孤立的交易。如果与其匹配的交易还没有出\n现在池中,那么将被加入到孤立交易池中。\n▷对于每一个输入,如果引用的输出交易是一个 coinbase 输出,该输入必须至\n少获得 COINBASE_MATURITY (100)个确认。\n▷对于每一个输入,引用的输出是必须存在的,并且没有被花费。\n▷使用引用的输出交易获得输入值, 并检查每一个输入值和总值是否在规定值的范围内 (小于 2100 万个币,大于 0)。\n▷如果输入值的总和小于输出值的总和,交易将被中止。\n▷如果交易费用太低以至于无法进入一个空的区块,交易将被拒绝。\n▷每一个输入的解锁脚本必须依据相应输出的锁定脚本来验证。\n这些条件能够在比特币标准客户端下的 AcceptToMemoryPool、CheckTransaction 和 CheckInputs 函数中获得更详细的阐述。请注意,这些条件会随着时间发生变化,为了处理新型拒绝服务攻击,有时候也为交易类型多样\n化而放宽规则。\n在收到交易后,,每一个节点都会在全网广播前对这些交易进行校验,并以接收时的相应顺序,为有效的新交易建立一个池(交易池)。\n\n\n8.4 挖矿节点\n在比特币网络中,一些节点被称为专业节点矿工。\n新区块并不仅仅是象征着竞赛结束的方格旗;它也是下一个区块竞赛的发令枪。\n\n8.5 整合交易至区块\n验证交易后,比特币节点会将这些交易添加到自己的内存池中。内存池也称作交易池,用来暂存尚未被加入到区块的交易记录。与其他节点一样,Jing 的节点会收集、验证并中继新的交易。而与其他节点不同的是,Jing 的节点会把这些交易整合到一个候选区块中。\n\n8.5.1 交易块龄, 矿工费和优先级\nJing 的比特币节点需要为内存池中的每笔交易分配一个优先级,并选择较高优先级的交易记录来构建候选区块。交易的优先级是由交易输入所花费的UTXO 的“块龄”决定,交易输入值高、“块龄”大的交易比那些新的、输入值\n\n小的交易拥有更高的优先级。如果区块中有足够的空间,高优先级的交易行为将不需要矿工费。\n交易的优先级是通过输入值和输入的“块龄”乘积之和除以交易的总长度得到的:\n\nUTXO 的“块龄”是自该 UTXO 被记录到区块链为止所经历过的区块数,即这个 UTXO 在区块链中的深度。交易记录的大小由字节来表示。一个交易想要成为“较高优先级”,需满足的条件:优先值大于 57,600,000,相当于一个比特币(即 100 万聪),年龄为一天(144 个区块),交易的大小为 250 个字节。\n\n8.5.2 创币交易\n\n区块中的第一笔交易是笔特殊交易,称为创币交易或者 coinbase 交易。\n与\n常规交易不同,创币交易没有输入,不消耗 UTXO。它只包含一个被称作coinbase 的输入,仅仅用来创建新的比特 币。创币交易有一个输出,支付到这个矿工的比特币地址。\n8.5.3 Coinbase 奖励与矿工费\n8.5.4 创币交易的结构\n\n8.5.5 Coinbase 数据\n创币交易不包含“解锁脚本“(又称作 scriptSig)字段,这个字段被 coinbase数据替代,长度最小 2 字节,最大 100 字节。除了开始的几个字节外,矿工可以任意使用 coinbase 的其他部分,随意填充任何数据。\n\n8.6 构造区块头\n为了构造区块头,挖矿节点需要填充六个字段,如表 8-3 中所示。\n\n区块头完成全部的字段填充后,挖矿就可以开始进行了。挖矿的目标是找到一个使区块头哈希值小于难度目标的 nonce。挖矿节点通常需要尝试数十亿甚至数万亿个不同的 nonce 取值,直到找到一个满足条件的 nonce 值。\n\n8.7 构建区块\n用最简单的术语来说,挖矿就是重复计算区块头的哈希值,不断修改该参数,直到与哈希值匹配的一个过程。 哈希函数的结果无法提前得知, 也没有能得到一 个特定哈希值的模式。哈希函数的这个特性意味着:得到哈希值的唯一方法是不断的尝试,每次随机修改输入,直到出现适当的哈希值。\n\n8.7.1 工作量证明算法\n哈希函数的输入数据的长度是任意的,将产生一个长度固定且绝不雷同的值,可将其视为输入的数字指纹。对于特定输入,哈希的结果每次都一样,任何实现 相同哈希函数的人都可以计算和验证。一个加密哈希函数的主要特征就是不同的输入几乎不可能出现相同的数字指纹。因此,相对于随机选择输入,有意地选择输入去生成一个想要的哈希值几乎是不可能的。\n\n无论输入的大小是多少,SHA256 函数的输出的长度总是 256bit。\n\n8.7.2 难度表示\n8.7.3 难度目标与难度调整\n如前所述,目标决定了难度,进而影响求解工作量证明算法所需要的时间。那么问题来了:为什么这个难度值是可调整的?由谁来调整?如何调整?\n比特币的区块平均每 10 分钟生成一个。这就是比特币的心跳,是货币发行速率和交易达成速度的基础。不仅是在短期内,而是在几十年内它都必须要保持恒定。在此期间,计算机性能将飞速提升。此外,参与挖矿的人和计算机也会不断变化。为了能让新区块的保持 10 分钟一个的产生速率,挖矿的难度必须根据这些变化进行调整。事实上,难度是一个动态的参数,会定期调整以达到每 10分钟一个新区块的目标。简单地说,难度被设定在,无论挖矿能力如何,新区块产生速率都 保持在 10 分钟一个\n\n那么,在一个完全去中心化的网络中,这样的调整是如何做到的呢?难度的调整是在每个完整节点中独立自动发生的。每 2,016 个区块中的所有节点都会调整难度。 难度的调整公式是由最新 2,016 个区块的花费时长与 20,160 分钟 (两周,即这些区块以 10 分钟一个速率所期望花费的时长)比较得出的。难度是根据实际时长与期望时长的比值进行相应调整的(或变难或变易)。简单来说,如果网络发现区块产生速率比 10 分钟要快时会增加难度。如果发现比 10 分钟慢时则降低难度。\n\n寻找一个比特币区块需要整个网络花费 10 分钟来处理, 每发现 2,016个区块时会根据前 2,016 个区块完成的时间对难度进行调整。\n值得注意的是目标难度与交易的数量和金额无关。这意味着哈希算力的强弱,即让比特币更安全的电力投入量,与交易的数量完全无关。换句话说,当比特币的规模变得更大,使用它的人数更多时,即使哈希算力保持当前的水平,比特币的安全性也不会受到影响。 哈希算力的增加表明更多的人为得到比特币回报而加入了挖矿队伍。只要为了回报,公平正当地从事挖矿的矿工群体保持足够的哈希算力,\"接管\"攻击就不会得逞,让比特币的安全无虞。\n\n目标难度和挖矿电力消耗与将比特币兑换成现金以支付这些电力之间的关系密切相关。高性能挖矿系统就是要用当前硅芯片以最高效的方式将电力转化为哈希算力。挖矿市场的关键因素就是每度电转换为比特币后的价格。因为这决定着挖矿活动的营利性,也因此刺激着人们选择进入或退出挖矿市场。\n\n8.8 成功构建区块\n8.9 校验新区块\n比特币共识机制的第三步是通过网络中的每个节点独立校验每个新区块。当新区块在网络中传播时,每一个节点在将它转发到其节点之前,会进行一系列的测试去验证它。这确保了只有有效的区块会在网络中传播。独立校验还确保了诚实的矿工生成的区块可以被纳入到区块链中,从而获得奖励。行为不诚实的矿工所产生的区块将被拒绝,这不但使他们失去了奖励,而且也浪费了本来可以去寻找工作量证明解的机会,因而导致其电费亏损。\n当一个节点接收到一个新的区块,它将对照一个长长的标准清单对该区块进行验证,若没有通过验证,这个区块将被拒绝。这些标准可以在比特币核心客户端的 CheckBlock 函数和 CheckBlockHead 函数中获得,它包括:\n▷ 区块的数据结构语法上有效\n▷ 区块头的哈希值小于目标难度(确认包含足够的工作量证明)\n▷ 区块时间戳早于验证时刻未来两个小时(允许时间错误)\n▷ 区块大小在长度限制之内\n▷ 第一个交易(且只有第一个)是 coinbase 交易\n▷ 使用检查清单验证区块内的交易并确保它们的有效性,本书 177 页\n▷ “交易的独立校验”一节已经讨论过这个清单。\n每一个节点对每一个新区块的独立校验,确保了矿工无法欺诈。在前面的章节中,我们看到了矿工们如何去记录一笔交易,以获得在此区块中创造的新比特币和交易费。为什么矿工不为他们自己记录一笔交易去获得数以千计的比特币?这是因为每一个节点根据相同的规则对区块进行校验。一个无效的coinbase 交 易将使整个区块无效,这将导致该区块被拒绝,因此,该交易就不会成为总账的一部分。矿工们必须构建一个完美的区块,基于所有节点共享的规则,并且根据正确 工作量证明的解决方案进行挖矿,他们要花费大量的电力挖矿才能做到这一点。如果他们作弊,所有的电力和努力都会浪费。这就是为什么独立校验是去中心化共识 的重要组成部分。\n\n8.10 区块链的组装与选择\n比特币去中心化的共识机制的最后一步是将区块集合至有最大工作量证明的链中。一旦一个节点验证了一个新的区块,它将尝试将新的区块连接到到现存的区块链,将它们组装起来。\n节点维护三种区块:第一种是连接到主链上的,第二种是从主链上产生分支的(备用链),最后一种是在已知链中没有找到已知父区块的。在验证过程中,一旦发现有不符合标准的地方,验证就会失败,这样区块会被节点拒绝,所以也不会加入到任何一条链中。\n8.10.1 区块链分叉\n\n\n比特币将区块间隔设计为 10 分钟,是在更快速的交易确认和更低的分叉概率间作出的妥协。更短的区块产生间隔会让交易清算更快地完成,也会导致更加频繁地区块链分叉。与之相对地,更长的间隔会减少分叉数量,却会导致更长的清算时间。\n\n8.11 挖矿和算力竞赛\n比特币挖矿是一个极富竞争性的行业。自从比特币存在开始,每年比特币算力都成指数增长。一些年份的增长还体现出技术的变革, 比如在 2010 年和 2011年,很多矿工开始从使用 CPU 升级到使用 GPU,进而使用 FGPA(现场可编程门阵列)挖矿。在 2013 年,ASIC 挖矿的引入,把 SHA256 算法直接固化在挖矿专用的硅芯片上,引起了算力的另一次巨大飞跃。一台采用这种芯片的矿机可以提供的算力,比 2010 年比特币网络的整体算力还要大。\n\n摩尔定律指出计算能力每 18 个月增加一倍。尽管如此,随着更高密度的芯片和数据中心的部署竞赛,网络算力继续保持同步的指数增长。现在的竞争已经不再是比较单一芯片的能力,而是一个矿场能塞进多少芯片,并处理好散热和供电问题。\n\n8.11.1 随机值升位方案\n2012 年以来,比特币挖矿发展出一个解决区块头基本结构限制的方案。\n\n8.11.2 矿池\n在这个激烈竞争的环境中,个体矿工独立工作(也就是 solo 挖矿)没有一点机会。他们找到一个区块以抵消电力和硬件成本的可能性非常小,以至于可以称得上是赌博,就像是买彩票。就算是最快的消费型 ASIC 也不能和那些在巨大机房里拥有数万芯片并靠近水电站的商业矿场竞争。现在矿工们合作组成矿池,汇集数以千计参与者们的算力并分享奖励。通过参加矿池,矿工们得到整体回报的一小部分,但通常每天都能得到,因而减少了不确定性。\n\n矿池通过专用挖矿协议协调成百上千的矿工。个人矿工在建立矿池账号后,设置他们的矿机连接到矿池服务器。 他们的挖矿设备在挖矿时保持和矿池服务器的连接,和其他矿工同步各自的工作。这样,矿池中的矿工分享挖矿任务,之后分享奖励。\n\n8.11.2.1 托管矿池\n大部分矿池是“托管的”,意思是有一个公司或者个人经营一个矿池服务器。矿池服务器的所有者叫矿池管理员, 同时他从矿工的收入中收取一个百分比的费用。\n\n\n8.11.2.2 P2P 矿池\n托管矿池存在管理人作弊的可能,管理人可以利用矿池进行双重支付或使区块无效。此外,中心化的矿池服务器代表着单点故障。如果因为拒绝服务攻击服务器挂了或者被减慢,池中矿工就不能采矿。在2011 年,为了解决由中心化造成的这些问题,提出和实施了一个新的矿池挖矿方法。P2Pool 是一个点对点的矿池,没有中心管理人。\n\n\nP2Pool 通过将矿池服务器的功能去中心化,实现一个并行的类似区块链的系统,名叫份额链。一个份额链是一个难度低于比特币区块链的区块链系统。\n\n\n8.12 共识攻击\n比特币的共识机制指的是,被矿工(或矿池)试图使用自己的算力实行欺骗或破坏的难度很大,至少理论上是这样。就像我们前面讲的,比特币的共识机制依赖于这样一个前提,那就是绝大多数的矿工,出于自己利益最大化的考虑,都会通过诚实地挖矿来维持整个比特币系统。然而,当一个或者一群拥有了整个系统中大量算力的矿工出现之后, 他们就可以通过攻击比特币的共识机制来达到破坏比特币网络的安全性和可靠性的目的。\n\n第 9 章 竞争币、 竞争块链和应用程序\n比特币是 20 多年的分布式系统和货币研究的结果,是一项具有革命性的新技术:一种基于工作量证明的去中心化的一致性机制。这项比特币的核心发明引领了一场包括货币体系、金融服务、经济学、分布式系统、投票系统、联合监管和合同体系在内的创新浪潮。\n\n本章将探讨比特币和区块链的发明的衍生物:2009 年比特币诞生以来所涌现出来的竞争币、竞争块链和应用程序。大部分篇幅将要探讨竞争币(alt coin) ,这些电子货币有着与比特币相似的的构建模式出来的, 但它们完全独立地运行在自己的网络和块链系统之上。\n\n\n9.1 竞争币和竞争块链的分类\n\n比特币是一个开源项目,其源代码也作为其他的一些软件项目的基础。由比特币衍生出来的最常见的形式,就是替代性去中心化货币,简称“竞争币”,这类货币使用跟比特币同样的创建块链的方式来实现自己的电子货币系统。在比特币的块链上层,可以实现一系列的协议层。元币、元块链或者块链应用程序以块链为平台,或通过增加协议层的方式扩展比特币协议。如彩色币,万事达币以及合约币。\n9.2 元币平台\n元币和元块链是在比特币之上实现的软件层,也可以认为是覆盖在比特币系统之上的平台/协议,或者是在一个币中币的实现。这些功能层拓展了核心比特币 协议,使得在比特币交易和比特币地址中编码附加信息成为可能。元币的第一个实现利用了大量的 hack 技巧把元数据添加到比特币块链中,比如使用比特币地址编码数据,或者利用空白的交易字段存放新协议层增加的这些元数据。自从交易脚本操作码问世之后,元币 得以直接将信息存放在块链之中。\n\n9.2.1 染色币\n染色币是一种在少量比特币上存储信息的一种元协议。一个“被染色的”币,是一定数额的重新用于表达另一种资产的比特币。\n\n9\n.2.2 万事达币\n万事达币是另一个建立在比特币之上的协议,该协议支持多个平台对比特币系统的扩展。万事达币使用名为 MST 的代币来指导交易,但它并不是一种通货。相反的,它服务于其他应用平台,比如用户货币,智能财产代币,去中心化的财产交易和合约系统等等。就像 HTTP 协议是 TCP 协议的应用层一 样,Mastercoin 是比特币协议的应用层协议。\n\n9.2.3 合约币\n合约币是另一个建立在比特币系统之上的协议层。合约币拥有用户货币、可交易代币、金融手段、去中心化财产交易和其他一些功能。合约币利用比特币脚本语言中的 OP_RETURE 操作符记录元信息来增加比特币交易的额外信息。合约币使用名为 XCP 的代币维持整个系统的运行。\n\n9.3 竞争币/山寨币\n绝大多数的山寨币都来自比特币源代码的克隆,少数则没有使用比特币的任何源码,仅仅是借鉴了块链的模型后自己实现。竞争币或竞争块链(下一节会讲到)都是运行在自己块链上的独立的块链实现。之所以以命名区分,主要是因为竞争币主要用做货币,而竞争块链则不是。\n严格意义上讲,比特币的第一个克隆并不是一个竞争币而是一个名为Namecoin 的竞争块链,我们将在下一节讨论。\n\n莱特币 8,400 万的货币总量和相对更快的确认速度,很多莱特币的拥趸相信与比特币相 比,莱特币更适合零售业的交易。\n\n下面所列出的就是这些竞争币区别\n于比特币的三点主要不同:\n▷ 货币策略不同\n▷ 基于工作量证明的一致性机制不同\n▷ 一些特殊的功能,比如更强的匿名性等等\n\n9.3.1 评估竞争币的价值\n以下是关于竞争币和比特币的不同之处的几个问题:\n▷ 这款竞争币有没有引入重大的创新?\n▷ 如果有,那么这项创新是不是足够吸引使用比特币的用户转移过来?\n▷ 这款竞争币是不是致力于某一细分领域或应用?\n▷这款竞争币可以吸引到足够多的矿工来抵御一致性攻击吗?\n还有一些有关关键财务和市场指标的问题:\n▷ 这款竞争币的市场总值是多少?\n▷ 整个系统的用户/钱包规模大概是多少?\n▷ 接受其支付的商家有多少?\n▷ 整个系统每日的交易数是多少?\n▷ 交易总量是多少?\n\n9.3.2 货币属性不同于比特币的竞争币: 莱特币、 狗狗币和 Freicoin\n比特币本身所具有的一些货币属性令其成为总额固定并且不通货膨胀的货币。比如,比特币的总量为固定的 2,100 万枚,新币的生成速度随时间递减,块生成速度为十分钟一块, 这个频率也控制了整个比特币系统交易的确认速度和新币的生成。很多竞争币通过对这些货币属性的微调,来达到实现不同的货币政策的目的。在这类竞争币中,值得一提的有以下几种。\n\n莱特币\n莱特币是最早的一批竞争币中的一员,自 2011 年发布至今,已经成为继比特币之后的第二成功的电子货币。它的主要创新在于两点,一是使用了 scrypt 作为工作量证明算法(继承自前文提到的 Tenebrix),二是更快的货币参数。\n▷ 出块速度:2 分半\n▷ 货币总量:到 2140 年达到 8,400 万\n▷ 一致性算法:scrypt\n▷ 市场总值:1 亿 6,000 万美金(截至 2014 年年中)\n\n狗狗币\n狗狗币是基于莱特币的一款竞争币,于 2013 年 12 月发布。狗狗币之所以值得一提,主要是因为其飞快的出块速度和惊人的货币总量,其目的也是为了励用户交易和给小费等。狗狗币始于一个玩笑,在其 2014 年快速衰退之前,经发布就风行于巨大而活跃的用户社区。下面是 狗狗币的一些特性:\n▷ 出块速度:60 秒\n▷ 货币总量:到 2015 年达到 100,000,000,000(1,000 亿)\n▷ 一致性算法:scrypt\n▷ 市场总值:1,200 万美金(截至 2014 年年中)\nFreicoin\nFreicoin 于 2012 年 7 月发布。它是一种滞留性通货,可以理解为存在钱中的货币的利率为负数。为了鼓励用户消费和减少储 蓄,Freicoin 拟定了一个4.5%的 APR fee。Freicoin 值得一提的原因是它的货币策略跟比特币的通货紧缩策略恰恰相反。作为货币,Freicoin 并不是非常成功,但它是竞争币所能表的多样性货币策略的生动体现。\n▷ 出块速度:10 分钟\n▷ 货币总量:到 2140 年达到 1 亿\n▷ 一致性算法:SHA256\n▷ 市场总值:13 万美金(截至 2014 年年中)\n9.3.3 一致性机制创新\npeercoin,Myriad,Blackcoin,vericoin 和 NXT 比特币的一致性机制建立在基于 SHA256 算法的工作量证明之上。第一款引入 scrypt 算法作为一致性机制的竞争币是为了便于 CPU 挖矿,避免 ASIC 矿机可能导致的算力集中化的问题。在那之后,对于一致性机制的创新一直很活跃。诸多竞争币陆续引进了包括 scrypt,scrypt-N, Skein, Groestl, SHA3, X11, Blake 在内的算法来实现工作量证明的一致性机制。而在 2013 年,作为工作量证明的一种替代机制——权益证明的出现,成为现代竞争币的基础。\n\n9.3.4 多目的挖矿创新\nPrimecoin, Curecoin, Gridcoin 比特币的工作量证明机制只有一个目的:维护比特币系统的安全。跟维护一个传统货币系统比起来,挖矿的成本并不高。然而,某些批评者认为某些批评者认 为挖矿这一行为是一种浪费。新一代的加密货币试图解决这个争议。多目的挖矿算法就是为了解决工作量证明导致的“浪费”问题而出现的。多目的挖矿在为货币系 统的安全加入额外需求的同时,也为该系统的供需关系加入了额外的变量。\n\n9.3.5 致力于匿名性的竞争币\nCryptoNote, Bytecoin, Monero, Zerocash/Zerocoin, Darkcoin 比特币一直被误解为匿名货币。事实上,将个人和比特币地址关联起来,是一件相对容易的事情。利用大数据分析可以很容易地得到某一比特币地址的消费习 惯。一些竞争币试图通过增强匿名性来解决这个问题。最初尝试的是 Zerocoin,它是一种建立在比特币协议之上的元币协议, 最早发布于 2013 IEEE 安全隐私讨论会上。截至本书完稿时,基于这个协议的 Zerocash 的竞争币系统还在开发当中。匿名性的另一种实现名为 CryptoNote,初 见于 2013 年 10 月的一篇论文。CryptoNote 是一种由多个竞争币一起实现的基础技术,稍后将重点讨论。除了上述两种实现之外,还有一些其他的独 立的匿名币,比如利用影子地址和交易混淆来达到匿名性目的的 Darkcoin。\n\nZerocoin/Zerocash\nZerocoin 是 2013 年由 Johns Hopkins 发表的电子货币匿名性的一种理论实现。截至本书完稿时,基于这一理论的 Zerocash 的竞争币系统还在开发当中。\n\n9.4 非货币型竞争区块链\n非货币型竞争币区块链是区块链设计模式的另类实现,并不主要作为货币使用。当然不少这种区块链的确含有货币,只不过它们的货币仅是一种象征,用于分配其他东西,比如一种资源或者一份合约。换句话说,货币并不是非货币型竞争币区块链的要点,仅仅是一种次要特征。\n\n9.4.1 域名币\n域名币是比特币源代码的首个克隆产物,它是一种使用区块链的去中心化平台,用来注册和转让键-值对。域名币支持全球的域-名注册,类似因特网上的域 -名注册系统。目前域名币作为根域名.bit 的替代性域名服务(DNS)使用。域名币也可以用来注册其他命名空间下的名称和键-值对,例如存储邮件地址、密钥、SSL 证书、文件签名、投票系统和股票凭证之类,以及许多其他应用。\n\n9.4.2 Bitmessage\nBitmessage 是一个实现了去中心化安全消息服务的比特币竞争币区块链,其本质上是一个无服务器的加密电子邮件系统。\n\n9.4.3 以太坊\n以太坊是一种图灵完备的平台,基于区块链账簿,用于合约的处理和执行。它不是比特币的一个克隆,而是完完全全独立的一种设计和实现。以太坊内置一种叫做 ether 的货币,该货币是付合约执行之费用所必须的。以太坊区块链记录的东西叫做合约,所谓合约,就是一种低级二进制码,也是一种图灵完备语言。本质上,合约其实是运行在以太坊系统中各个节点上的程序。这些程序可以存储数据、支付及收取、存储 ether 以及执行无穷范围(因此才叫图灵完备)的计算行为,在系统中充当去中心化的自治软件代理。\n\n以太坊能够实现一些颇为复杂的系统, 这些系统甚至还能自我实现为其他的竞争币区块链。举例来说,下面就是一个类域名币的域名注册合约,使用以太坊代码编写(或者更准确地说,使用一种可编译为以太坊代码的高级代码编写):\n\n9.5 加密货币的未来\n总体来看,加密货币的未来甚至比特币还要光明。这是因为,比特币引入了这样一种全新的形式,那就是去中心化的组织和共识,而且这种形式已经催生了大量不可思议的创新。这些创新很有可能影响到社会中相当广泛的行业,从分布式系统科学到金融、经济、货币、中央银行以及企业管理,不一而足。在以前,很多人类活动都需要一个中心化的机构或组织来实现权威或可信控制点的功能,现在,这些都可以去中心化了。区块链和共识系统的发明,还会显著降低大型系统在组织及协调上的花销,同时也将消除权力攫取、腐败及管制俘获的可趁之机。\n\n第 10 章 比特币安全\n保护比特币是很具有挑战性的事,因为比特币不像银行账户余额那样体现抽象价值。比特币其实更像数字现金或黄金。你可能听过这样的说法,“现实持有,败一胜九。”好吧,在比特币的世界里,这样的持有只能让你有一成胜率。而只有拥有解锁比特币的密钥才相当于持有现金或一块贵重金属。 你可能会将密钥丢失,会放错地方,会被盗或者不小心错支了数额。无论是哪种场景,用户都没有办法撤回,因为这就像是将现金丢在了车水马龙的大街上。不过,与现金、黄金或者银行账户相比,比特币有着一个独一无二的优势。你不能“备份”你的现金、黄金或者银行账户,但你可以像备份其他文件一样,备 份含有密钥的比特币钱包。它可以被复制成很多份,放到不同的地方保存起来,甚至能打印到纸上进行实体备份。比特币与至今为止的其他货币是如此不同,以致于 我们需要以一种全新的思维方式来衡量比特币的安全性。\n\n10.1 安全准则\n比特币的核心准则是去中心化,这一点对安全性具有重要意义。在中心化的模式下,例如传统的银行或支付网络,需要依赖于访问控制和审查制度将不良行为者拒之门外。相比之下,比特币这样的去中心化系统则将责任和控制权都移交给了用户。由于网络的安全性是基于工作量证明而非访问控制,比特币网络可以对所有 人开放,也无需对比特币流量进行加密。\n\n比特币则截然不同,一笔比特币交易只授权向指定接收方发送一个指定数额,并且不能被修改或伪造。它不会透露任何个人信息,例如当事人的身份,也不能用于权限外的支付。因此,比特币的支付网络并不需要加密或防窃听保护。事实上,你可以在任何公开的网络上广播比特币交易的数据,例如在不安全的WiFi 或蓝牙网络上公开传播比特币交易的数据,这对安全性没有任何影响。\n比特币的去中心化安全模型很大程度上将权力移交到用户手上,随之而来的是用户们保管好密钥的责任。 这对于大多数用户来说并非一件易事,特别是在像智能手机或笔记本电脑这种能能时刻联网的通用设备上。虽然比特币的去中心化模型避免了常见的信用卡盗用等情况,但很多用户由于无法保管好密钥从而被黑客攻击。\n\n10.1.1 比特币系统安全开发\n对于比特币开发者而言最重要的是去中心化原则。大多数开发者对中心化的安全模型很熟悉,并可能试图将中心化的模型运用到借鉴比特币的应用中去,这将给比特币带来灭顶之灾。\n\n比特币的安全性依赖于密钥的分散性控制,并且需要矿工们各自独立地进行交易验证。如果你想利用好比特币的安全性,你需要确保自己处于比特币的安全模型里。简而言之,不要将用户的密钥控制权拿走,不要接受非区块链交易信息。\n例如,许多早期的比特币交易所将所有用户的资金集中在一个包含着私钥的“热钱包”里,并存放在服务器上。这样的设计夺取了用户的掌控权,并将密钥集中到单个系统里。很多这样的系统都被黑客攻破了,并给客户带来灾难性后果。\n另一个常见的错误是接受区块链离线交易,妄图减少交易费或加速交易处理速度。一个“区块链离线交易”系统将交易数据记录在一个内部的中心化账本上,然后偶尔将它们同步到比特币区块链中。这种做法,再一次,用专制和集中的方式取代比特币的去中心化安全模型。当数据处于离线的区块链上的时候,保护不当的 中心化账本里的资金可能会不知不觉被伪造、被挪用、被消耗。\n除非你是准备大力投资运营安全,叠加多层访问控制,或(像传统的银行那样)加强审计,否则在将资金从比特币的去中心化安全场景中抽离出来之前,你应该慎重考虑一番。即使你有足够的资金和纪律去实现一个可靠的安全模型,这样的设计也仅仅是复制了一个脆弱不堪,深受账户盗窃威胁、贪污和挪用公款困扰的传 统金融网络而已。要想充分利用比特币特有的去中心化安全模型,你必须避免中心化架构的常见诱惑,因它最终将摧毁比特币的安全性。\n\n10.1.2 信任根源\n比特币的安全体系与这不同。在比特币里,共识系统创建了一个可信的完全去中心化的公开账本,一个正确验证过的区块使用创世块作为信任的根源,建立一条直至当前区块的可信任链。比特币系统可以并应该使用区块链作为它们的信任根源。在设计一个多系统服务机制的比特币应用时,你应该仔细确认安全体系,以确保对它的信任能有据可依。最终,唯一可确信无疑的是一条完全有效的区块链。如果你的应用程序或明或暗地信赖于区块链以外的东西,就该引起重视,因为它可能会引入漏洞。一个不错的方法评估你应用程序的安全体系:单独考量每个组件,设想该组件被完全攻破并被坏人掌控的场景。依次取出应用程序的每个组件,并评估 它被攻破时对整体安全的影响。如果你的应用程序的安全性在该组件沦陷后大打折扣,那就说明你已经对这些组件过度信任了。一个没有漏洞的比特币应用程序应该 只受限于比特币的共识机制,这意味着其安全体系的信任源于比特币最坚固的部分。\n\n10.2 用户最佳安全实践\n人类使用物理的安全控制已经有数千年之久。相比之下,我们的数字化安全经验的年纪还不满 50 岁。现代通用的操作系统并不是十分安全,亦不特别适合用来存储数字货币。我们的电脑通过一直连接的互联网长时间暴露在外,它们运行着成千上万第三方软件组件,这些软件往往可以不受约束地访问用户的文件。你电脑 上安装的众多软件只要有一个恶意软件,就会威胁到你的文件,可窃取你钱包里的所有比特币。想要杜绝病毒和木马对电脑的威胁,用户要达到一定的计算机维护水平,只有小部分人能做到。\n\n比特币创造了具有内在价值的数字资产,它可以被窃取,并立即转移给他人而无法撤回。这让黑客有了强烈的作案动机。\n\n\n幸运的是,比特币也有着激励机制,以提高计算机的安全性。如前所述,计算机受威胁的风险是模糊的,间接的,而比特币让这些风险变得明确清晰。在电脑上保存比特币让用户时刻注意他们需要提高计算机的安全性,结果便是这使得比特币和其它数字货币得以传播和扩散,我们已经看到在黑客技术和安全解决方案双方的提升。简单来说,黑客现在有着一个非常诱人的目标,而用户也有明确的激励性去保卫自己。\n在过去的三年里,随着比特币不断被接纳,一个直接的结果是,我们已经看到信息安全领域取得了巨大创新,例如硬件加密,密钥存储和硬件钱包,多重签名技术和数字托管。在下面的章节中,我们将研究各种实际用户安全中的实践经验。\n\n10.2.1 比特币物理存储\n相比数字信息的安全,大多数用户对物理安全更加熟悉,一个非常有效保护比特币的方法是,将它们转换为物理形式。比特币密钥不过是串长数字而已。这意味着它们可以以物理形式存储起来,如印在纸上或蚀刻成金属硬币上。这样保护密钥就变成了简单地保护印着比特币密钥的物理实体。一组打印在纸上的比特币密钥被称为“纸钱包”,有许多可以用来创建它们的免费工具。我个人将大部分(99%以上)的比特币存储在纸钱包上,并用 BIP0038 加密,复制了多份并锁在保险箱里。将比特币离线保存被称为冷存储,它是最有效的安全技术\n之一。冷存储系统是在一个离线系统(一个从来没有连接过互联网的系统)上生成密钥,并离线存储到纸上或者 U 盘等电子媒介。\n\n10.2.2 硬件钱包\n从长远来看,比特币安全将越来越多地以硬件防篡改钱包的形式出现。与智能手机或台式电脑不同,一个比特币硬件钱包只有一个目的, 安全地存储比特币。不像容易受害的常用软件那样,硬件钱包只提供了有限的接口,从而可以给非专业用户提供近乎万无一失的安全等级。我预期将看到硬件钱包成为比特币储存的主要方式。要想看硬件钱包的实例,请查阅 Trezor。\n\n10.2.3 平衡风险\n虽然大多数用户都非常关注比特币防盗,其实还有一个更大的风险存在。数据文件丢失的情况时有发生。如果比特币的数据也在其中,损失将会让人痛苦不堪。为了保护好比特币钱包,用户必须非常注意不要剑走偏锋,这样不至于会搞丢比特币。 在 2011 年 7 月,一个著名的比特币认知教育项目损失了近 7,000 枚比特币。为了防止被盗窃,其主人曾之前采取了一系列复杂的操作去加密备份。结果他们不慎丢失了加密的密钥,使得备份变得毫无价值,白白失去了一大笔财富。如果你保护比特币的方式太过了,这好比于把钱藏在沙漠里,你可能不能再把它找回来了。\n10.2.4 分散风险\n你会将你的全部家当换成现金放在钱包里随身携带么?大多数人会认为这非常不明智,但比特币用户经常会将所有的比特币放在一个钱包里。用户应该将风险分散到不同类型的比特币钱包。审慎的用户应该只留一小部分(或许低于5%)的比特币在一个在线的或手机钱包,就像零用钱一样,其余的部分应该采用不同存储机制分散开来,诸如电脑钱包和离线(冷存储)钱包。\n\n\n10.2.5 多重签名管理\n当一个公司或个人持有大量比特币时,他们应该考虑采用多重签名的比特币地址。多重签名比特币地址需要多个签名才能支付,从而保证资金的安全。多重签名的密钥应存储在多个不同的地方,并由不同的人掌控。打个比方,在企业环境中,密钥应该分别生成并由若干公司管理人员持有,以确保没有任何一个人可以独自占有资金。多重签名的地址也可以提供冗余,例如一个人持有多个密钥,并将它们分别存储在不同的地方。\n\n10.2.6 存活能力\n一个非常重要却又常常被忽视的安全性考虑是可用性,尤其是在密钥持有者丧失工作能力或死亡的情况下。比特币的用户被告知应该使用复杂的密码,并保证他们的密钥安全且不为他人所知。不幸的是,这种做法使得在用户无法解锁时,用户的家人几乎无法将该财产恢复。事实上,比特币用户的家人可能完全不知道这笔比特币资金的存在。如果你有很多的比特币, 你应该考虑与一个值得信赖的亲属或律师分享解密的细节。一个更复杂的比特币生还计划,可以通过设置多重签名,做好遗产规划,并通过专门的“数字资产执行者”律师处理后事。\n\n10.3 总结",
      "json_metadata": "{\"tags\":[\"cn\",\"reading\",\"blockchain\",\"bitcoin\"],\"links\":[\"http://zhibimo.com/books/wang-miao/mastering-bitcoin\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2017/08/27 05:14:21
parent authorholl.boll
parent permlinkre-chenchun-1-20170827t044109972z
authorchenchun
permlinkre-hollboll-re-chenchun-1-20170827t051420073z
title
bodyThank you.
json metadata{"tags":["cn"],"app":"steemit/0.1"}
Transaction InfoBlock #14932417/Trx f06753c64eb0ae013fd448fecf19741e420425c9
View Raw JSON Data
{
  "trx_id": "f06753c64eb0ae013fd448fecf19741e420425c9",
  "block": 14932417,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:14:21",
  "op": [
    "comment",
    {
      "parent_author": "holl.boll",
      "parent_permlink": "re-chenchun-1-20170827t044109972z",
      "author": "chenchun",
      "permlink": "re-hollboll-re-chenchun-1-20170827t051420073z",
      "title": "",
      "body": "Thank you.",
      "json_metadata": "{\"tags\":[\"cn\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
chenchunremoved vote from (0.00%) @chenchun / 3bvz9j-1
2017/08/27 05:13:27
voterchenchun
authorchenchun
permlink3bvz9j-1
weight0 (0.00%)
Transaction InfoBlock #14932399/Trx 4ee1f5ee4396535d8fb67091d58e140d03661fef
View Raw JSON Data
{
  "trx_id": "4ee1f5ee4396535d8fb67091d58e140d03661fef",
  "block": 14932399,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:13:27",
  "op": [
    "vote",
    {
      "voter": "chenchun",
      "author": "chenchun",
      "permlink": "3bvz9j-1",
      "weight": 0
    }
  ]
}
chenchunupvoted (100.00%) @chenchun / 3bvz9j-1
2017/08/27 05:12:24
voterchenchun
authorchenchun
permlink3bvz9j-1
weight10000 (100.00%)
Transaction InfoBlock #14932378/Trx 21bddc799f7a371d874f68980b1bfbc67f9d6a9a
View Raw JSON Data
{
  "trx_id": "21bddc799f7a371d874f68980b1bfbc67f9d6a9a",
  "block": 14932378,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:12:24",
  "op": [
    "vote",
    {
      "voter": "chenchun",
      "author": "chenchun",
      "permlink": "3bvz9j-1",
      "weight": 10000
    }
  ]
}
2017/08/27 05:11:12
required auths[]
required posting auths["chenchun"]
idfollow
json["follow",{"follower":"chenchun","following":"cheetah","what":["ignore"]}]
Transaction InfoBlock #14932354/Trx 833948890d57f80dd788d44c7db73d966ffa73f6
View Raw JSON Data
{
  "trx_id": "833948890d57f80dd788d44c7db73d966ffa73f6",
  "block": 14932354,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:11:12",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "chenchun"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"chenchun\",\"following\":\"cheetah\",\"what\":[\"ignore\"]}]"
    }
  ]
}
2017/08/27 05:11:06
required auths[]
required posting auths["chenchun"]
idfollow
json["follow",{"follower":"chenchun","following":"cheetah","what":["blog"]}]
Transaction InfoBlock #14932352/Trx 4a644c9b9786c8582b37cc0781a3ba6991570855
View Raw JSON Data
{
  "trx_id": "4a644c9b9786c8582b37cc0781a3ba6991570855",
  "block": 14932352,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:11:06",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "chenchun"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"chenchun\",\"following\":\"cheetah\",\"what\":[\"blog\"]}]"
    }
  ]
}
2017/08/27 05:10:48
parent authorcheetah
parent permlinkcheetah-re-chenchun3bvz9j-1
authorchenchun
permlinkre-cheetah-cheetah-re-chenchun3bvz9j-1-20170827t051045355z
title
bodyThank you very much。I think it is a wonderful book. I read a pdf copy. And it take me a lot of time to copy the important sentences and paragraphs。I post this article because this may save other people's time.Thank you at all.
json metadata{"tags":["cn"],"app":"steemit/0.1"}
Transaction InfoBlock #14932346/Trx 199f2bfcb1233a376464f5c0dde9ff5183cae05e
View Raw JSON Data
{
  "trx_id": "199f2bfcb1233a376464f5c0dde9ff5183cae05e",
  "block": 14932346,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:10:48",
  "op": [
    "comment",
    {
      "parent_author": "cheetah",
      "parent_permlink": "cheetah-re-chenchun3bvz9j-1",
      "author": "chenchun",
      "permlink": "re-cheetah-cheetah-re-chenchun3bvz9j-1-20170827t051045355z",
      "title": "",
      "body": "Thank you very much。I think it is a wonderful book. I read a pdf copy. And it take me a lot of time to copy the important sentences and paragraphs。I post this article because  this may save other people's time.Thank you at all.",
      "json_metadata": "{\"tags\":[\"cn\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
spicetraderupvoted (100.00%) @chenchun / 3bvz9j-1
2017/08/27 05:04:24
voterspicetrader
authorchenchun
permlink3bvz9j-1
weight10000 (100.00%)
Transaction InfoBlock #14932218/Trx 74a8aabd9815cdc5c019abc4d486539e039e45b7
View Raw JSON Data
{
  "trx_id": "74a8aabd9815cdc5c019abc4d486539e039e45b7",
  "block": 14932218,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:04:24",
  "op": [
    "vote",
    {
      "voter": "spicetrader",
      "author": "chenchun",
      "permlink": "3bvz9j-1",
      "weight": 10000
    }
  ]
}
redteaupvoted (100.00%) @chenchun / 1
2017/08/27 05:03:45
voterredtea
authorchenchun
permlink1
weight10000 (100.00%)
Transaction InfoBlock #14932205/Trx 7c6264ff0f2cff11e778e8ab4fa1fb2a9172e519
View Raw JSON Data
{
  "trx_id": "7c6264ff0f2cff11e778e8ab4fa1fb2a9172e519",
  "block": 14932205,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:03:45",
  "op": [
    "vote",
    {
      "voter": "redtea",
      "author": "chenchun",
      "permlink": "1",
      "weight": 10000
    }
  ]
}
redteaupvoted (100.00%) @chenchun / 4vknsc-1
2017/08/27 05:03:39
voterredtea
authorchenchun
permlink4vknsc-1
weight10000 (100.00%)
Transaction InfoBlock #14932203/Trx 0235997feb7d7efdac1e2b296748eb2f53270194
View Raw JSON Data
{
  "trx_id": "0235997feb7d7efdac1e2b296748eb2f53270194",
  "block": 14932203,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:03:39",
  "op": [
    "vote",
    {
      "voter": "redtea",
      "author": "chenchun",
      "permlink": "4vknsc-1",
      "weight": 10000
    }
  ]
}
ubgupvoted (1.00%) @chenchun / 4vknsc-1
2017/08/27 05:03:33
voterubg
authorchenchun
permlink4vknsc-1
weight100 (1.00%)
Transaction InfoBlock #14932201/Trx 69a1a6690e058d406024ae161cfc6d84b7c257c1
View Raw JSON Data
{
  "trx_id": "69a1a6690e058d406024ae161cfc6d84b7c257c1",
  "block": 14932201,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:03:33",
  "op": [
    "vote",
    {
      "voter": "ubg",
      "author": "chenchun",
      "permlink": "4vknsc-1",
      "weight": 100
    }
  ]
}
redteaupvoted (100.00%) @chenchun / 3bvz9j-1
2017/08/27 05:03:24
voterredtea
authorchenchun
permlink3bvz9j-1
weight10000 (100.00%)
Transaction InfoBlock #14932198/Trx 75de7b175b3ffe5927b7b5b30164e53dd87218a0
View Raw JSON Data
{
  "trx_id": "75de7b175b3ffe5927b7b5b30164e53dd87218a0",
  "block": 14932198,
  "trx_in_block": 16,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T05:03:24",
  "op": [
    "vote",
    {
      "voter": "redtea",
      "author": "chenchun",
      "permlink": "3bvz9j-1",
      "weight": 10000
    }
  ]
}
2017/08/27 04:59:57
parent authorchenchun
parent permlink3bvz9j-1
authorcheetah
permlinkcheetah-re-chenchun3bvz9j-1
title
bodyHi! I am a robot. I just upvoted you! I found similar content that readers might be interested in: http://zhibimo.com/read/wang-miao/mastering-bitcoin/Chapter10.html
json metadata
Transaction InfoBlock #14932129/Trx f1b97c441e59de9deaa0b923784e1a23174b8a41
View Raw JSON Data
{
  "trx_id": "f1b97c441e59de9deaa0b923784e1a23174b8a41",
  "block": 14932129,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T04:59:57",
  "op": [
    "comment",
    {
      "parent_author": "chenchun",
      "parent_permlink": "3bvz9j-1",
      "author": "cheetah",
      "permlink": "cheetah-re-chenchun3bvz9j-1",
      "title": "",
      "body": "Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:\nhttp://zhibimo.com/read/wang-miao/mastering-bitcoin/Chapter10.html",
      "json_metadata": ""
    }
  ]
}
cheetahupvoted (0.10%) @chenchun / 3bvz9j-1
2017/08/27 04:59:51
votercheetah
authorchenchun
permlink3bvz9j-1
weight10 (0.10%)
Transaction InfoBlock #14932127/Trx 16c1faae8b42e1d58307a1d47d8b96761cdce700
View Raw JSON Data
{
  "trx_id": "16c1faae8b42e1d58307a1d47d8b96761cdce700",
  "block": 14932127,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T04:59:51",
  "op": [
    "vote",
    {
      "voter": "cheetah",
      "author": "chenchun",
      "permlink": "3bvz9j-1",
      "weight": 10
    }
  ]
}
chenchunpublished a new post: 3bvz9j-1
2017/08/27 04:59:36
parent author
parent permlinkcn
authorchenchun
permlink3bvz9j-1
title比特币、区块链读书笔记1《精通比特币》第三部分
body《精通比特币》作者:Andreas M.Antonopoulos。 本书下载地址:http://zhibimo.com/books/wang-miao/mastering-bitcoin 翻译:薄荷凉幼;陈萌琦;陈姝吉;程鹏;程西园;达文西;吉鸿帆;李丹;李润熙;李凌豪;李昕阳;刘畅;吕新浩;马峰;牛东晓;秦彤;邱頔;邱蒙;戎如香;史磊;汪海波;王宏钢;辛颖;杨兵;尹文东;余龙;张林;张琦张大嫂;张亚超;张泽铭;赵冬帅;赵 余;YANG YANG。 第 8 章 挖矿与共识 8.1 简介 挖矿是增加比特币货币供应的一个过程。挖矿同时还保护着比特币系统的安全,防止欺诈交易,避免“双重支付”,“双重支付”是指多次花费同一笔比特币。矿工们通过为比特币网络提供算力来换取获得比特币奖励的机会。 矿工们验证每笔新的交易并把它们记录在总帐簿上。每 10 分钟就会有一个新的区块被“挖掘”出来,每个区块里包含着从上一个区块产生到目前这段时间内发生的所有交易,这些交易被依次添加到区块链中。我们把包含在区块内且被添加到区块链上的交易称为“确认”交易,交易经过“确认”之后,新的拥有者才能够花费他在交易中得到的比特币。 矿工们在挖矿过程中会得到两种类型的奖励:创建新区块的新币奖励,以及区块中所含交易的交易费。为了得到这些奖励,矿工们争相完成一种基于加密哈希算法的数学难题,这些难题的答案包括在新区块中,作为矿工的计算工作量的证明,被称为”“工作量证明”。该算法的竞争的机制以及获胜者有权在区块链上进行交易记录的机制,这二者比特币安全的基石。 新比特币的生成过程被称为挖矿是因为它的奖励机制被设计为速度递减模式,类似于贵重金属的挖矿过程。比特币的货币是通过挖矿发行的,类似于中央银行通过印刷银行纸币来发行货币。矿工通过创造一个新区块得到的比特币数量大约每四年(或准确说是每隔 210,000 个块)减少一半。开始时为 2009 年 1月每个区块奖励 50 个比特币,然后到 2012 年 11 月减半为每个区块奖励 25个比特币。之后将在 2016 年的某个时刻再次减半为每个新区块奖励 12.5 个比特币。基于这个公式,比特币挖矿奖励以指数方式递减,直到 2140 年。届时所有的比特币(20,999,999,980)全部发行完毕。换句话说在 2140 年之后,不会再有新的比特币产生。 矿工们同时也会获取交易费。每笔交易都可能包含一笔交易费,交易费是每笔交易记录的输入和输出的差额。在挖矿过程中“挖出”新区块的矿工获胜者可以得到该区块中包含的所有交易“小费”。目前,这笔费用占矿工收入的 0.5%或更少,大部分收益仍来自挖矿所得的比特币奖励。然而随着挖矿奖励的递减,以及每个区块中包含的交易数量增加,交易费在矿工收益中所占的比重将会逐渐增加。在 2140 年之后,所有的矿工收益都将由交易费构成。 “挖矿”这个词有一定的误导性。它容易引起对贵重金属采矿的的联想,从而使我们的注意力都集中在每个新区块产生的奖励上。尽管挖矿带来的奖励是一种激励,但它最主要的目的并不是奖励本身或者新币的产生。如果只把挖矿看作生产新币的过程,那你是把手段(激励措施)当成了目的。挖矿是一种将结算所去中心化的过程,每个结算所对处理的交易进行验证和结算。挖矿保护了比特币系统的安全,并且实现了在没有中心机构的情况下,也能使整个比特币网络达成共识。 挖矿这个发明使比特币变得很特别,这种去中心化的安全机制是点对点的电子货币的基础。铸造新币的奖励和交易费是一种激励机制,它可以调节矿工行为和网络安全,同时又完成了比特币的货币发行。 在本章中,我们先来审视比特币的货币发行机制,然后再来了解挖矿的最重要的功能:支撑比特币安全的去中心化的自发共识机制。 8.1.1 比特币经济学和货币创造 通过创造出新区块,比特币以一个确定的但不断减慢的速率被铸造出来。大约每十分钟产生一个新区块, 每一个新区块都伴随着一定数量从无到有的全新比特币。每开采 210,000 个块,大约耗时 4 年,货币发行速率降低 50%。在比特币运行的第一个四年中,每个区块创造出 50 个新比特币。 2012 年 11 月,比特币的新发行速度降低到每区块 25 个比特币,并且预计会在 2016 年的某个时刻, 在第 420,000 个区块被 “挖掘” 出来之后 降低到 12.5比特币/区块。在第 13,230,000 个区块(大概在 2137 年被挖出)之前,新币的发行速度会以指数形式进行 64 次“二等分”。到那时 每区块发行比特币数量变为比特币的最小货币单位——1 聪。最终,在经过 1,344 万个区块之后,所有的共 2,099,999,997,690,000 聪比 特币将全部发行完毕。换句话说,到 2140年左右,会存在接近 2,100 万比特币。在那之后, 新的区块不再包含比特币奖励,矿工的收益全部来自交易费。 总量有限并且发行速度递减创造了一种抗通胀的货币供应模式。法币可被中央银行无限制地印刷出来,而比特币永远不会因超额印发而出现通胀。 通货紧缩货币 最重要并且最有争议的一个结论是一种事先确定的发行速率递减的货币发行模式会导致货币通货紧缩(简称通缩)。通缩是一种由于货币的供应和需求不匹配导致的货币增值的现象。它与通胀相反,价格通缩意味着货币随着时间有越来越强的购买力。 8.2 去中心化共识 在上一章中我们了解了区块链。可以将区块链看作一本记录所有交易的公开总帐簿(列表),比特币网络中的每个参与者都把它看作一本所有权的权威记录。但在不考虑相信任何人的情况下, 比特币网络中的所有参与者如何达成对任意一个所有权的共识呢?所有的传统支付系统都依赖于一个中心认证机构,依靠中心机构提供的结算服务来验证并处理所有的交易。比特币没有中心机构,几乎所有的完整节点都有一份公共总帐的备份,这份总帐可以被视为认证过的记录。区块链并不是由一个中心机构创造的,它是由比特币网络中的所有节点各自独立竞争完成的。换句话说比特币网络中的所有节点,依靠着节点间的不稳定的网络连接所传输的信息,最终得出同样的结果并维护了同一个公共总帐。这一章将介绍比特币网络不依靠中心机构而达成共识的机制。 中本聪的主要发明就是这种去中心化的自发共识机制。这种自发,是指没有经过明确选举或者没有固定达成的共识的时间。换句话说,共识是数以千计的独立节点遵守了简单的规则通过异步交互自发形成的产物。所有的比特币属性,包括货币、交易、支付以及不依靠中心机构和信任的安全模型等都是这个机制的衍生物。比特币的去中心化共识由所有网络节点的 4 种独立过程相互作用而产生: ▷ 每个全节点依据综合标准对每个交易进行独立验证 ▷ 通过完成工作量证明算法的验算,挖矿节点将交易记录独立打包进新区块, ▷ 每个节点独立的对新区块进行校验并组装进区块链 ▷ 每个节点对区块链进行独立选择,在工作量证明机制下选择累计工作量最大的区块链 在接下来的几节中,我们将审视这些过程,了解它们之间如何相互作用并达成全网的自发共识,从而使任意节点组合出它自己的权威、可信、公开的总帐。 8.3 交易的独立校验 在第 5 章中,我们知道了钱包软件通过收集 UTXO、提供正确的解锁脚本、构造支付给接收者的输出这一系列的方式来创建交易。 产生的交易随后将被发送到比特币网络临近的节点,从而使得该交易能够在整个比特币网络中传播。然而,在交易传递到临近的节点前,每一个收到交易的比特币节点将会首先验证该交易,这将确保只有有效的交易才会在网络中传播,而无效的交易将会在第一个节点处被废弃。 每一个节点在校验每一笔交易时,都需要对照一个长长的标准列表: ▷交易的语法和数据结构必须正确。 ▷输入与输出列表都不能为空。 ▷交易的字节大小是小于 MAX_BLOCK_SIZE 的。 ▷每一个输出值,以及总量,必须在规定值的范围内 (小于 2,100 万个币,大于 0)。 ▷没有哈希等于 0,N 等于-1 的输入(coinbase 交易不应当被中继)。 ▷nLockTime 是小于或等于 INT_MAX 的。 ▷交易的字节大小是大于或等于 100 的。 238 ▷交易中的签名数量应小于签名操作数量上限。 ▷解锁脚本(scriptSig)只能够将数字压入栈中,并且锁定脚本(scriptPubkey) 必须要符合 isStandard 的格式 (该格式将会拒绝非标准交易)。 ▷池中或位于主分支区块中的一个匹配交易必须是存在的。 ▷对于每一个输入,如果引用的输出存在于池中任何的交易,该交易将被拒绝。 ▷对于每一个输入,在主分支和交易池中寻找引用的输出交易。如果输出交易缺 少任何一个输入,该交易将成为一个孤立的交易。如果与其匹配的交易还没有出 现在池中,那么将被加入到孤立交易池中。 ▷对于每一个输入,如果引用的输出交易是一个 coinbase 输出,该输入必须至 少获得 COINBASE_MATURITY (100)个确认。 ▷对于每一个输入,引用的输出是必须存在的,并且没有被花费。 ▷使用引用的输出交易获得输入值, 并检查每一个输入值和总值是否在规定值的范围内 (小于 2100 万个币,大于 0)。 ▷如果输入值的总和小于输出值的总和,交易将被中止。 ▷如果交易费用太低以至于无法进入一个空的区块,交易将被拒绝。 ▷每一个输入的解锁脚本必须依据相应输出的锁定脚本来验证。 这些条件能够在比特币标准客户端下的 AcceptToMemoryPool、CheckTransaction 和 CheckInputs 函数中获得更详细的阐述。请注意,这些条件会随着时间发生变化,为了处理新型拒绝服务攻击,有时候也为交易类型多样 化而放宽规则。 在收到交易后,,每一个节点都会在全网广播前对这些交易进行校验,并以接收时的相应顺序,为有效的新交易建立一个池(交易池)。 8.4 挖矿节点 在比特币网络中,一些节点被称为专业节点矿工。 新区块并不仅仅是象征着竞赛结束的方格旗;它也是下一个区块竞赛的发令枪。 8.5 整合交易至区块 验证交易后,比特币节点会将这些交易添加到自己的内存池中。内存池也称作交易池,用来暂存尚未被加入到区块的交易记录。与其他节点一样,Jing 的节点会收集、验证并中继新的交易。而与其他节点不同的是,Jing 的节点会把这些交易整合到一个候选区块中。 8.5.1 交易块龄, 矿工费和优先级 Jing 的比特币节点需要为内存池中的每笔交易分配一个优先级,并选择较高优先级的交易记录来构建候选区块。交易的优先级是由交易输入所花费的UTXO 的“块龄”决定,交易输入值高、“块龄”大的交易比那些新的、输入值 小的交易拥有更高的优先级。如果区块中有足够的空间,高优先级的交易行为将不需要矿工费。 交易的优先级是通过输入值和输入的“块龄”乘积之和除以交易的总长度得到的: UTXO 的“块龄”是自该 UTXO 被记录到区块链为止所经历过的区块数,即这个 UTXO 在区块链中的深度。交易记录的大小由字节来表示。一个交易想要成为“较高优先级”,需满足的条件:优先值大于 57,600,000,相当于一个比特币(即 100 万聪),年龄为一天(144 个区块),交易的大小为 250 个字节。 8.5.2 创币交易 区块中的第一笔交易是笔特殊交易,称为创币交易或者 coinbase 交易。 与 常规交易不同,创币交易没有输入,不消耗 UTXO。它只包含一个被称作coinbase 的输入,仅仅用来创建新的比特 币。创币交易有一个输出,支付到这个矿工的比特币地址。 8.5.3 Coinbase 奖励与矿工费 8.5.4 创币交易的结构 8.5.5 Coinbase 数据 创币交易不包含“解锁脚本“(又称作 scriptSig)字段,这个字段被 coinbase数据替代,长度最小 2 字节,最大 100 字节。除了开始的几个字节外,矿工可以任意使用 coinbase 的其他部分,随意填充任何数据。 8.6 构造区块头 为了构造区块头,挖矿节点需要填充六个字段,如表 8-3 中所示。 区块头完成全部的字段填充后,挖矿就可以开始进行了。挖矿的目标是找到一个使区块头哈希值小于难度目标的 nonce。挖矿节点通常需要尝试数十亿甚至数万亿个不同的 nonce 取值,直到找到一个满足条件的 nonce 值。 8.7 构建区块 用最简单的术语来说,挖矿就是重复计算区块头的哈希值,不断修改该参数,直到与哈希值匹配的一个过程。 哈希函数的结果无法提前得知, 也没有能得到一 个特定哈希值的模式。哈希函数的这个特性意味着:得到哈希值的唯一方法是不断的尝试,每次随机修改输入,直到出现适当的哈希值。 8.7.1 工作量证明算法 哈希函数的输入数据的长度是任意的,将产生一个长度固定且绝不雷同的值,可将其视为输入的数字指纹。对于特定输入,哈希的结果每次都一样,任何实现 相同哈希函数的人都可以计算和验证。一个加密哈希函数的主要特征就是不同的输入几乎不可能出现相同的数字指纹。因此,相对于随机选择输入,有意地选择输入去生成一个想要的哈希值几乎是不可能的。 无论输入的大小是多少,SHA256 函数的输出的长度总是 256bit。 8.7.2 难度表示 8.7.3 难度目标与难度调整 如前所述,目标决定了难度,进而影响求解工作量证明算法所需要的时间。那么问题来了:为什么这个难度值是可调整的?由谁来调整?如何调整? 比特币的区块平均每 10 分钟生成一个。这就是比特币的心跳,是货币发行速率和交易达成速度的基础。不仅是在短期内,而是在几十年内它都必须要保持恒定。在此期间,计算机性能将飞速提升。此外,参与挖矿的人和计算机也会不断变化。为了能让新区块的保持 10 分钟一个的产生速率,挖矿的难度必须根据这些变化进行调整。事实上,难度是一个动态的参数,会定期调整以达到每 10分钟一个新区块的目标。简单地说,难度被设定在,无论挖矿能力如何,新区块产生速率都 保持在 10 分钟一个 那么,在一个完全去中心化的网络中,这样的调整是如何做到的呢?难度的调整是在每个完整节点中独立自动发生的。每 2,016 个区块中的所有节点都会调整难度。 难度的调整公式是由最新 2,016 个区块的花费时长与 20,160 分钟 (两周,即这些区块以 10 分钟一个速率所期望花费的时长)比较得出的。难度是根据实际时长与期望时长的比值进行相应调整的(或变难或变易)。简单来说,如果网络发现区块产生速率比 10 分钟要快时会增加难度。如果发现比 10 分钟慢时则降低难度。 寻找一个比特币区块需要整个网络花费 10 分钟来处理, 每发现 2,016个区块时会根据前 2,016 个区块完成的时间对难度进行调整。 值得注意的是目标难度与交易的数量和金额无关。这意味着哈希算力的强弱,即让比特币更安全的电力投入量,与交易的数量完全无关。换句话说,当比特币的规模变得更大,使用它的人数更多时,即使哈希算力保持当前的水平,比特币的安全性也不会受到影响。 哈希算力的增加表明更多的人为得到比特币回报而加入了挖矿队伍。只要为了回报,公平正当地从事挖矿的矿工群体保持足够的哈希算力,"接管"攻击就不会得逞,让比特币的安全无虞。 目标难度和挖矿电力消耗与将比特币兑换成现金以支付这些电力之间的关系密切相关。高性能挖矿系统就是要用当前硅芯片以最高效的方式将电力转化为哈希算力。挖矿市场的关键因素就是每度电转换为比特币后的价格。因为这决定着挖矿活动的营利性,也因此刺激着人们选择进入或退出挖矿市场。 8.8 成功构建区块 8.9 校验新区块 比特币共识机制的第三步是通过网络中的每个节点独立校验每个新区块。当新区块在网络中传播时,每一个节点在将它转发到其节点之前,会进行一系列的测试去验证它。这确保了只有有效的区块会在网络中传播。独立校验还确保了诚实的矿工生成的区块可以被纳入到区块链中,从而获得奖励。行为不诚实的矿工所产生的区块将被拒绝,这不但使他们失去了奖励,而且也浪费了本来可以去寻找工作量证明解的机会,因而导致其电费亏损。 当一个节点接收到一个新的区块,它将对照一个长长的标准清单对该区块进行验证,若没有通过验证,这个区块将被拒绝。这些标准可以在比特币核心客户端的 CheckBlock 函数和 CheckBlockHead 函数中获得,它包括: ▷ 区块的数据结构语法上有效 ▷ 区块头的哈希值小于目标难度(确认包含足够的工作量证明) ▷ 区块时间戳早于验证时刻未来两个小时(允许时间错误) ▷ 区块大小在长度限制之内 ▷ 第一个交易(且只有第一个)是 coinbase 交易 ▷ 使用检查清单验证区块内的交易并确保它们的有效性,本书 177 页 ▷ “交易的独立校验”一节已经讨论过这个清单。 每一个节点对每一个新区块的独立校验,确保了矿工无法欺诈。在前面的章节中,我们看到了矿工们如何去记录一笔交易,以获得在此区块中创造的新比特币和交易费。为什么矿工不为他们自己记录一笔交易去获得数以千计的比特币?这是因为每一个节点根据相同的规则对区块进行校验。一个无效的coinbase 交 易将使整个区块无效,这将导致该区块被拒绝,因此,该交易就不会成为总账的一部分。矿工们必须构建一个完美的区块,基于所有节点共享的规则,并且根据正确 工作量证明的解决方案进行挖矿,他们要花费大量的电力挖矿才能做到这一点。如果他们作弊,所有的电力和努力都会浪费。这就是为什么独立校验是去中心化共识 的重要组成部分。 8.10 区块链的组装与选择 比特币去中心化的共识机制的最后一步是将区块集合至有最大工作量证明的链中。一旦一个节点验证了一个新的区块,它将尝试将新的区块连接到到现存的区块链,将它们组装起来。 节点维护三种区块:第一种是连接到主链上的,第二种是从主链上产生分支的(备用链),最后一种是在已知链中没有找到已知父区块的。在验证过程中,一旦发现有不符合标准的地方,验证就会失败,这样区块会被节点拒绝,所以也不会加入到任何一条链中。 8.10.1 区块链分叉 比特币将区块间隔设计为 10 分钟,是在更快速的交易确认和更低的分叉概率间作出的妥协。更短的区块产生间隔会让交易清算更快地完成,也会导致更加频繁地区块链分叉。与之相对地,更长的间隔会减少分叉数量,却会导致更长的清算时间。 8.11 挖矿和算力竞赛 比特币挖矿是一个极富竞争性的行业。自从比特币存在开始,每年比特币算力都成指数增长。一些年份的增长还体现出技术的变革, 比如在 2010 年和 2011年,很多矿工开始从使用 CPU 升级到使用 GPU,进而使用 FGPA(现场可编程门阵列)挖矿。在 2013 年,ASIC 挖矿的引入,把 SHA256 算法直接固化在挖矿专用的硅芯片上,引起了算力的另一次巨大飞跃。一台采用这种芯片的矿机可以提供的算力,比 2010 年比特币网络的整体算力还要大。 摩尔定律指出计算能力每 18 个月增加一倍。尽管如此,随着更高密度的芯片和数据中心的部署竞赛,网络算力继续保持同步的指数增长。现在的竞争已经不再是比较单一芯片的能力,而是一个矿场能塞进多少芯片,并处理好散热和供电问题。 8.11.1 随机值升位方案 2012 年以来,比特币挖矿发展出一个解决区块头基本结构限制的方案。 8.11.2 矿池 在这个激烈竞争的环境中,个体矿工独立工作(也就是 solo 挖矿)没有一点机会。他们找到一个区块以抵消电力和硬件成本的可能性非常小,以至于可以称得上是赌博,就像是买彩票。就算是最快的消费型 ASIC 也不能和那些在巨大机房里拥有数万芯片并靠近水电站的商业矿场竞争。现在矿工们合作组成矿池,汇集数以千计参与者们的算力并分享奖励。通过参加矿池,矿工们得到整体回报的一小部分,但通常每天都能得到,因而减少了不确定性。 矿池通过专用挖矿协议协调成百上千的矿工。个人矿工在建立矿池账号后,设置他们的矿机连接到矿池服务器。 他们的挖矿设备在挖矿时保持和矿池服务器的连接,和其他矿工同步各自的工作。这样,矿池中的矿工分享挖矿任务,之后分享奖励。 8.11.2.1 托管矿池 大部分矿池是“托管的”,意思是有一个公司或者个人经营一个矿池服务器。矿池服务器的所有者叫矿池管理员, 同时他从矿工的收入中收取一个百分比的费用。 8.11.2.2 P2P 矿池 托管矿池存在管理人作弊的可能,管理人可以利用矿池进行双重支付或使区块无效。此外,中心化的矿池服务器代表着单点故障。如果因为拒绝服务攻击服务器挂了或者被减慢,池中矿工就不能采矿。在2011 年,为了解决由中心化造成的这些问题,提出和实施了一个新的矿池挖矿方法。P2Pool 是一个点对点的矿池,没有中心管理人。 P2Pool 通过将矿池服务器的功能去中心化,实现一个并行的类似区块链的系统,名叫份额链。一个份额链是一个难度低于比特币区块链的区块链系统。 8.12 共识攻击 比特币的共识机制指的是,被矿工(或矿池)试图使用自己的算力实行欺骗或破坏的难度很大,至少理论上是这样。就像我们前面讲的,比特币的共识机制依赖于这样一个前提,那就是绝大多数的矿工,出于自己利益最大化的考虑,都会通过诚实地挖矿来维持整个比特币系统。然而,当一个或者一群拥有了整个系统中大量算力的矿工出现之后, 他们就可以通过攻击比特币的共识机制来达到破坏比特币网络的安全性和可靠性的目的。 第 9 章 竞争币、 竞争块链和应用程序 比特币是 20 多年的分布式系统和货币研究的结果,是一项具有革命性的新技术:一种基于工作量证明的去中心化的一致性机制。这项比特币的核心发明引领了一场包括货币体系、金融服务、经济学、分布式系统、投票系统、联合监管和合同体系在内的创新浪潮。 本章将探讨比特币和区块链的发明的衍生物:2009 年比特币诞生以来所涌现出来的竞争币、竞争块链和应用程序。大部分篇幅将要探讨竞争币(alt coin) ,这些电子货币有着与比特币相似的的构建模式出来的, 但它们完全独立地运行在自己的网络和块链系统之上。 9.1 竞争币和竞争块链的分类 比特币是一个开源项目,其源代码也作为其他的一些软件项目的基础。由比特币衍生出来的最常见的形式,就是替代性去中心化货币,简称“竞争币”,这类货币使用跟比特币同样的创建块链的方式来实现自己的电子货币系统。在比特币的块链上层,可以实现一系列的协议层。元币、元块链或者块链应用程序以块链为平台,或通过增加协议层的方式扩展比特币协议。如彩色币,万事达币以及合约币。 9.2 元币平台 元币和元块链是在比特币之上实现的软件层,也可以认为是覆盖在比特币系统之上的平台/协议,或者是在一个币中币的实现。这些功能层拓展了核心比特币 协议,使得在比特币交易和比特币地址中编码附加信息成为可能。元币的第一个实现利用了大量的 hack 技巧把元数据添加到比特币块链中,比如使用比特币地址编码数据,或者利用空白的交易字段存放新协议层增加的这些元数据。自从交易脚本操作码问世之后,元币 得以直接将信息存放在块链之中。 9.2.1 染色币 染色币是一种在少量比特币上存储信息的一种元协议。一个“被染色的”币,是一定数额的重新用于表达另一种资产的比特币。 9 .2.2 万事达币 万事达币是另一个建立在比特币之上的协议,该协议支持多个平台对比特币系统的扩展。万事达币使用名为 MST 的代币来指导交易,但它并不是一种通货。相反的,它服务于其他应用平台,比如用户货币,智能财产代币,去中心化的财产交易和合约系统等等。就像 HTTP 协议是 TCP 协议的应用层一 样,Mastercoin 是比特币协议的应用层协议。 9.2.3 合约币 合约币是另一个建立在比特币系统之上的协议层。合约币拥有用户货币、可交易代币、金融手段、去中心化财产交易和其他一些功能。合约币利用比特币脚本语言中的 OP_RETURE 操作符记录元信息来增加比特币交易的额外信息。合约币使用名为 XCP 的代币维持整个系统的运行。 9.3 竞争币/山寨币 绝大多数的山寨币都来自比特币源代码的克隆,少数则没有使用比特币的任何源码,仅仅是借鉴了块链的模型后自己实现。竞争币或竞争块链(下一节会讲到)都是运行在自己块链上的独立的块链实现。之所以以命名区分,主要是因为竞争币主要用做货币,而竞争块链则不是。 严格意义上讲,比特币的第一个克隆并不是一个竞争币而是一个名为Namecoin 的竞争块链,我们将在下一节讨论。 莱特币 8,400 万的货币总量和相对更快的确认速度,很多莱特币的拥趸相信与比特币相 比,莱特币更适合零售业的交易。 下面所列出的就是这些竞争币区别 于比特币的三点主要不同: ▷ 货币策略不同 ▷ 基于工作量证明的一致性机制不同 ▷ 一些特殊的功能,比如更强的匿名性等等 9.3.1 评估竞争币的价值 以下是关于竞争币和比特币的不同之处的几个问题: ▷ 这款竞争币有没有引入重大的创新? ▷ 如果有,那么这项创新是不是足够吸引使用比特币的用户转移过来? ▷ 这款竞争币是不是致力于某一细分领域或应用? ▷这款竞争币可以吸引到足够多的矿工来抵御一致性攻击吗? 还有一些有关关键财务和市场指标的问题: ▷ 这款竞争币的市场总值是多少? ▷ 整个系统的用户/钱包规模大概是多少? ▷ 接受其支付的商家有多少? ▷ 整个系统每日的交易数是多少? ▷ 交易总量是多少? 9.3.2 货币属性不同于比特币的竞争币: 莱特币、 狗狗币和 Freicoin 比特币本身所具有的一些货币属性令其成为总额固定并且不通货膨胀的货币。比如,比特币的总量为固定的 2,100 万枚,新币的生成速度随时间递减,块生成速度为十分钟一块, 这个频率也控制了整个比特币系统交易的确认速度和新币的生成。很多竞争币通过对这些货币属性的微调,来达到实现不同的货币政策的目的。在这类竞争币中,值得一提的有以下几种。 莱特币 莱特币是最早的一批竞争币中的一员,自 2011 年发布至今,已经成为继比特币之后的第二成功的电子货币。它的主要创新在于两点,一是使用了 scrypt 作为工作量证明算法(继承自前文提到的 Tenebrix),二是更快的货币参数。 ▷ 出块速度:2 分半 ▷ 货币总量:到 2140 年达到 8,400 万 ▷ 一致性算法:scrypt ▷ 市场总值:1 亿 6,000 万美金(截至 2014 年年中) 狗狗币 狗狗币是基于莱特币的一款竞争币,于 2013 年 12 月发布。狗狗币之所以值得一提,主要是因为其飞快的出块速度和惊人的货币总量,其目的也是为了励用户交易和给小费等。狗狗币始于一个玩笑,在其 2014 年快速衰退之前,经发布就风行于巨大而活跃的用户社区。下面是 狗狗币的一些特性: ▷ 出块速度:60 秒 ▷ 货币总量:到 2015 年达到 100,000,000,000(1,000 亿) ▷ 一致性算法:scrypt ▷ 市场总值:1,200 万美金(截至 2014 年年中) Freicoin Freicoin 于 2012 年 7 月发布。它是一种滞留性通货,可以理解为存在钱中的货币的利率为负数。为了鼓励用户消费和减少储 蓄,Freicoin 拟定了一个4.5%的 APR fee。Freicoin 值得一提的原因是它的货币策略跟比特币的通货紧缩策略恰恰相反。作为货币,Freicoin 并不是非常成功,但它是竞争币所能表的多样性货币策略的生动体现。 ▷ 出块速度:10 分钟 ▷ 货币总量:到 2140 年达到 1 亿 ▷ 一致性算法:SHA256 ▷ 市场总值:13 万美金(截至 2014 年年中) 9.3.3 一致性机制创新 peercoin,Myriad,Blackcoin,vericoin 和 NXT 比特币的一致性机制建立在基于 SHA256 算法的工作量证明之上。第一款引入 scrypt 算法作为一致性机制的竞争币是为了便于 CPU 挖矿,避免 ASIC 矿机可能导致的算力集中化的问题。在那之后,对于一致性机制的创新一直很活跃。诸多竞争币陆续引进了包括 scrypt,scrypt-N, Skein, Groestl, SHA3, X11, Blake 在内的算法来实现工作量证明的一致性机制。而在 2013 年,作为工作量证明的一种替代机制——权益证明的出现,成为现代竞争币的基础。 9.3.4 多目的挖矿创新 Primecoin, Curecoin, Gridcoin 比特币的工作量证明机制只有一个目的:维护比特币系统的安全。跟维护一个传统货币系统比起来,挖矿的成本并不高。然而,某些批评者认为某些批评者认 为挖矿这一行为是一种浪费。新一代的加密货币试图解决这个争议。多目的挖矿算法就是为了解决工作量证明导致的“浪费”问题而出现的。多目的挖矿在为货币系 统的安全加入额外需求的同时,也为该系统的供需关系加入了额外的变量。 9.3.5 致力于匿名性的竞争币 CryptoNote, Bytecoin, Monero, Zerocash/Zerocoin, Darkcoin 比特币一直被误解为匿名货币。事实上,将个人和比特币地址关联起来,是一件相对容易的事情。利用大数据分析可以很容易地得到某一比特币地址的消费习 惯。一些竞争币试图通过增强匿名性来解决这个问题。最初尝试的是 Zerocoin,它是一种建立在比特币协议之上的元币协议, 最早发布于 2013 IEEE 安全隐私讨论会上。截至本书完稿时,基于这个协议的 Zerocash 的竞争币系统还在开发当中。匿名性的另一种实现名为 CryptoNote,初 见于 2013 年 10 月的一篇论文。CryptoNote 是一种由多个竞争币一起实现的基础技术,稍后将重点讨论。除了上述两种实现之外,还有一些其他的独 立的匿名币,比如利用影子地址和交易混淆来达到匿名性目的的 Darkcoin。 Zerocoin/Zerocash Zerocoin 是 2013 年由 Johns Hopkins 发表的电子货币匿名性的一种理论实现。截至本书完稿时,基于这一理论的 Zerocash 的竞争币系统还在开发当中。 9.4 非货币型竞争区块链 非货币型竞争币区块链是区块链设计模式的另类实现,并不主要作为货币使用。当然不少这种区块链的确含有货币,只不过它们的货币仅是一种象征,用于分配其他东西,比如一种资源或者一份合约。换句话说,货币并不是非货币型竞争币区块链的要点,仅仅是一种次要特征。 9.4.1 域名币 域名币是比特币源代码的首个克隆产物,它是一种使用区块链的去中心化平台,用来注册和转让键-值对。域名币支持全球的域-名注册,类似因特网上的域 -名注册系统。目前域名币作为根域名.bit 的替代性域名服务(DNS)使用。域名币也可以用来注册其他命名空间下的名称和键-值对,例如存储邮件地址、密钥、SSL 证书、文件签名、投票系统和股票凭证之类,以及许多其他应用。 9.4.2 Bitmessage Bitmessage 是一个实现了去中心化安全消息服务的比特币竞争币区块链,其本质上是一个无服务器的加密电子邮件系统。 9.4.3 以太坊 以太坊是一种图灵完备的平台,基于区块链账簿,用于合约的处理和执行。它不是比特币的一个克隆,而是完完全全独立的一种设计和实现。以太坊内置一种叫做 ether 的货币,该货币是付合约执行之费用所必须的。以太坊区块链记录的东西叫做合约,所谓合约,就是一种低级二进制码,也是一种图灵完备语言。本质上,合约其实是运行在以太坊系统中各个节点上的程序。这些程序可以存储数据、支付及收取、存储 ether 以及执行无穷范围(因此才叫图灵完备)的计算行为,在系统中充当去中心化的自治软件代理。 以太坊能够实现一些颇为复杂的系统, 这些系统甚至还能自我实现为其他的竞争币区块链。举例来说,下面就是一个类域名币的域名注册合约,使用以太坊代码编写(或者更准确地说,使用一种可编译为以太坊代码的高级代码编写): 9.5 加密货币的未来 总体来看,加密货币的未来甚至比特币还要光明。这是因为,比特币引入了这样一种全新的形式,那就是去中心化的组织和共识,而且这种形式已经催生了大量不可思议的创新。这些创新很有可能影响到社会中相当广泛的行业,从分布式系统科学到金融、经济、货币、中央银行以及企业管理,不一而足。在以前,很多人类活动都需要一个中心化的机构或组织来实现权威或可信控制点的功能,现在,这些都可以去中心化了。区块链和共识系统的发明,还会显著降低大型系统在组织及协调上的花销,同时也将消除权力攫取、腐败及管制俘获的可趁之机。 第 10 章 比特币安全 保护比特币是很具有挑战性的事,因为比特币不像银行账户余额那样体现抽象价值。比特币其实更像数字现金或黄金。你可能听过这样的说法,“现实持有,败一胜九。”好吧,在比特币的世界里,这样的持有只能让你有一成胜率。而只有拥有解锁比特币的密钥才相当于持有现金或一块贵重金属。 你可能会将密钥丢失,会放错地方,会被盗或者不小心错支了数额。无论是哪种场景,用户都没有办法撤回,因为这就像是将现金丢在了车水马龙的大街上。不过,与现金、黄金或者银行账户相比,比特币有着一个独一无二的优势。你不能“备份”你的现金、黄金或者银行账户,但你可以像备份其他文件一样,备 份含有密钥的比特币钱包。它可以被复制成很多份,放到不同的地方保存起来,甚至能打印到纸上进行实体备份。比特币与至今为止的其他货币是如此不同,以致于 我们需要以一种全新的思维方式来衡量比特币的安全性。 10.1 安全准则 比特币的核心准则是去中心化,这一点对安全性具有重要意义。在中心化的模式下,例如传统的银行或支付网络,需要依赖于访问控制和审查制度将不良行为者拒之门外。相比之下,比特币这样的去中心化系统则将责任和控制权都移交给了用户。由于网络的安全性是基于工作量证明而非访问控制,比特币网络可以对所有 人开放,也无需对比特币流量进行加密。 比特币则截然不同,一笔比特币交易只授权向指定接收方发送一个指定数额,并且不能被修改或伪造。它不会透露任何个人信息,例如当事人的身份,也不能用于权限外的支付。因此,比特币的支付网络并不需要加密或防窃听保护。事实上,你可以在任何公开的网络上广播比特币交易的数据,例如在不安全的WiFi 或蓝牙网络上公开传播比特币交易的数据,这对安全性没有任何影响。 比特币的去中心化安全模型很大程度上将权力移交到用户手上,随之而来的是用户们保管好密钥的责任。 这对于大多数用户来说并非一件易事,特别是在像智能手机或笔记本电脑这种能能时刻联网的通用设备上。虽然比特币的去中心化模型避免了常见的信用卡盗用等情况,但很多用户由于无法保管好密钥从而被黑客攻击。 10.1.1 比特币系统安全开发 对于比特币开发者而言最重要的是去中心化原则。大多数开发者对中心化的安全模型很熟悉,并可能试图将中心化的模型运用到借鉴比特币的应用中去,这将给比特币带来灭顶之灾。 比特币的安全性依赖于密钥的分散性控制,并且需要矿工们各自独立地进行交易验证。如果你想利用好比特币的安全性,你需要确保自己处于比特币的安全模型里。简而言之,不要将用户的密钥控制权拿走,不要接受非区块链交易信息。 例如,许多早期的比特币交易所将所有用户的资金集中在一个包含着私钥的“热钱包”里,并存放在服务器上。这样的设计夺取了用户的掌控权,并将密钥集中到单个系统里。很多这样的系统都被黑客攻破了,并给客户带来灾难性后果。 另一个常见的错误是接受区块链离线交易,妄图减少交易费或加速交易处理速度。一个“区块链离线交易”系统将交易数据记录在一个内部的中心化账本上,然后偶尔将它们同步到比特币区块链中。这种做法,再一次,用专制和集中的方式取代比特币的去中心化安全模型。当数据处于离线的区块链上的时候,保护不当的 中心化账本里的资金可能会不知不觉被伪造、被挪用、被消耗。 除非你是准备大力投资运营安全,叠加多层访问控制,或(像传统的银行那样)加强审计,否则在将资金从比特币的去中心化安全场景中抽离出来之前,你应该慎重考虑一番。即使你有足够的资金和纪律去实现一个可靠的安全模型,这样的设计也仅仅是复制了一个脆弱不堪,深受账户盗窃威胁、贪污和挪用公款困扰的传 统金融网络而已。要想充分利用比特币特有的去中心化安全模型,你必须避免中心化架构的常见诱惑,因它最终将摧毁比特币的安全性。 10.1.2 信任根源 比特币的安全体系与这不同。在比特币里,共识系统创建了一个可信的完全去中心化的公开账本,一个正确验证过的区块使用创世块作为信任的根源,建立一条直至当前区块的可信任链。比特币系统可以并应该使用区块链作为它们的信任根源。在设计一个多系统服务机制的比特币应用时,你应该仔细确认安全体系,以确保对它的信任能有据可依。最终,唯一可确信无疑的是一条完全有效的区块链。如果你的应用程序或明或暗地信赖于区块链以外的东西,就该引起重视,因为它可能会引入漏洞。一个不错的方法评估你应用程序的安全体系:单独考量每个组件,设想该组件被完全攻破并被坏人掌控的场景。依次取出应用程序的每个组件,并评估 它被攻破时对整体安全的影响。如果你的应用程序的安全性在该组件沦陷后大打折扣,那就说明你已经对这些组件过度信任了。一个没有漏洞的比特币应用程序应该 只受限于比特币的共识机制,这意味着其安全体系的信任源于比特币最坚固的部分。 10.2 用户最佳安全实践 人类使用物理的安全控制已经有数千年之久。相比之下,我们的数字化安全经验的年纪还不满 50 岁。现代通用的操作系统并不是十分安全,亦不特别适合用来存储数字货币。我们的电脑通过一直连接的互联网长时间暴露在外,它们运行着成千上万第三方软件组件,这些软件往往可以不受约束地访问用户的文件。你电脑 上安装的众多软件只要有一个恶意软件,就会威胁到你的文件,可窃取你钱包里的所有比特币。想要杜绝病毒和木马对电脑的威胁,用户要达到一定的计算机维护水平,只有小部分人能做到。 比特币创造了具有内在价值的数字资产,它可以被窃取,并立即转移给他人而无法撤回。这让黑客有了强烈的作案动机。 幸运的是,比特币也有着激励机制,以提高计算机的安全性。如前所述,计算机受威胁的风险是模糊的,间接的,而比特币让这些风险变得明确清晰。在电脑上保存比特币让用户时刻注意他们需要提高计算机的安全性,结果便是这使得比特币和其它数字货币得以传播和扩散,我们已经看到在黑客技术和安全解决方案双方的提升。简单来说,黑客现在有着一个非常诱人的目标,而用户也有明确的激励性去保卫自己。 在过去的三年里,随着比特币不断被接纳,一个直接的结果是,我们已经看到信息安全领域取得了巨大创新,例如硬件加密,密钥存储和硬件钱包,多重签名技术和数字托管。在下面的章节中,我们将研究各种实际用户安全中的实践经验。 10.2.1 比特币物理存储 相比数字信息的安全,大多数用户对物理安全更加熟悉,一个非常有效保护比特币的方法是,将它们转换为物理形式。比特币密钥不过是串长数字而已。这意味着它们可以以物理形式存储起来,如印在纸上或蚀刻成金属硬币上。这样保护密钥就变成了简单地保护印着比特币密钥的物理实体。一组打印在纸上的比特币密钥被称为“纸钱包”,有许多可以用来创建它们的免费工具。我个人将大部分(99%以上)的比特币存储在纸钱包上,并用 BIP0038 加密,复制了多份并锁在保险箱里。将比特币离线保存被称为冷存储,它是最有效的安全技术 之一。冷存储系统是在一个离线系统(一个从来没有连接过互联网的系统)上生成密钥,并离线存储到纸上或者 U 盘等电子媒介。 10.2.2 硬件钱包 从长远来看,比特币安全将越来越多地以硬件防篡改钱包的形式出现。与智能手机或台式电脑不同,一个比特币硬件钱包只有一个目的, 安全地存储比特币。不像容易受害的常用软件那样,硬件钱包只提供了有限的接口,从而可以给非专业用户提供近乎万无一失的安全等级。我预期将看到硬件钱包成为比特币储存的主要方式。要想看硬件钱包的实例,请查阅 Trezor。 10.2.3 平衡风险 虽然大多数用户都非常关注比特币防盗,其实还有一个更大的风险存在。数据文件丢失的情况时有发生。如果比特币的数据也在其中,损失将会让人痛苦不堪。为了保护好比特币钱包,用户必须非常注意不要剑走偏锋,这样不至于会搞丢比特币。 在 2011 年 7 月,一个著名的比特币认知教育项目损失了近 7,000 枚比特币。为了防止被盗窃,其主人曾之前采取了一系列复杂的操作去加密备份。结果他们不慎丢失了加密的密钥,使得备份变得毫无价值,白白失去了一大笔财富。如果你保护比特币的方式太过了,这好比于把钱藏在沙漠里,你可能不能再把它找回来了。 10.2.4 分散风险 你会将你的全部家当换成现金放在钱包里随身携带么?大多数人会认为这非常不明智,但比特币用户经常会将所有的比特币放在一个钱包里。用户应该将风险分散到不同类型的比特币钱包。审慎的用户应该只留一小部分(或许低于5%)的比特币在一个在线的或手机钱包,就像零用钱一样,其余的部分应该采用不同存储机制分散开来,诸如电脑钱包和离线(冷存储)钱包。 10.2.5 多重签名管理 当一个公司或个人持有大量比特币时,他们应该考虑采用多重签名的比特币地址。多重签名比特币地址需要多个签名才能支付,从而保证资金的安全。多重签名的密钥应存储在多个不同的地方,并由不同的人掌控。打个比方,在企业环境中,密钥应该分别生成并由若干公司管理人员持有,以确保没有任何一个人可以独自占有资金。多重签名的地址也可以提供冗余,例如一个人持有多个密钥,并将它们分别存储在不同的地方。 10.2.6 存活能力 一个非常重要却又常常被忽视的安全性考虑是可用性,尤其是在密钥持有者丧失工作能力或死亡的情况下。比特币的用户被告知应该使用复杂的密码,并保证他们的密钥安全且不为他人所知。不幸的是,这种做法使得在用户无法解锁时,用户的家人几乎无法将该财产恢复。事实上,比特币用户的家人可能完全不知道这笔比特币资金的存在。如果你有很多的比特币, 你应该考虑与一个值得信赖的亲属或律师分享解密的细节。一个更复杂的比特币生还计划,可以通过设置多重签名,做好遗产规划,并通过专门的“数字资产执行者”律师处理后事。 10.3 总结
json metadata{"tags":["cn","reading","blockchain","bitcoin"],"links":["http://zhibimo.com/books/wang-miao/mastering-bitcoin"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #14932122/Trx 21b546b6ede5cedc0f7338a5879c9f6486520787
View Raw JSON Data
{
  "trx_id": "21b546b6ede5cedc0f7338a5879c9f6486520787",
  "block": 14932122,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T04:59:36",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "cn",
      "author": "chenchun",
      "permlink": "3bvz9j-1",
      "title": "比特币、区块链读书笔记1《精通比特币》第三部分",
      "body": "《精通比特币》作者:Andreas M.Antonopoulos。\n本书下载地址:http://zhibimo.com/books/wang-miao/mastering-bitcoin\n翻译:薄荷凉幼;陈萌琦;陈姝吉;程鹏;程西园;达文西;吉鸿帆;李丹;李润熙;李凌豪;李昕阳;刘畅;吕新浩;马峰;牛东晓;秦彤;邱頔;邱蒙;戎如香;史磊;汪海波;王宏钢;辛颖;杨兵;尹文东;余龙;张林;张琦张大嫂;张亚超;张泽铭;赵冬帅;赵\n余;YANG YANG。\n\n第 8 章 挖矿与共识\n8.1 简介\n挖矿是增加比特币货币供应的一个过程。挖矿同时还保护着比特币系统的安全,防止欺诈交易,避免“双重支付”,“双重支付”是指多次花费同一笔比特币。矿工们通过为比特币网络提供算力来换取获得比特币奖励的机会。\n\n矿工们验证每笔新的交易并把它们记录在总帐簿上。每 10 分钟就会有一个新的区块被“挖掘”出来,每个区块里包含着从上一个区块产生到目前这段时间内发生的所有交易,这些交易被依次添加到区块链中。我们把包含在区块内且被添加到区块链上的交易称为“确认”交易,交易经过“确认”之后,新的拥有者才能够花费他在交易中得到的比特币。\n\n矿工们在挖矿过程中会得到两种类型的奖励:创建新区块的新币奖励,以及区块中所含交易的交易费。为了得到这些奖励,矿工们争相完成一种基于加密哈希算法的数学难题,这些难题的答案包括在新区块中,作为矿工的计算工作量的证明,被称为”“工作量证明”。该算法的竞争的机制以及获胜者有权在区块链上进行交易记录的机制,这二者比特币安全的基石。\n\n新比特币的生成过程被称为挖矿是因为它的奖励机制被设计为速度递减模式,类似于贵重金属的挖矿过程。比特币的货币是通过挖矿发行的,类似于中央银行通过印刷银行纸币来发行货币。矿工通过创造一个新区块得到的比特币数量大约每四年(或准确说是每隔 210,000 个块)减少一半。开始时为 2009 年 1月每个区块奖励 50 个比特币,然后到 2012 年 11 月减半为每个区块奖励 25个比特币。之后将在 2016 年的某个时刻再次减半为每个新区块奖励 12.5 个比特币。基于这个公式,比特币挖矿奖励以指数方式递减,直到 2140 年。届时所有的比特币(20,999,999,980)全部发行完毕。换句话说在 2140 年之后,不会再有新的比特币产生。\n矿工们同时也会获取交易费。每笔交易都可能包含一笔交易费,交易费是每笔交易记录的输入和输出的差额。在挖矿过程中“挖出”新区块的矿工获胜者可以得到该区块中包含的所有交易“小费”。目前,这笔费用占矿工收入的 0.5%或更少,大部分收益仍来自挖矿所得的比特币奖励。然而随着挖矿奖励的递减,以及每个区块中包含的交易数量增加,交易费在矿工收益中所占的比重将会逐渐增加。在 2140 年之后,所有的矿工收益都将由交易费构成。\n\n“挖矿”这个词有一定的误导性。它容易引起对贵重金属采矿的的联想,从而使我们的注意力都集中在每个新区块产生的奖励上。尽管挖矿带来的奖励是一种激励,但它最主要的目的并不是奖励本身或者新币的产生。如果只把挖矿看作生产新币的过程,那你是把手段(激励措施)当成了目的。挖矿是一种将结算所去中心化的过程,每个结算所对处理的交易进行验证和结算。挖矿保护了比特币系统的安全,并且实现了在没有中心机构的情况下,也能使整个比特币网络达成共识。\n\n挖矿这个发明使比特币变得很特别,这种去中心化的安全机制是点对点的电子货币的基础。铸造新币的奖励和交易费是一种激励机制,它可以调节矿工行为和网络安全,同时又完成了比特币的货币发行。\n在本章中,我们先来审视比特币的货币发行机制,然后再来了解挖矿的最重要的功能:支撑比特币安全的去中心化的自发共识机制。\n\n8.1.1 比特币经济学和货币创造\n通过创造出新区块,比特币以一个确定的但不断减慢的速率被铸造出来。大约每十分钟产生一个新区块, 每一个新区块都伴随着一定数量从无到有的全新比特币。每开采 210,000 个块,大约耗时 4 年,货币发行速率降低 50%。在比特币运行的第一个四年中,每个区块创造出 50 个新比特币。\n\n2012 年 11 月,比特币的新发行速度降低到每区块 25 个比特币,并且预计会在 2016 年的某个时刻, 在第 420,000 个区块被 “挖掘” 出来之后 降低到 12.5比特币/区块。在第 13,230,000 个区块(大概在 2137 年被挖出)之前,新币的发行速度会以指数形式进行 64 次“二等分”。到那时 每区块发行比特币数量变为比特币的最小货币单位——1 聪。最终,在经过 1,344 万个区块之后,所有的共 2,099,999,997,690,000 聪比 特币将全部发行完毕。换句话说,到 2140年左右,会存在接近 2,100 万比特币。在那之后, 新的区块不再包含比特币奖励,矿工的收益全部来自交易费。\n\n总量有限并且发行速度递减创造了一种抗通胀的货币供应模式。法币可被中央银行无限制地印刷出来,而比特币永远不会因超额印发而出现通胀。\n\n通货紧缩货币\n最重要并且最有争议的一个结论是一种事先确定的发行速率递减的货币发行模式会导致货币通货紧缩(简称通缩)。通缩是一种由于货币的供应和需求不匹配导致的货币增值的现象。它与通胀相反,价格通缩意味着货币随着时间有越来越强的购买力。\n\n8.2 去中心化共识\n在上一章中我们了解了区块链。可以将区块链看作一本记录所有交易的公开总帐簿(列表),比特币网络中的每个参与者都把它看作一本所有权的权威记录。但在不考虑相信任何人的情况下, 比特币网络中的所有参与者如何达成对任意一个所有权的共识呢?所有的传统支付系统都依赖于一个中心认证机构,依靠中心机构提供的结算服务来验证并处理所有的交易。比特币没有中心机构,几乎所有的完整节点都有一份公共总帐的备份,这份总帐可以被视为认证过的记录。区块链并不是由一个中心机构创造的,它是由比特币网络中的所有节点各自独立竞争完成的。换句话说比特币网络中的所有节点,依靠着节点间的不稳定的网络连接所传输的信息,最终得出同样的结果并维护了同一个公共总帐。这一章将介绍比特币网络不依靠中心机构而达成共识的机制。\n\n中本聪的主要发明就是这种去中心化的自发共识机制。这种自发,是指没有经过明确选举或者没有固定达成的共识的时间。换句话说,共识是数以千计的独立节点遵守了简单的规则通过异步交互自发形成的产物。所有的比特币属性,包括货币、交易、支付以及不依靠中心机构和信任的安全模型等都是这个机制的衍生物。比特币的去中心化共识由所有网络节点的 4 种独立过程相互作用而产生:\n▷ 每个全节点依据综合标准对每个交易进行独立验证\n▷ 通过完成工作量证明算法的验算,挖矿节点将交易记录独立打包进新区块,\n▷ 每个节点独立的对新区块进行校验并组装进区块链\n▷ 每个节点对区块链进行独立选择,在工作量证明机制下选择累计工作量最大的区块链\n在接下来的几节中,我们将审视这些过程,了解它们之间如何相互作用并达成全网的自发共识,从而使任意节点组合出它自己的权威、可信、公开的总帐。\n\n8.3 交易的独立校验\n在第 5 章中,我们知道了钱包软件通过收集 UTXO、提供正确的解锁脚本、构造支付给接收者的输出这一系列的方式来创建交易。 产生的交易随后将被发送到比特币网络临近的节点,从而使得该交易能够在整个比特币网络中传播。然而,在交易传递到临近的节点前,每一个收到交易的比特币节点将会首先验证该交易,这将确保只有有效的交易才会在网络中传播,而无效的交易将会在第一个节点处被废弃。\n\n每一个节点在校验每一笔交易时,都需要对照一个长长的标准列表:\n▷交易的语法和数据结构必须正确。\n▷输入与输出列表都不能为空。\n▷交易的字节大小是小于 MAX_BLOCK_SIZE 的。\n▷每一个输出值,以及总量,必须在规定值的范围内 (小于 2,100 万个币,大于 0)。\n▷没有哈希等于 0,N 等于-1 的输入(coinbase 交易不应当被中继)。\n▷nLockTime 是小于或等于 INT_MAX 的。\n▷交易的字节大小是大于或等于 100 的。\n238\n▷交易中的签名数量应小于签名操作数量上限。\n▷解锁脚本(scriptSig)只能够将数字压入栈中,并且锁定脚本(scriptPubkey)\n必须要符合 isStandard 的格式 (该格式将会拒绝非标准交易)。\n▷池中或位于主分支区块中的一个匹配交易必须是存在的。\n▷对于每一个输入,如果引用的输出存在于池中任何的交易,该交易将被拒绝。\n▷对于每一个输入,在主分支和交易池中寻找引用的输出交易。如果输出交易缺\n少任何一个输入,该交易将成为一个孤立的交易。如果与其匹配的交易还没有出\n现在池中,那么将被加入到孤立交易池中。\n▷对于每一个输入,如果引用的输出交易是一个 coinbase 输出,该输入必须至\n少获得 COINBASE_MATURITY (100)个确认。\n▷对于每一个输入,引用的输出是必须存在的,并且没有被花费。\n▷使用引用的输出交易获得输入值, 并检查每一个输入值和总值是否在规定值的范围内 (小于 2100 万个币,大于 0)。\n▷如果输入值的总和小于输出值的总和,交易将被中止。\n▷如果交易费用太低以至于无法进入一个空的区块,交易将被拒绝。\n▷每一个输入的解锁脚本必须依据相应输出的锁定脚本来验证。\n这些条件能够在比特币标准客户端下的 AcceptToMemoryPool、CheckTransaction 和 CheckInputs 函数中获得更详细的阐述。请注意,这些条件会随着时间发生变化,为了处理新型拒绝服务攻击,有时候也为交易类型多样\n化而放宽规则。\n在收到交易后,,每一个节点都会在全网广播前对这些交易进行校验,并以接收时的相应顺序,为有效的新交易建立一个池(交易池)。\n\n\n8.4 挖矿节点\n在比特币网络中,一些节点被称为专业节点矿工。\n新区块并不仅仅是象征着竞赛结束的方格旗;它也是下一个区块竞赛的发令枪。\n\n8.5 整合交易至区块\n验证交易后,比特币节点会将这些交易添加到自己的内存池中。内存池也称作交易池,用来暂存尚未被加入到区块的交易记录。与其他节点一样,Jing 的节点会收集、验证并中继新的交易。而与其他节点不同的是,Jing 的节点会把这些交易整合到一个候选区块中。\n\n8.5.1 交易块龄, 矿工费和优先级\nJing 的比特币节点需要为内存池中的每笔交易分配一个优先级,并选择较高优先级的交易记录来构建候选区块。交易的优先级是由交易输入所花费的UTXO 的“块龄”决定,交易输入值高、“块龄”大的交易比那些新的、输入值\n\n小的交易拥有更高的优先级。如果区块中有足够的空间,高优先级的交易行为将不需要矿工费。\n交易的优先级是通过输入值和输入的“块龄”乘积之和除以交易的总长度得到的:\n\nUTXO 的“块龄”是自该 UTXO 被记录到区块链为止所经历过的区块数,即这个 UTXO 在区块链中的深度。交易记录的大小由字节来表示。一个交易想要成为“较高优先级”,需满足的条件:优先值大于 57,600,000,相当于一个比特币(即 100 万聪),年龄为一天(144 个区块),交易的大小为 250 个字节。\n\n8.5.2 创币交易\n\n区块中的第一笔交易是笔特殊交易,称为创币交易或者 coinbase 交易。\n与\n常规交易不同,创币交易没有输入,不消耗 UTXO。它只包含一个被称作coinbase 的输入,仅仅用来创建新的比特 币。创币交易有一个输出,支付到这个矿工的比特币地址。\n8.5.3 Coinbase 奖励与矿工费\n8.5.4 创币交易的结构\n\n8.5.5 Coinbase 数据\n创币交易不包含“解锁脚本“(又称作 scriptSig)字段,这个字段被 coinbase数据替代,长度最小 2 字节,最大 100 字节。除了开始的几个字节外,矿工可以任意使用 coinbase 的其他部分,随意填充任何数据。\n\n8.6 构造区块头\n为了构造区块头,挖矿节点需要填充六个字段,如表 8-3 中所示。\n\n区块头完成全部的字段填充后,挖矿就可以开始进行了。挖矿的目标是找到一个使区块头哈希值小于难度目标的 nonce。挖矿节点通常需要尝试数十亿甚至数万亿个不同的 nonce 取值,直到找到一个满足条件的 nonce 值。\n\n8.7 构建区块\n用最简单的术语来说,挖矿就是重复计算区块头的哈希值,不断修改该参数,直到与哈希值匹配的一个过程。 哈希函数的结果无法提前得知, 也没有能得到一 个特定哈希值的模式。哈希函数的这个特性意味着:得到哈希值的唯一方法是不断的尝试,每次随机修改输入,直到出现适当的哈希值。\n\n8.7.1 工作量证明算法\n哈希函数的输入数据的长度是任意的,将产生一个长度固定且绝不雷同的值,可将其视为输入的数字指纹。对于特定输入,哈希的结果每次都一样,任何实现 相同哈希函数的人都可以计算和验证。一个加密哈希函数的主要特征就是不同的输入几乎不可能出现相同的数字指纹。因此,相对于随机选择输入,有意地选择输入去生成一个想要的哈希值几乎是不可能的。\n\n无论输入的大小是多少,SHA256 函数的输出的长度总是 256bit。\n\n8.7.2 难度表示\n8.7.3 难度目标与难度调整\n如前所述,目标决定了难度,进而影响求解工作量证明算法所需要的时间。那么问题来了:为什么这个难度值是可调整的?由谁来调整?如何调整?\n比特币的区块平均每 10 分钟生成一个。这就是比特币的心跳,是货币发行速率和交易达成速度的基础。不仅是在短期内,而是在几十年内它都必须要保持恒定。在此期间,计算机性能将飞速提升。此外,参与挖矿的人和计算机也会不断变化。为了能让新区块的保持 10 分钟一个的产生速率,挖矿的难度必须根据这些变化进行调整。事实上,难度是一个动态的参数,会定期调整以达到每 10分钟一个新区块的目标。简单地说,难度被设定在,无论挖矿能力如何,新区块产生速率都 保持在 10 分钟一个\n\n那么,在一个完全去中心化的网络中,这样的调整是如何做到的呢?难度的调整是在每个完整节点中独立自动发生的。每 2,016 个区块中的所有节点都会调整难度。 难度的调整公式是由最新 2,016 个区块的花费时长与 20,160 分钟 (两周,即这些区块以 10 分钟一个速率所期望花费的时长)比较得出的。难度是根据实际时长与期望时长的比值进行相应调整的(或变难或变易)。简单来说,如果网络发现区块产生速率比 10 分钟要快时会增加难度。如果发现比 10 分钟慢时则降低难度。\n\n寻找一个比特币区块需要整个网络花费 10 分钟来处理, 每发现 2,016个区块时会根据前 2,016 个区块完成的时间对难度进行调整。\n值得注意的是目标难度与交易的数量和金额无关。这意味着哈希算力的强弱,即让比特币更安全的电力投入量,与交易的数量完全无关。换句话说,当比特币的规模变得更大,使用它的人数更多时,即使哈希算力保持当前的水平,比特币的安全性也不会受到影响。 哈希算力的增加表明更多的人为得到比特币回报而加入了挖矿队伍。只要为了回报,公平正当地从事挖矿的矿工群体保持足够的哈希算力,\"接管\"攻击就不会得逞,让比特币的安全无虞。\n\n目标难度和挖矿电力消耗与将比特币兑换成现金以支付这些电力之间的关系密切相关。高性能挖矿系统就是要用当前硅芯片以最高效的方式将电力转化为哈希算力。挖矿市场的关键因素就是每度电转换为比特币后的价格。因为这决定着挖矿活动的营利性,也因此刺激着人们选择进入或退出挖矿市场。\n\n8.8 成功构建区块\n8.9 校验新区块\n比特币共识机制的第三步是通过网络中的每个节点独立校验每个新区块。当新区块在网络中传播时,每一个节点在将它转发到其节点之前,会进行一系列的测试去验证它。这确保了只有有效的区块会在网络中传播。独立校验还确保了诚实的矿工生成的区块可以被纳入到区块链中,从而获得奖励。行为不诚实的矿工所产生的区块将被拒绝,这不但使他们失去了奖励,而且也浪费了本来可以去寻找工作量证明解的机会,因而导致其电费亏损。\n当一个节点接收到一个新的区块,它将对照一个长长的标准清单对该区块进行验证,若没有通过验证,这个区块将被拒绝。这些标准可以在比特币核心客户端的 CheckBlock 函数和 CheckBlockHead 函数中获得,它包括:\n▷ 区块的数据结构语法上有效\n▷ 区块头的哈希值小于目标难度(确认包含足够的工作量证明)\n▷ 区块时间戳早于验证时刻未来两个小时(允许时间错误)\n▷ 区块大小在长度限制之内\n▷ 第一个交易(且只有第一个)是 coinbase 交易\n▷ 使用检查清单验证区块内的交易并确保它们的有效性,本书 177 页\n▷ “交易的独立校验”一节已经讨论过这个清单。\n每一个节点对每一个新区块的独立校验,确保了矿工无法欺诈。在前面的章节中,我们看到了矿工们如何去记录一笔交易,以获得在此区块中创造的新比特币和交易费。为什么矿工不为他们自己记录一笔交易去获得数以千计的比特币?这是因为每一个节点根据相同的规则对区块进行校验。一个无效的coinbase 交 易将使整个区块无效,这将导致该区块被拒绝,因此,该交易就不会成为总账的一部分。矿工们必须构建一个完美的区块,基于所有节点共享的规则,并且根据正确 工作量证明的解决方案进行挖矿,他们要花费大量的电力挖矿才能做到这一点。如果他们作弊,所有的电力和努力都会浪费。这就是为什么独立校验是去中心化共识 的重要组成部分。\n\n8.10 区块链的组装与选择\n比特币去中心化的共识机制的最后一步是将区块集合至有最大工作量证明的链中。一旦一个节点验证了一个新的区块,它将尝试将新的区块连接到到现存的区块链,将它们组装起来。\n节点维护三种区块:第一种是连接到主链上的,第二种是从主链上产生分支的(备用链),最后一种是在已知链中没有找到已知父区块的。在验证过程中,一旦发现有不符合标准的地方,验证就会失败,这样区块会被节点拒绝,所以也不会加入到任何一条链中。\n8.10.1 区块链分叉\n\n\n比特币将区块间隔设计为 10 分钟,是在更快速的交易确认和更低的分叉概率间作出的妥协。更短的区块产生间隔会让交易清算更快地完成,也会导致更加频繁地区块链分叉。与之相对地,更长的间隔会减少分叉数量,却会导致更长的清算时间。\n\n8.11 挖矿和算力竞赛\n比特币挖矿是一个极富竞争性的行业。自从比特币存在开始,每年比特币算力都成指数增长。一些年份的增长还体现出技术的变革, 比如在 2010 年和 2011年,很多矿工开始从使用 CPU 升级到使用 GPU,进而使用 FGPA(现场可编程门阵列)挖矿。在 2013 年,ASIC 挖矿的引入,把 SHA256 算法直接固化在挖矿专用的硅芯片上,引起了算力的另一次巨大飞跃。一台采用这种芯片的矿机可以提供的算力,比 2010 年比特币网络的整体算力还要大。\n\n摩尔定律指出计算能力每 18 个月增加一倍。尽管如此,随着更高密度的芯片和数据中心的部署竞赛,网络算力继续保持同步的指数增长。现在的竞争已经不再是比较单一芯片的能力,而是一个矿场能塞进多少芯片,并处理好散热和供电问题。\n\n8.11.1 随机值升位方案\n2012 年以来,比特币挖矿发展出一个解决区块头基本结构限制的方案。\n\n8.11.2 矿池\n在这个激烈竞争的环境中,个体矿工独立工作(也就是 solo 挖矿)没有一点机会。他们找到一个区块以抵消电力和硬件成本的可能性非常小,以至于可以称得上是赌博,就像是买彩票。就算是最快的消费型 ASIC 也不能和那些在巨大机房里拥有数万芯片并靠近水电站的商业矿场竞争。现在矿工们合作组成矿池,汇集数以千计参与者们的算力并分享奖励。通过参加矿池,矿工们得到整体回报的一小部分,但通常每天都能得到,因而减少了不确定性。\n\n矿池通过专用挖矿协议协调成百上千的矿工。个人矿工在建立矿池账号后,设置他们的矿机连接到矿池服务器。 他们的挖矿设备在挖矿时保持和矿池服务器的连接,和其他矿工同步各自的工作。这样,矿池中的矿工分享挖矿任务,之后分享奖励。\n\n8.11.2.1 托管矿池\n大部分矿池是“托管的”,意思是有一个公司或者个人经营一个矿池服务器。矿池服务器的所有者叫矿池管理员, 同时他从矿工的收入中收取一个百分比的费用。\n\n\n8.11.2.2 P2P 矿池\n托管矿池存在管理人作弊的可能,管理人可以利用矿池进行双重支付或使区块无效。此外,中心化的矿池服务器代表着单点故障。如果因为拒绝服务攻击服务器挂了或者被减慢,池中矿工就不能采矿。在2011 年,为了解决由中心化造成的这些问题,提出和实施了一个新的矿池挖矿方法。P2Pool 是一个点对点的矿池,没有中心管理人。\n\n\nP2Pool 通过将矿池服务器的功能去中心化,实现一个并行的类似区块链的系统,名叫份额链。一个份额链是一个难度低于比特币区块链的区块链系统。\n\n\n8.12 共识攻击\n比特币的共识机制指的是,被矿工(或矿池)试图使用自己的算力实行欺骗或破坏的难度很大,至少理论上是这样。就像我们前面讲的,比特币的共识机制依赖于这样一个前提,那就是绝大多数的矿工,出于自己利益最大化的考虑,都会通过诚实地挖矿来维持整个比特币系统。然而,当一个或者一群拥有了整个系统中大量算力的矿工出现之后, 他们就可以通过攻击比特币的共识机制来达到破坏比特币网络的安全性和可靠性的目的。\n\n第 9 章 竞争币、 竞争块链和应用程序\n比特币是 20 多年的分布式系统和货币研究的结果,是一项具有革命性的新技术:一种基于工作量证明的去中心化的一致性机制。这项比特币的核心发明引领了一场包括货币体系、金融服务、经济学、分布式系统、投票系统、联合监管和合同体系在内的创新浪潮。\n\n本章将探讨比特币和区块链的发明的衍生物:2009 年比特币诞生以来所涌现出来的竞争币、竞争块链和应用程序。大部分篇幅将要探讨竞争币(alt coin) ,这些电子货币有着与比特币相似的的构建模式出来的, 但它们完全独立地运行在自己的网络和块链系统之上。\n\n\n9.1 竞争币和竞争块链的分类\n\n比特币是一个开源项目,其源代码也作为其他的一些软件项目的基础。由比特币衍生出来的最常见的形式,就是替代性去中心化货币,简称“竞争币”,这类货币使用跟比特币同样的创建块链的方式来实现自己的电子货币系统。在比特币的块链上层,可以实现一系列的协议层。元币、元块链或者块链应用程序以块链为平台,或通过增加协议层的方式扩展比特币协议。如彩色币,万事达币以及合约币。\n9.2 元币平台\n元币和元块链是在比特币之上实现的软件层,也可以认为是覆盖在比特币系统之上的平台/协议,或者是在一个币中币的实现。这些功能层拓展了核心比特币 协议,使得在比特币交易和比特币地址中编码附加信息成为可能。元币的第一个实现利用了大量的 hack 技巧把元数据添加到比特币块链中,比如使用比特币地址编码数据,或者利用空白的交易字段存放新协议层增加的这些元数据。自从交易脚本操作码问世之后,元币 得以直接将信息存放在块链之中。\n\n9.2.1 染色币\n染色币是一种在少量比特币上存储信息的一种元协议。一个“被染色的”币,是一定数额的重新用于表达另一种资产的比特币。\n\n9\n.2.2 万事达币\n万事达币是另一个建立在比特币之上的协议,该协议支持多个平台对比特币系统的扩展。万事达币使用名为 MST 的代币来指导交易,但它并不是一种通货。相反的,它服务于其他应用平台,比如用户货币,智能财产代币,去中心化的财产交易和合约系统等等。就像 HTTP 协议是 TCP 协议的应用层一 样,Mastercoin 是比特币协议的应用层协议。\n\n9.2.3 合约币\n合约币是另一个建立在比特币系统之上的协议层。合约币拥有用户货币、可交易代币、金融手段、去中心化财产交易和其他一些功能。合约币利用比特币脚本语言中的 OP_RETURE 操作符记录元信息来增加比特币交易的额外信息。合约币使用名为 XCP 的代币维持整个系统的运行。\n\n9.3 竞争币/山寨币\n绝大多数的山寨币都来自比特币源代码的克隆,少数则没有使用比特币的任何源码,仅仅是借鉴了块链的模型后自己实现。竞争币或竞争块链(下一节会讲到)都是运行在自己块链上的独立的块链实现。之所以以命名区分,主要是因为竞争币主要用做货币,而竞争块链则不是。\n严格意义上讲,比特币的第一个克隆并不是一个竞争币而是一个名为Namecoin 的竞争块链,我们将在下一节讨论。\n\n莱特币 8,400 万的货币总量和相对更快的确认速度,很多莱特币的拥趸相信与比特币相 比,莱特币更适合零售业的交易。\n\n下面所列出的就是这些竞争币区别\n于比特币的三点主要不同:\n▷ 货币策略不同\n▷ 基于工作量证明的一致性机制不同\n▷ 一些特殊的功能,比如更强的匿名性等等\n\n9.3.1 评估竞争币的价值\n以下是关于竞争币和比特币的不同之处的几个问题:\n▷ 这款竞争币有没有引入重大的创新?\n▷ 如果有,那么这项创新是不是足够吸引使用比特币的用户转移过来?\n▷ 这款竞争币是不是致力于某一细分领域或应用?\n▷这款竞争币可以吸引到足够多的矿工来抵御一致性攻击吗?\n还有一些有关关键财务和市场指标的问题:\n▷ 这款竞争币的市场总值是多少?\n▷ 整个系统的用户/钱包规模大概是多少?\n▷ 接受其支付的商家有多少?\n▷ 整个系统每日的交易数是多少?\n▷ 交易总量是多少?\n\n9.3.2 货币属性不同于比特币的竞争币: 莱特币、 狗狗币和 Freicoin\n比特币本身所具有的一些货币属性令其成为总额固定并且不通货膨胀的货币。比如,比特币的总量为固定的 2,100 万枚,新币的生成速度随时间递减,块生成速度为十分钟一块, 这个频率也控制了整个比特币系统交易的确认速度和新币的生成。很多竞争币通过对这些货币属性的微调,来达到实现不同的货币政策的目的。在这类竞争币中,值得一提的有以下几种。\n\n莱特币\n莱特币是最早的一批竞争币中的一员,自 2011 年发布至今,已经成为继比特币之后的第二成功的电子货币。它的主要创新在于两点,一是使用了 scrypt 作为工作量证明算法(继承自前文提到的 Tenebrix),二是更快的货币参数。\n▷ 出块速度:2 分半\n▷ 货币总量:到 2140 年达到 8,400 万\n▷ 一致性算法:scrypt\n▷ 市场总值:1 亿 6,000 万美金(截至 2014 年年中)\n\n狗狗币\n狗狗币是基于莱特币的一款竞争币,于 2013 年 12 月发布。狗狗币之所以值得一提,主要是因为其飞快的出块速度和惊人的货币总量,其目的也是为了励用户交易和给小费等。狗狗币始于一个玩笑,在其 2014 年快速衰退之前,经发布就风行于巨大而活跃的用户社区。下面是 狗狗币的一些特性:\n▷ 出块速度:60 秒\n▷ 货币总量:到 2015 年达到 100,000,000,000(1,000 亿)\n▷ 一致性算法:scrypt\n▷ 市场总值:1,200 万美金(截至 2014 年年中)\nFreicoin\nFreicoin 于 2012 年 7 月发布。它是一种滞留性通货,可以理解为存在钱中的货币的利率为负数。为了鼓励用户消费和减少储 蓄,Freicoin 拟定了一个4.5%的 APR fee。Freicoin 值得一提的原因是它的货币策略跟比特币的通货紧缩策略恰恰相反。作为货币,Freicoin 并不是非常成功,但它是竞争币所能表的多样性货币策略的生动体现。\n▷ 出块速度:10 分钟\n▷ 货币总量:到 2140 年达到 1 亿\n▷ 一致性算法:SHA256\n▷ 市场总值:13 万美金(截至 2014 年年中)\n9.3.3 一致性机制创新\npeercoin,Myriad,Blackcoin,vericoin 和 NXT 比特币的一致性机制建立在基于 SHA256 算法的工作量证明之上。第一款引入 scrypt 算法作为一致性机制的竞争币是为了便于 CPU 挖矿,避免 ASIC 矿机可能导致的算力集中化的问题。在那之后,对于一致性机制的创新一直很活跃。诸多竞争币陆续引进了包括 scrypt,scrypt-N, Skein, Groestl, SHA3, X11, Blake 在内的算法来实现工作量证明的一致性机制。而在 2013 年,作为工作量证明的一种替代机制——权益证明的出现,成为现代竞争币的基础。\n\n9.3.4 多目的挖矿创新\nPrimecoin, Curecoin, Gridcoin 比特币的工作量证明机制只有一个目的:维护比特币系统的安全。跟维护一个传统货币系统比起来,挖矿的成本并不高。然而,某些批评者认为某些批评者认 为挖矿这一行为是一种浪费。新一代的加密货币试图解决这个争议。多目的挖矿算法就是为了解决工作量证明导致的“浪费”问题而出现的。多目的挖矿在为货币系 统的安全加入额外需求的同时,也为该系统的供需关系加入了额外的变量。\n\n9.3.5 致力于匿名性的竞争币\nCryptoNote, Bytecoin, Monero, Zerocash/Zerocoin, Darkcoin 比特币一直被误解为匿名货币。事实上,将个人和比特币地址关联起来,是一件相对容易的事情。利用大数据分析可以很容易地得到某一比特币地址的消费习 惯。一些竞争币试图通过增强匿名性来解决这个问题。最初尝试的是 Zerocoin,它是一种建立在比特币协议之上的元币协议, 最早发布于 2013 IEEE 安全隐私讨论会上。截至本书完稿时,基于这个协议的 Zerocash 的竞争币系统还在开发当中。匿名性的另一种实现名为 CryptoNote,初 见于 2013 年 10 月的一篇论文。CryptoNote 是一种由多个竞争币一起实现的基础技术,稍后将重点讨论。除了上述两种实现之外,还有一些其他的独 立的匿名币,比如利用影子地址和交易混淆来达到匿名性目的的 Darkcoin。\n\nZerocoin/Zerocash\nZerocoin 是 2013 年由 Johns Hopkins 发表的电子货币匿名性的一种理论实现。截至本书完稿时,基于这一理论的 Zerocash 的竞争币系统还在开发当中。\n\n9.4 非货币型竞争区块链\n非货币型竞争币区块链是区块链设计模式的另类实现,并不主要作为货币使用。当然不少这种区块链的确含有货币,只不过它们的货币仅是一种象征,用于分配其他东西,比如一种资源或者一份合约。换句话说,货币并不是非货币型竞争币区块链的要点,仅仅是一种次要特征。\n\n9.4.1 域名币\n域名币是比特币源代码的首个克隆产物,它是一种使用区块链的去中心化平台,用来注册和转让键-值对。域名币支持全球的域-名注册,类似因特网上的域 -名注册系统。目前域名币作为根域名.bit 的替代性域名服务(DNS)使用。域名币也可以用来注册其他命名空间下的名称和键-值对,例如存储邮件地址、密钥、SSL 证书、文件签名、投票系统和股票凭证之类,以及许多其他应用。\n\n9.4.2 Bitmessage\nBitmessage 是一个实现了去中心化安全消息服务的比特币竞争币区块链,其本质上是一个无服务器的加密电子邮件系统。\n\n9.4.3 以太坊\n以太坊是一种图灵完备的平台,基于区块链账簿,用于合约的处理和执行。它不是比特币的一个克隆,而是完完全全独立的一种设计和实现。以太坊内置一种叫做 ether 的货币,该货币是付合约执行之费用所必须的。以太坊区块链记录的东西叫做合约,所谓合约,就是一种低级二进制码,也是一种图灵完备语言。本质上,合约其实是运行在以太坊系统中各个节点上的程序。这些程序可以存储数据、支付及收取、存储 ether 以及执行无穷范围(因此才叫图灵完备)的计算行为,在系统中充当去中心化的自治软件代理。\n\n以太坊能够实现一些颇为复杂的系统, 这些系统甚至还能自我实现为其他的竞争币区块链。举例来说,下面就是一个类域名币的域名注册合约,使用以太坊代码编写(或者更准确地说,使用一种可编译为以太坊代码的高级代码编写):\n\n9.5 加密货币的未来\n总体来看,加密货币的未来甚至比特币还要光明。这是因为,比特币引入了这样一种全新的形式,那就是去中心化的组织和共识,而且这种形式已经催生了大量不可思议的创新。这些创新很有可能影响到社会中相当广泛的行业,从分布式系统科学到金融、经济、货币、中央银行以及企业管理,不一而足。在以前,很多人类活动都需要一个中心化的机构或组织来实现权威或可信控制点的功能,现在,这些都可以去中心化了。区块链和共识系统的发明,还会显著降低大型系统在组织及协调上的花销,同时也将消除权力攫取、腐败及管制俘获的可趁之机。\n\n第 10 章 比特币安全\n保护比特币是很具有挑战性的事,因为比特币不像银行账户余额那样体现抽象价值。比特币其实更像数字现金或黄金。你可能听过这样的说法,“现实持有,败一胜九。”好吧,在比特币的世界里,这样的持有只能让你有一成胜率。而只有拥有解锁比特币的密钥才相当于持有现金或一块贵重金属。 你可能会将密钥丢失,会放错地方,会被盗或者不小心错支了数额。无论是哪种场景,用户都没有办法撤回,因为这就像是将现金丢在了车水马龙的大街上。不过,与现金、黄金或者银行账户相比,比特币有着一个独一无二的优势。你不能“备份”你的现金、黄金或者银行账户,但你可以像备份其他文件一样,备 份含有密钥的比特币钱包。它可以被复制成很多份,放到不同的地方保存起来,甚至能打印到纸上进行实体备份。比特币与至今为止的其他货币是如此不同,以致于 我们需要以一种全新的思维方式来衡量比特币的安全性。\n\n10.1 安全准则\n比特币的核心准则是去中心化,这一点对安全性具有重要意义。在中心化的模式下,例如传统的银行或支付网络,需要依赖于访问控制和审查制度将不良行为者拒之门外。相比之下,比特币这样的去中心化系统则将责任和控制权都移交给了用户。由于网络的安全性是基于工作量证明而非访问控制,比特币网络可以对所有 人开放,也无需对比特币流量进行加密。\n\n比特币则截然不同,一笔比特币交易只授权向指定接收方发送一个指定数额,并且不能被修改或伪造。它不会透露任何个人信息,例如当事人的身份,也不能用于权限外的支付。因此,比特币的支付网络并不需要加密或防窃听保护。事实上,你可以在任何公开的网络上广播比特币交易的数据,例如在不安全的WiFi 或蓝牙网络上公开传播比特币交易的数据,这对安全性没有任何影响。\n比特币的去中心化安全模型很大程度上将权力移交到用户手上,随之而来的是用户们保管好密钥的责任。 这对于大多数用户来说并非一件易事,特别是在像智能手机或笔记本电脑这种能能时刻联网的通用设备上。虽然比特币的去中心化模型避免了常见的信用卡盗用等情况,但很多用户由于无法保管好密钥从而被黑客攻击。\n\n10.1.1 比特币系统安全开发\n对于比特币开发者而言最重要的是去中心化原则。大多数开发者对中心化的安全模型很熟悉,并可能试图将中心化的模型运用到借鉴比特币的应用中去,这将给比特币带来灭顶之灾。\n\n比特币的安全性依赖于密钥的分散性控制,并且需要矿工们各自独立地进行交易验证。如果你想利用好比特币的安全性,你需要确保自己处于比特币的安全模型里。简而言之,不要将用户的密钥控制权拿走,不要接受非区块链交易信息。\n例如,许多早期的比特币交易所将所有用户的资金集中在一个包含着私钥的“热钱包”里,并存放在服务器上。这样的设计夺取了用户的掌控权,并将密钥集中到单个系统里。很多这样的系统都被黑客攻破了,并给客户带来灾难性后果。\n另一个常见的错误是接受区块链离线交易,妄图减少交易费或加速交易处理速度。一个“区块链离线交易”系统将交易数据记录在一个内部的中心化账本上,然后偶尔将它们同步到比特币区块链中。这种做法,再一次,用专制和集中的方式取代比特币的去中心化安全模型。当数据处于离线的区块链上的时候,保护不当的 中心化账本里的资金可能会不知不觉被伪造、被挪用、被消耗。\n除非你是准备大力投资运营安全,叠加多层访问控制,或(像传统的银行那样)加强审计,否则在将资金从比特币的去中心化安全场景中抽离出来之前,你应该慎重考虑一番。即使你有足够的资金和纪律去实现一个可靠的安全模型,这样的设计也仅仅是复制了一个脆弱不堪,深受账户盗窃威胁、贪污和挪用公款困扰的传 统金融网络而已。要想充分利用比特币特有的去中心化安全模型,你必须避免中心化架构的常见诱惑,因它最终将摧毁比特币的安全性。\n\n10.1.2 信任根源\n比特币的安全体系与这不同。在比特币里,共识系统创建了一个可信的完全去中心化的公开账本,一个正确验证过的区块使用创世块作为信任的根源,建立一条直至当前区块的可信任链。比特币系统可以并应该使用区块链作为它们的信任根源。在设计一个多系统服务机制的比特币应用时,你应该仔细确认安全体系,以确保对它的信任能有据可依。最终,唯一可确信无疑的是一条完全有效的区块链。如果你的应用程序或明或暗地信赖于区块链以外的东西,就该引起重视,因为它可能会引入漏洞。一个不错的方法评估你应用程序的安全体系:单独考量每个组件,设想该组件被完全攻破并被坏人掌控的场景。依次取出应用程序的每个组件,并评估 它被攻破时对整体安全的影响。如果你的应用程序的安全性在该组件沦陷后大打折扣,那就说明你已经对这些组件过度信任了。一个没有漏洞的比特币应用程序应该 只受限于比特币的共识机制,这意味着其安全体系的信任源于比特币最坚固的部分。\n\n10.2 用户最佳安全实践\n人类使用物理的安全控制已经有数千年之久。相比之下,我们的数字化安全经验的年纪还不满 50 岁。现代通用的操作系统并不是十分安全,亦不特别适合用来存储数字货币。我们的电脑通过一直连接的互联网长时间暴露在外,它们运行着成千上万第三方软件组件,这些软件往往可以不受约束地访问用户的文件。你电脑 上安装的众多软件只要有一个恶意软件,就会威胁到你的文件,可窃取你钱包里的所有比特币。想要杜绝病毒和木马对电脑的威胁,用户要达到一定的计算机维护水平,只有小部分人能做到。\n\n比特币创造了具有内在价值的数字资产,它可以被窃取,并立即转移给他人而无法撤回。这让黑客有了强烈的作案动机。\n\n\n幸运的是,比特币也有着激励机制,以提高计算机的安全性。如前所述,计算机受威胁的风险是模糊的,间接的,而比特币让这些风险变得明确清晰。在电脑上保存比特币让用户时刻注意他们需要提高计算机的安全性,结果便是这使得比特币和其它数字货币得以传播和扩散,我们已经看到在黑客技术和安全解决方案双方的提升。简单来说,黑客现在有着一个非常诱人的目标,而用户也有明确的激励性去保卫自己。\n在过去的三年里,随着比特币不断被接纳,一个直接的结果是,我们已经看到信息安全领域取得了巨大创新,例如硬件加密,密钥存储和硬件钱包,多重签名技术和数字托管。在下面的章节中,我们将研究各种实际用户安全中的实践经验。\n\n10.2.1 比特币物理存储\n相比数字信息的安全,大多数用户对物理安全更加熟悉,一个非常有效保护比特币的方法是,将它们转换为物理形式。比特币密钥不过是串长数字而已。这意味着它们可以以物理形式存储起来,如印在纸上或蚀刻成金属硬币上。这样保护密钥就变成了简单地保护印着比特币密钥的物理实体。一组打印在纸上的比特币密钥被称为“纸钱包”,有许多可以用来创建它们的免费工具。我个人将大部分(99%以上)的比特币存储在纸钱包上,并用 BIP0038 加密,复制了多份并锁在保险箱里。将比特币离线保存被称为冷存储,它是最有效的安全技术\n之一。冷存储系统是在一个离线系统(一个从来没有连接过互联网的系统)上生成密钥,并离线存储到纸上或者 U 盘等电子媒介。\n\n10.2.2 硬件钱包\n从长远来看,比特币安全将越来越多地以硬件防篡改钱包的形式出现。与智能手机或台式电脑不同,一个比特币硬件钱包只有一个目的, 安全地存储比特币。不像容易受害的常用软件那样,硬件钱包只提供了有限的接口,从而可以给非专业用户提供近乎万无一失的安全等级。我预期将看到硬件钱包成为比特币储存的主要方式。要想看硬件钱包的实例,请查阅 Trezor。\n\n10.2.3 平衡风险\n虽然大多数用户都非常关注比特币防盗,其实还有一个更大的风险存在。数据文件丢失的情况时有发生。如果比特币的数据也在其中,损失将会让人痛苦不堪。为了保护好比特币钱包,用户必须非常注意不要剑走偏锋,这样不至于会搞丢比特币。 在 2011 年 7 月,一个著名的比特币认知教育项目损失了近 7,000 枚比特币。为了防止被盗窃,其主人曾之前采取了一系列复杂的操作去加密备份。结果他们不慎丢失了加密的密钥,使得备份变得毫无价值,白白失去了一大笔财富。如果你保护比特币的方式太过了,这好比于把钱藏在沙漠里,你可能不能再把它找回来了。\n10.2.4 分散风险\n你会将你的全部家当换成现金放在钱包里随身携带么?大多数人会认为这非常不明智,但比特币用户经常会将所有的比特币放在一个钱包里。用户应该将风险分散到不同类型的比特币钱包。审慎的用户应该只留一小部分(或许低于5%)的比特币在一个在线的或手机钱包,就像零用钱一样,其余的部分应该采用不同存储机制分散开来,诸如电脑钱包和离线(冷存储)钱包。\n\n\n10.2.5 多重签名管理\n当一个公司或个人持有大量比特币时,他们应该考虑采用多重签名的比特币地址。多重签名比特币地址需要多个签名才能支付,从而保证资金的安全。多重签名的密钥应存储在多个不同的地方,并由不同的人掌控。打个比方,在企业环境中,密钥应该分别生成并由若干公司管理人员持有,以确保没有任何一个人可以独自占有资金。多重签名的地址也可以提供冗余,例如一个人持有多个密钥,并将它们分别存储在不同的地方。\n\n10.2.6 存活能力\n一个非常重要却又常常被忽视的安全性考虑是可用性,尤其是在密钥持有者丧失工作能力或死亡的情况下。比特币的用户被告知应该使用复杂的密码,并保证他们的密钥安全且不为他人所知。不幸的是,这种做法使得在用户无法解锁时,用户的家人几乎无法将该财产恢复。事实上,比特币用户的家人可能完全不知道这笔比特币资金的存在。如果你有很多的比特币, 你应该考虑与一个值得信赖的亲属或律师分享解密的细节。一个更复杂的比特币生还计划,可以通过设置多重签名,做好遗产规划,并通过专门的“数字资产执行者”律师处理后事。\n\n10.3 总结",
      "json_metadata": "{\"tags\":[\"cn\",\"reading\",\"blockchain\",\"bitcoin\"],\"links\":[\"http://zhibimo.com/books/wang-miao/mastering-bitcoin\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
ubgupvoted (1.00%) @chenchun / 1
2017/08/27 04:58:03
voterubg
authorchenchun
permlink1
weight100 (1.00%)
Transaction InfoBlock #14932091/Trx 1567234a6b3f967ce2c21699a34d59b84dd5f711
View Raw JSON Data
{
  "trx_id": "1567234a6b3f967ce2c21699a34d59b84dd5f711",
  "block": 14932091,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T04:58:03",
  "op": [
    "vote",
    {
      "voter": "ubg",
      "author": "chenchun",
      "permlink": "1",
      "weight": 100
    }
  ]
}
2017/08/27 04:41:09
parent authorchenchun
parent permlink1
authorholl.boll
permlinkre-chenchun-1-20170827t044109972z
title
bodyWOW NICE I LIKE IT Upvoted. I'll be resteeming this now :)
json metadata{"tags":["cn"],"app":"steemit/0.1"}
Transaction InfoBlock #14931753/Trx a4e49e4130fc34b8337c7b926442dc20f1e1749a
View Raw JSON Data
{
  "trx_id": "a4e49e4130fc34b8337c7b926442dc20f1e1749a",
  "block": 14931753,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-08-27T04:41:09",
  "op": [
    "comment",
    {
      "parent_author": "chenchun",
      "parent_permlink": "1",
      "author": "holl.boll",
      "permlink": "re-chenchun-1-20170827t044109972z",
      "title": "",
      "body": "WOW NICE I LIKE IT\nUpvoted. I'll be resteeming this now :)",
      "json_metadata": "{\"tags\":[\"cn\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}

Account Metadata

POSTING JSON METADATA
profile{"name":"chenchun","location":"china"}
JSON METADATA
profile{"name":"chenchun","location":"china"}
{
  "posting_json_metadata": {
    "profile": {
      "name": "chenchun",
      "location": "china"
    }
  },
  "json_metadata": {
    "profile": {
      "name": "chenchun",
      "location": "china"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM8UYeeeHWVe6MvYTmWDo4EsDCKu7GRM729ixBJsJPussyLSGecc1/1
Active
Single Signature
Public Keys
STM5VFkY4jq5Aya4MvJ2tYhgsLnyyDfY9FDz8JzRhv543RD7cdHLe1/1
Posting
Single Signature
Public Keys
STM6RWWoiZ8ZRyLydvr3SPFPnKJhUhnFyH5yhacyyuKe4jqqaLrws1/1
Memo
STM6erfMdTKcwgvqpBBWfmJwrTDyecmA2nqBihCxo3wp1g1DtQc3L
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM8UYeeeHWVe6MvYTmWDo4EsDCKu7GRM729ixBJsJPussyLSGecc",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5VFkY4jq5Aya4MvJ2tYhgsLnyyDfY9FDz8JzRhv543RD7cdHLe",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6RWWoiZ8ZRyLydvr3SPFPnKJhUhnFyH5yhacyyuKe4jqqaLrws",
        1
      ]
    ]
  },
  "memo": "STM6erfMdTKcwgvqpBBWfmJwrTDyecmA2nqBihCxo3wp1g1DtQc3L"
}

Witness Votes

0 / 30
No active witness votes.
[]