显示类别.Show Categories
78
2
没几个NBS 发布.posted Mar 17 '21 @.at 11:18 am
我为什么看好NBS?

这还要从NBS是如何诞生的说起:

想当年,也就是21世纪的2020年,那一年全球陷入了巨大的危机,一场感染人数达一亿、死亡人数也已超过260万的新型冠状病毒肺炎正在蔓延。


而在币圈,正摆脱熊市的BTC价格在全球放水刺激经济的大环境下节节攀升,然而与BTC年龄相差无几的BTS(比特股)价格却跌入低谷,市值也从原本的领先状态变为垫底,让原本有着充足信仰的BTS大军近乎全军覆没。

是什么让原本有希望的BTS成为了人们的噩梦?这有着它能适合做空的条件之外,随意更改的游戏规则也导致人们对避而远之。尤其是当时间点来到了当年的7月份,BTS的一名开发者未经社区同意便私自更改投票规则,破坏了去中心化共识,更是让BTS沦为币圈的笑柄。

正是在这个时候,当时的BTS公会(相当于由一群BTS散户组成的散户联盟)毅然决然的发起了BTS的分叉,NBS(新比特股)由此诞生。

NBS诞生后的数月内,起内盘功能逐步完善,表现出了惊人的效率,原本那种在BTS内吵吵闹闹大半年也无法得出结论就更别提任何实质进展的情况不复存在。

......

发帖测试!
最近的.recent by nbs必胜  ·  Mar 17 '21 @.at 12:55 pm
27
2
nbs必胜 发布.posted Mar 17 '21 @.at 9:06 am

“万元红包雨”细则


1万USDT能够提现约6.5万元,3万元在核心群发放,3万元在官方交流群发放,剩余奖励主要宣传骨干。


1、活动于3月20日开始,持续7天。


2、建立三个官方交流群,名称叫“NBS cn-vote官方交流一群(二群、三群)”,每个群 共发放红包一万元元。核心群自由发放。


3、入群需加管理员好友,发送NBS持仓截图(内外盘均可),并由管理员审核入群。


4、为回馈原BTS公会成员,原BTS公会官方交流群成员只需加管理员好友即可入群。


5、同一人不得重复进入三个群。


6、本活动解释权属于NBS公会。


最近的.recent by 路飛  ·  Mar 17 '21 @.at 10:38 am
77
0
ll7758mm 发布.posted Mar 17 '21 @.at 10:23 am

NBS是EOS创始人Daniel Larimar和以太坊Ethereum以及Cardano(ADA)创始人Charles Hoskinson首次合作诞生的基于DPOS共识并以DAO的组织管理架构实现的DeFi(去中心化金融)业务和DEX(去中心化交易所)的OSS(开源)解决方案。NBS使用的石墨烯技术是市场上最先进的区块链技术之一。NBS自2020年9月10日上线以来,一直秉承“用DeFi共赢,重构公链经济生态,用免费共享,实现DeFi普惠应用”的理念,革命性地创新了稳定币的应用,实现了金本位和币本位挖矿以及DEX内盘上的永续合约功能,并在原有石墨烯架构基础上增加了跨链(NBS-Connect),预言机(NBS-Forcast),虚拟机EVM以及NFT非同质化通证功能。通过DeFi来重构公链的经济模型,让NBS生态形成一个真正的闭环。同时,NBS作为一个高效的区块链DEX基础设施,大幅降低用户参与交易的资金门槛和成本。NFT功能可以应用在数字收藏品、游戏项目、数字商品、活动门票、房地产、身份证件、证书等领域。


25
0
daniel 发布.posted Mar 16 '21 @.at 11:26 pm

|


本文介绍如何在Linux平台下每5、10或15分钟运行一次cron命令,即执行一次定时任务(Cron Job)。



前言


Cron job是按指定间隔执行的任务,可以将任务安排为按分钟,小时,每月的某天,某月,某周的某天或它们的任意组合运行。


Cron job通常用于自动进行系统维护或管理,例如备份数据库或数据,使用最新的安全补丁更新系统,检查磁盘空间使用情况,发送电子邮件等等。


每5、10或15分钟运行一次Cron job是一些最常用的cron计划,下面着重讲解这方面的内容。


参考:在Linux系统下使用Crontab UI安全管理Cron定时任务


Crontab语法和运算符


Crontab(cron table)是一个文本文件,用于定义Cron job的计划,可以使用crontab命令创建,查看,修改和删除Crontab文件。参考crontab命令_Linux crontab命令使用详解:提交与管理用户需要周期性执行的任务


用户crontab文件中的每一行都包含六个字段,每个字段之间用一个空格分隔,后跟要运行的命令,如下:


在Linux平台下每5、10或15分钟执行一次定时任务(Cron Job)


前五个字段(时间和日期)还接受以下运算符:


*:星号运算符表示所有允许的值,如果Minute字段中有星号,则表示该任务将每分钟执行一次。


-:连字符运算符允许您指定一个值范围,如果您在week字段中设置1-5,则该任务将在每个工作日(从星期一到星期五)运行,该范围是包括在内的,这意味着该范围内包括第一个和最后一个值。


,:逗号运算符使您可以定义重复值的列表,例如,如果您在Hour字段中有1,3,5,则任务将在凌晨1点,凌晨3点和凌晨5点运行,该列表可以包含单个值和范围1-5,7,8,10-15。


/:斜杠运算符使您可以指定可与范围结合使用的步长值,例如,如果您在Minutes字段中具有1-10/2,则表示将每2分钟在1-10范围内执行一次操作,与指定1,3,5,7,9相同,除了值的范围外,还可以使用星号运算符,要指定每20分钟运行一次的任务,可以使用“*/20”。


系统级crontab文件的语法与用户crontabs略有不同,它包含一个附加的必填用户字段,该字段指定哪个用户将运行Cron job:


* * * * * <username> command(s)


要编辑crontab文件,或者创建一个不存在的文件,请使用crontab -e命令。


每5分钟执行一次Cron Job


每五分钟有两种运行Cron Job的方法。


第一种选择是使用逗号运算符创建分钟列表:


0,5,10,15,20,25,30,35,40,45,50,55 * * * * command


上面的行在语法上是正确的,并且可以正常工作,但是,键入整个列表可能很乏味并且容易出错。


指定每5分钟运行一次任务的第二个选项是使用步进运算符:


*/5 * * * * command


*/5表示创建所有分钟的列表,并为列表中的第五个值运行任务。


每10分钟执行一次Cron Job


要每10分钟运行一次Cron Job,请在crontab文件中添加以下行:


*/10 * * * * command


每15分钟执行一次Cron Job


要每15分钟运行一次Cron Job,请在crontab文件中添加以下行:


*/15 * * * * command


注:根据以上特性,还可以进行每30分钟或其他分钟执行一次Cron Job,只需要把相应的分钟数更改就行。


相关主题


在Linux系统中列出用户/系统Cron作业(Cron Jobs)的方法


|


10
0
daniel 发布.posted Mar 16 '21 @.at 11:22 pm

4.4 配置证人节点


  打开[Testnet-Home]/data/config.ini文件:


vim data/config.ini

  在合适的位置进行以下设置,注意将重复的设置注释掉:


p2p-endpoint = 0.0.0.0:31010
seed-nodes = []
rpc-endpoint = 0.0.0.0:38090
genesis-json = my-genesis.json
enable-stale-production = true

# ID of witness controlled by this node (e.g. "1.6.5", quotes are required, may specify multiple times)
witness-id = "1.6.1"
witness-id = "1.6.2"
witness-id = "1.6.3"
witness-id = "1.6.4"
witness-id = "1.6.5"
witness-id = "1.6.6"
witness-id = "1.6.7"
witness-id = "1.6.8"
witness-id = "1.6.9"
witness-id = "1.6.10"
witness-id = "1.6.11"

  解释一下上面的设置:


  • p2p-endpoint,指定开启的p2p监听端口,以方便其他节点连接,可以作为其他节点的seed-node
  • rpc-endpoint,指定开启的rpc监听端口,以方便cli-walletweb钱包与证人节点连接。
  • genesis-json,设置genesis.json的路径,通常只在创建新链生产创世区块时设置。
  • enable-stale-production,让本节点无视区块链数据的时间,无论如何都生成区块数据。该字段通常只在创建新链生产创世区块时设为true。当已存在区块链时,一定要将本参数设为false或者不管,否则会因数据不完整导致分叉。
  • seed-nodes,设置种子节点集合,以方便快速连接到区块链网络和同步区块链数据。在创建新链生产创世区块时设为空,以防止连接到正式网络(代码)中的默认种子节点。当连接已有区块链网络时,尽可能多的设置种子节点以加快同步速度。
  • witness-id,用于授权本证人节点所代表的证人id产生区块,可指定多个。一般来说一个证人节点授权一个证人id,私链第一个节点指定了11个。

4.5 开始区块生产

  关键时刻到来了,生产私有测试链的第一个区块。 运行如下命令:

witness_node --data-dir=data

  将看到如下重要信息:

*********************************                              **   ------- NEW CHAIN ------   **   - Welcome to Graphene! -   **   ------------------------   **                              *********************************

  接着连续将看到类以下消息,表明成功开始生产区块:

453735ms th_a main.cpp:266 main] Started BitShares node on a chain with 0 blocks.453735ms th_a main.cpp:267 main] Chain ID is 20e5aa92b1e3b7f971796a3f3fba59ea0a34b1eeb6fb5e585b2e4c9e441015f4455003ms th_a witness.cpp:181 block_production_loo] Generated block #1 with timestamp 2018-05-11T15:07:35 at time 2018-05-11T15:07:35460000ms th_a witness.cpp:181 block_production_loo] Generated block #2 with timestamp 2018-05-11T15:07:40 at time 2018-05-11T15:07:40462000ms th_a witness.cpp:181 block_production_loo] Generated block #3 with timestamp 2018-05-11T15:07:42 at time 2018-05-11T15:07:42

5. 命令行钱包的使用

  本节主要讲解如何使用命令行钱包导入账户、创建一个新账户,并转账,查看属性等等。

5.1 创建钱包

  现在使用命令行钱包(cli_wallet)连接到上一节创建的证人节点(witness_node)。 保持证人节点处于运行状态,打开另一个命令提示符窗口,运行如下命令:

mkdir -p wallet && cd walletcli_wallet --wallet-file my-wallet.json --server-rpc-endpoint ws://127.0.0.1:38090 --rpc-endpoint 0.0.0.0:38099 --rpc-http-endpoint 0.0.0.0:38092 --chain-id 20e5aa92b1e3b7f971796a3f3fba59ea0a34b1eeb6fb5e585b2e4c9e441015f4

  下面对指令参数进行解释:

  --wallet-file:指定钱包json文件,该文件用于保存本钱包中所有加密后的私钥;

  --server-rpc-endpoint:rpc服务器终端地址,指定钱包要连接的区块链全节点所需要的协议、地址和端口;

  --rpc-endpoint:指定命令行钱包要监听的websocket RPC的ip地址和端口号;

  --rpc-http-endpoint:指定命令行钱包要监听的HTTP RPC的ip地址和端口号;

  --chain-id:指定要连接的区块链ID。不指定的话,钱包连接到bitshares的正式链上。

  收到set_password提示,表示cli_wallet钱包已成功连接到witness_node节点。为钱包设置一个密码。 该密码用于加密钱包中所有的私钥。 在本例中,我使用supersecret作为密码。

  使用如下命令给钱包创建密码并解锁新创建的钱包:

set_password supersecretunlock supersecret

5.2 导入账号和资金

  要将帐户导入钱包,必须知道账户名称和私钥才行。使用import_key命令将代码中默认的账户nathan导入钱包(其私钥为5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3):

import_key nathan 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

  注意:帐户名称是前面在genesies.json文件中设置的, 私钥也是前面在config.ini文件中设置的。

  现在已经将私钥导入到钱包中,但初始账户仍然没有资金(后面升级账户需要资金)。 资金在genesies.json文件中的initial_balances字段已经设置好了。 使用import_balance命令可以将这些资金免费(相对于转账需要付手续费来说的)导入钱包:

import_balance nathan ["5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"] true

5.3 创建新帐户

  现在来创建另一个帐户(名为alpha ),以便在nathan和alpha之间来回转移资金,产生交易。

  只能使用现有的账户去创建新账户,且该账户(称为注册商: registrar)必须支付注册费用。 此外,要求注册商账户必须是终身会员(LTM: lifetime member)。使用upgrade_account命令将nathan升级到LTM:

upgrade_account nathan true

  注意:由于缓存问题 ,需要重启cli_wallet钱包,否则升级nathan没有更新。 按下ctrl+c停止CLI钱包,运行与以下命令重新钱包并解锁:

cli_wallet --wallet-file my-wallet.json --server-rpc-endpoint ws://127.0.0.1:38090 --chain-id 20e5aa92b1e3b7f971796a3f3fba59ea0a34b1eeb6fb5e585b2e4c9e441015f4unlock supersecret

  确认nathan现在处于LTM状态:

get_account nathan

  在打印的账户属性中,membership_expiration_date的属性值应该是1969-12-31T23:59:59 。 如果仍然是1970-01-01T00:00:00,那么账户就没有成功升级。

  现在用原账户作为注册商注册一个新帐户了。 首先需要新帐户的公钥。可以通过suggest_brain_key命令来获得:

suggest_brain_key

  显示的信息大致如下:

{  "brain_priv_key": "FACADAL POOF FOXER MOUSE BANDOG CUBEB BRIERED NE JUTKA QUILLED TORIC GRYLLOS FLEAM LEEWILL PLENIST HUSBAND",  "wif_priv_key": "5JtnWHxYMUD13sBPNMzprH1Z6r1nH3EWV1WeQXpAbsMLgxVt7tp",  "pub_key": "BTS5s2iBiMeaCt96hoiAhQz94AqiPChTNF2YpYt6zJNNFJonhXPTF"}

  其中brain_priv_key是私钥助记符,wif_priv_key是钱包导入格式的私钥,pub_key。一定要记下以上重要的信息找个黑客攻击不到的地方保存起来,非常关键。

  现在可以注册一个新帐户。可以只使用前面推荐的公钥来注册一个名为alpha的新帐户:

register_account alpha BTS5s2iBiMeaCt96hoiAhQz94AqiPChTNF2YpYt6zJNNFJonhXPTF BTS5s2iBiMeaCt96hoiAhQz94AqiPChTNF2YpYt6zJNNFJonhXPTF nathan nathan 0 true

5.4 转移资金给新账户

  使用transfer命令从nathan账户里转一些资金alpha给:

transfer nathan alpha 100000 BTS "here is some cash" true

  可以验证alpha是否收到了钱,运行一下命令查看账户余额:

list_account_balances alpha

6. 部署其他证人节点生产区块

  前面已经创建一个新的区块链,并已经开启生产区块。本节主要讲解如何在新节点上创建新账户并让新账户成为证人,并投票成活跃证人生产区块。

6.1 新证人节点连接到区块链网

  在新节点上按同样的方式。

  为了保证新节点连接的是前面创建的私链,必须保证chain id相同,而witness_node无法指定chain id,只能通过genesis.json文件初始化。

  将原来的genesis.json复制到新节点指定目录中。可用如下指令完成该功能:

mkdir -p testnet-home && cd testnet-home/scp bitshares@192.168.110.103:~/testnet_home/my-genesis.json .

  然后运行以下指令初始化该证人节点,并按ctrl+c完成:

witness_node --data-dir data/ --genesis-json my-genesis.json --seed-nodes "[]"

  然后编辑 data 目录下的config.ini,修改设置如下:

seed-nodes = ["192.168.110.103:31010"]rpc-endpoint = 127.0.0.1:38090

  基本和前面的config.ini设置差不多,有两点要注意,seed-nodes种子节点集合一定填写之前启动的全节点(即证人节点)的 ipp2p-endpoint 端口。rpc-endpoint指定开启的rpc监听端口,以方便cli-walletweb钱包与证人节点连接。

  使用如下命令重新运行证人节点:

witness_node --data-dir data

  由于本节点没有证人权限,所以不会生产区块,只会同步区块信息。打印的信息类似如下:

2188254ms th_a       main.cpp:266                  main                 ] Started BitShares node on a chain with 0 blocks.2188254ms th_a       main.cpp:267                  main                 ] Chain ID is 20e5aa92b1e3b7f971796a3f3fba59ea0a34b1eeb6fb5e585b2e4c9e441015f42190025ms th_a       application.cpp:512           handle_block         ] Got block: #460 time: 2018-05-16T09:36:30 latency: 25 ms from: init6  irreversible: 452 (-8)2195020ms th_a       application.cpp:512           handle_block         ] Got block: #461 time: 2018-05-16T09:36:35 latency: 20 ms from: init1  irreversible: 453 (-8)2200021ms th_a       application.cpp:512           handle_block         ] Got block: #462 time: 2018-05-16T09:36:40 latency: 21 ms from: init10  irreversible: 454 (-8)

  当该节点和网络中的区块数据同步完成后,并定期从其他节点接收新区块后,才能继续下一步。

6.2 打开新钱包创建新账户

  基本和前面的操作一样(详细讲解请参考:命令行钱包的使用)。保持证人节点处于运行状态,打开另一个命令提示符窗口:

mkdir -p wallet && cd walletcli_wallet --wallet-file my-wallet.json --server-rpc-endpoint ws://127.0.0.1:38090 --chain-id 20e5aa92b1e3b7f971796a3f3fba59ea0a34b1eeb6fb5e585b2e4c9e441015f4

  设置新钱包密码,并解锁:

set_password my_passwordunlock my_password

  只能使用现有的账户去创建新账户,因此先导入 nathan 用户:

import_key nathan 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

  使用指令suggest_brain_key获得新账户信息:

suggest_brain_key

  得到新账户信息如下:

{  "brain_priv_key": "FACADAL POOF FOXER MOUSE BANDOG CUBEB BRIERED NE JUTKA QUILLED TORIC GRYLLOS FLEAM LEEWILL PLENIST HUSBAND",  "wif_priv_key": "5JtnWHxYMUD13sBPNMzprH1Z6r1nH3EWV1WeQXpAbsMLgxVt7tp",  "pub_key": "BTS5s2iBiMeaCt96hoiAhQz94AqiPChTNF2YpYt6zJNNFJonhXPTF"}

  创建新账户alpha

register_account alpha BTS5s2iBiMeaCt96hoiAhQz94AqiPChTNF2YpYt6zJNNFJonhXPTF BTS5s2iBiMeaCt96hoiAhQz94AqiPChTNF2YpYt6zJNNFJonhXPTF nathan nathan 0 true

6.3 升级新账户为终生会员

  新账户必须升级为终身会员(LTM: lifetime member)后才能称为证人账户。而新账户升级为LTM需要的资金只能通过其他账户转账。

  给账户alpha转入一些资金:

transfer nathan alpha 100000 BTS "here is some cash!" true

  导入新账户alpha

import_key alpha 5JtnWHxYMUD13sBPNMzprH1Z6r1nH3EWV1WeQXpAbsMLgxVt7tp

  可以查看当前钱包的账户及其余额:

list_my_accountslist_account_balances alpha

  现在可以升级为终身会员了:

upgrade_account alpha true

6.4 注册为证人并投票为活跃证人

  要成为证人,首先需要创建一个可以投票的证人对象。

create_witness alpha "http://www.alpha" true

  可运行get_witness 来获得新证人的idsigning_key

get_witness alpha

  得到结果:

{  "id": "1.6.12",  "witness_account": "1.2.18",  "last_aslot": 0,  "signing_key": "BTS6CNPh8b1xkDPxmn9mNt968QGGM8W7vcbfKthXC12p1HdWSKyNT",  "vote_id": "1:22",  "total_votes": 0,  "url": "http://www.alpha",  "total_missed": 0,  "last_confirmed_block_num": 0}

  witness_node需要signing_key和对应的私钥,并联合id才能生成区块。通过get_private_key获取该签名密钥的私钥:

get_private_key "BTS6CNPh8b1xkDPxmn9mNt968QGGM8W7vcbfKthXC12p1HdWSKyNT"

  得到私钥如下:

"5KNTT2tYjZ2eDDZUkPjHHnr1PJGCpBaMMWtxt9JD7fXxsTwanuF"

  要想让证人生产区块就必须给新建的证人对象投票让其成为活跃证人:

vote_for_witness alpha alpha true true

  只有等到下一个维护间隔后,投票才会统计,证人 才有可能成为新的活跃证人。可以使用命令get_dynamic_global_properties查看next_maintenance_time字段的值。在前面我们将维护间隔重新设置为了10分钟。

6.5 让新证人节点生产区块

  一旦下一次维护时间间隔过去后,可以使用get_global_properties命令来查看到当前的活动证人列表,根据证人id查看新证人已被投票成为活跃证人。一旦成为活跃证人后, 就可以让新证人节点生产区块。

  现在需要重新启动证人,关闭钱包(ctrl+d),然后关闭证人节点(ctrl+c)。 用上面获得新证人id及其公私钥对编辑 data 目录下的config.ini,添加设置如下:

# ID of witness controlled by this node (e.g. "1.6.5", quotes are required, may specify multiple times)witness-id = "1.6.12"# Tuple of [PublicKey, WIF private key] (may specify multiple times)private-key = ["BTS6CNPh8b1xkDPxmn9mNt968QGGM8W7vcbfKthXC12p1HdWSKyNT","5KNTT2tYjZ2eDDZUkPjHHnr1PJGCpBaMMWtxt9JD7fXxsTwanuF"]
  • private-key, 指定本证人节点生产和签署区块所需的公私钥对。

  重新运行证人节点:


witness_node --data-dir data

  如果witness_node的输出结果如下,那么就轮到本证人节点生产区块,并成功出块:


909991ms th_a       application.cpp:512           handle_block         ] Got block: #907 time: 2018-05-16T10:15:10 latency: -8 ms from: init9  irreversible: 898 (-9)
915000ms th_a witness.cpp:181 block_production_loo ] Generated block #908 with timestamp 2018-05-16T10:15:15 at time 2018-05-16T10:15:15
919991ms th_a application.cpp:512 handle_block ] Got block: #909 time: 2018-05-16T10:15:20 latency: -8 ms from: init6 irreversible: 901 (-8)

  参考文章:


NBS
3
0
daniel 发布.posted Mar 16 '21 @.at 11:20 pm

BitShares交易量压力测试



AlbertGou关注


2018.05.28 09:15:26字数 573阅读 285


关于如何搭建BitShares多节点私链请参看:BitShares 2.0 多节点私链部署


关于如何搭建BitShares的web钱包搭建和接入私链请参考:BitShares之web钱包搭建及接入私链


关于如何对BitShares进行交易量压力测试请参考:BitShares交易量压力测试


基于测试dpos共识的性能,本文讲解如何在私链上测试BitShares每秒的交易量。


<audio style="display: none;" controls="controls"></audio>


NBS
25
0
daniel 发布.posted Mar 16 '21 @.at 10:55 pm

比特股


锁定 讨论 上传视频


本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。


比特股是一种支持包括虚拟货币、法币以及贵金属等有价值实物的开源分布式交易系统。该系统主要能够提供一个去中心化交易所的解决方案。让每个人都成为交易所。该系统是由Invictus公司推出。


目录


  1. 1 背景
  2. 2 概论
  3. 3 定义

  4. 4 实施细节

  5. 5 运作
  6. 6 筹资方式

  7. 7 交易

  8. 8 投资

比特股背景


编辑


比特股X最早是由Daniel Larimer、Charles Hoskinson和Stan Larimer在白皮书当中提出。白皮书的标题为“一个点对点多态数字资产交易所”。在那之后,整个项目的范围和细节都经过了修改。Bitshares X尚未启动,但可以预料将会在2014年内完工。


在得到来自于中国比特基金BitFund.PE (作为一个私募股权投资) 的资助之后,这个项目由Invictus Innovations的Daniel Larimer领导。Charles Hoskinson (过去也是比特币教育计划的创始人) 也是原计划的共同创始人之一, 但后来他离开了团队。


通过CoinDesk 2013年8月的报道和随后于8月22号在Bitcointalk论坛宣布项目启动之后, Bitshares X项目获得了很多关注。 围绕着原先提案的讨论收获了很多建议,和很好的评价,虽然原来的项目范围和时间表已经更改 [1] 。


比特股概论


编辑


比特股X可被称为是一场实验,它借由一种新式的预测市场来验证经济学理论。这场实验创造了一个去中心化的银行及交易所,借由采用股份授权证明机制算法(DPOS)所创立的分布式交易总账,来创造可交易的数字资产并通过市场锚定任何目标对象的价格,例如美元、黄金、汽油等。与所有的DAC一样,比特股X发行股份,并可以在用户之间相互流通,就像买卖比特币一样。除此之外,比特股X的独特之处在于它实现了类似传统银行业或股票经纪业运作的商业模式。


如同当今银行体系利用抵押品以借贷的方式铸造美元一样,比特股X也是可以利用抵押品铸造出BitUSD(比特美元)。而不同于传统银行利用房产作为抵押品借出美元,比特股X会利用BTSX(股份)作为抵押品借出BitUSD。如果抵押品的价值相较于BitUSD的价值有所下跌,比特股X将会自动售出部分抵押的BTSX以弥补亏空(强制平仓),并返还剩余的BTSX给抵押人。


从投资的角度上来说,抵押人借入BitUSD是为了做空BitUSD对应于BTSX的价值,这就像是做空一只股票一样。首先,你借入一只股票,然后你以当日的高价卖出。如果一切顺利,股价下跌,那么明日你将能以比你卖出时价格低的情况下买回股票,然后在偿清借票之后还能保有盈余。反之如果股价上涨,你必须以比你卖出时更高的价格买回股票并偿还,因此你会承受损失。


BitUSD会被成功铸造出来是因为做空和做多双方在某个价位上达成共识,而这个价位只能是USD(美元)对应BTSX的市场价格,否则其中一方从一开始便会承受损失。可以说市场锚定机制和预测市场机制十分类似。一旦市场中形成了BitUSD应和真正的美元等值的共识,那么违反这个共识的人只有赔钱一条路。因此,BitUSD的价值是基于市场参与者们对于明天BitUSD价值的预测。那么可以认为,严格遵循市场共识便是唯一合理的预测方式,并同时强化了市场锚定机制。


在比特股X中,所有的空头头寸(指借入的BitUSD)从一开始产生都必须要有等同于两倍美元价格的BTSX作为抵押品(保证金)。而当抵押品的价值跌到1.5倍时便需要补仓。这便给予了市场充分的机会在抵押品不足之前补平空仓并偿清借款。当市场必须执行强制补仓时,将会征收5%的费用。这将鼓励参与者积极维持手中有足够的抵押品。


在极为少见的条件下,BTSX的价值也许会在一个小时之内贬值超过一半,造成抵押品不足,那么此时系统内所有的抵押品将会被用来尽可能多地弥补铸造BitUSD造成的亏空,但也许仍会有部分BitUSD的抵押品不足。从结果上来说,这会造成市场上出现一些没有抵押品做背书的BitUSD,而这种极端情况对于BitUSD和美元之间的锚定是否能造成影响仍有待验证。因为对于此时市场的反应,有以下两种假设:


1) BitUSD将视在流通中剩余的数量多寡,成比例地折价交易;


2) 市场对于BitUSD锚定美元的共识期望值将会超出多余的无背书头寸的供应量,使得BitUSD的交易流通一如既往。一个类似的情况是,当年美元放弃金本位制时其价值并未迅速跌倒一文不值 [2] 。


比特股定义


编辑


红利(Dividend)——挖矿奖励和交易费用的一部分,按所拥有的比特股数量占已存在比特股数量比例分发。
  比特资产(BitAsset)——一种有抵押的,由比特股以1.5至2倍或更高的保证金比例支撑的,拥有比特股所有可替代性,可分割性和可转移性的资产且可以获得红利的资产,所有红利由抵押物产生并以比特股的形式支付。
  保证金(margin)——作为支撑的价值超过比特资产当前市值的资产。
  比特美元(BitUSD)——一种由比特股支撑,价值通过自强制市场反馈机制与美元价值高度相关的资产。
  比特X(BitX)——通用的命名比特资产的方式,基于自强制市场反馈机制与与之联系的资产实现价值相关(如比特黄金(BitGold),比特苹果股票(BitAPPL)等)。
  块链(blockchain)——一个全局同步的,区块结构的,有序的交易台帐。
  输出挂单(output)——限定在特定条件下将如何被使用的交易台账余额。
  交易(Transaction)——将一组没有匹配的输出挂单和另一组新的没有匹配的输出挂单在满足输出匹配条件和其他块链规则的情况下进行匹配。


比特股实施细节


编辑


比特股采用了一种类似于比特币区块链的架构。在比特币区块链架构中,每一笔交易数据的写入必须来自于之前的交易数据,并几乎同时产生新的输出来用作未来交易数据的写入。每一笔输出的动作只能在符合特定条件之下被使用一次。每一笔交易输出都包含了比特币的余额信息,证明能够被用于未来的交易。为了不产出无中生有的比特币,交易的写入值必须大于输出值。


比特币使用了简易的脚本语言来评估交易输出时余额已不足的情况;然而,多数的交易输出所需要的仅仅是持有者的加密签名 [1] 。


比特股运作


编辑


初始的BTS由两部分组成,一部分由PTS持有者转股而来,另一部分由挖掘产生,并且整套系统还在不断的为持有BTS的投资者分红(挖掘出来的BTS一半将分配给BTS持有者),持有BTS的早期参与者可以用双倍价格的BTS作为抵押,在BTS系统中发行债券(比特资产),获得现实货币资金投入到实体经济中获利,而购买这些债券(比特资产)的人们将获得抵押冻结的双倍BTS由系统分配的红利收益。并且当抵押的BTS价值不足债券面值的140%时,抵押方将丧失这些冻结BTS的持有权,自动分发给债券持有人。系统的设计采用抵押而不是直接交易的方式,为投资双方的交易安全提供了保障,无须双方信任也无须担心倒闭或跑路等情况的发生。而这些有价债券也可以自由的买卖换手,从而形成了一种具有稳定价值担保的货币。


比特股筹资方式


编辑


PTS是ProtoShares的简称,ProtoShares是BitShares的一种筹资方式,取Prototype(原型)之意。ProtoShares原来称为IPOcoin,后来考虑到法律原因,改成了ProtoShares。所以PTS=ProtoShares=IPOcoin。这是BitShares筹资的方式一种。


PTS一共是200万个,约占BTS总量的十分之一。(备注:2013年12月26日invictus-innovations将BitShares的总量减少为400万个,这就意味这原来的200万个PTS将从原来在BTS中所占有的十分之一提升到二分之一。)由于BitShares尚未开发完毕,所以通过ProtoShares进行筹资,在2014年时,将可以用PTS以1:1的方式来兑换BTS。PTS并不是BitShares的最终形态,仅仅是一种筹资方式,其软件和BitShares的软件基本没有任何关系。


比特股交易


编辑


交易类型


比特股X认识到,当所有的交易数据都在使用同样的脚本时,那么保持脚本语言的灵活性是不必要的。在比特币的案例中,脚本语言的使用是受限的,因此我们无法使用比特币的交易脚本来创建比特股X的交易宣告数据。因此,定义了一套包含七种宣告条件的交易类型:


1.以签名宣告


在交易数据输出时,允许持有人签名进行宣告。这就跟标准的比特币交易输出脚本一样。


2.以M分之N的签名宣告


在交易数据输出时,允许M位持有者当中的N位签名进行宣告。这就像是比特币的多重签名交易输出。


3.以买单宣告


在特定的资产已经以指定的价位支付给买家之下,允许输出执行支付。一笔买单可以被部份达成,只要同时产生一个包含了变更的买单即可。买单只能够在新的区块依照市场撮和算法产生时,以其他的买单宣告、做多宣告、平仓宣告的交易输出等明确的方式来进行撮和。一项买单宣告的交易输出也可以经由买家的签名进行支付,此情形下买家可以取消挂单。


4.以做多宣告


当有人在某个价位做空 (以平仓宣告)时,允许此类交易输出宣告。空头头寸必须和另一个铸造了等量的新BitUSD以签名宣告的交易输出相契合。这种交易输出也可以经由其持有者签名进行支付,此情形下该持有者可以取消挂单。


5.以平仓宣告


允许从为空仓背书的抵押金中收取费用,该费用应与同一笔交易当中所销毁的BitUSD成相应比例。BitUSD的销毁方式是将其包含在交易输入数据中,但是不包含在交易输出数据中达成的。这笔交易输出只能够经由持有者补平,除非该输出是被用于包含在挂单撮和算法中作为追加保证金的一部分。


6.以期权执行宣告


在设定的日期之前,将期权买方将指定金额付给期权卖方的情况下,允许交易输出进行支付。在设定的日期之后,交易输出只能由期权卖方来宣告。


7.以密码宣告


用于跨链交易,在以下两种情况下允许交易输出执行支付:提供两组签名或是一组签名和一组密码。


交易费用


交易费用被设定为需支付的每字节数据对应BTSX的价格。简单地说,交易费用即是市场执行订单撮和算法所收取的费用。确切的交易费用根据每一笔挂单金额而有所变动。关于具体的交易费用,我们计划在比特股X已经运营一段时间并获得一些历史数据后再做公布。要寻求更详细的解释请参见后面的“订单撮和算法”部分。


制定受托人销毁比率以实现盈利


比特股X将比特股X视为一个分布式自治公司(DAC)并寻求盈利。因此它应当为持股人赚取利润。盈利的实现,除了依靠股份市值的增长之外,还可以借由制定销毁比率来销毁交易费用实现。在经济学角度上看,减少BTSX的供应量就如同将交易费用成比例以分红的形式发给所有BTSX持股人。


虽比特股X会把用户的BTSX的余额占总流通量的多寡按百分比进行显示,因此会看到余额会随着产块的过程逐渐增加。当用户花费BTSX时,用户界面在交易发生之前将显示的占百分比换算回真实的股份数量,然后再发送到区块链上。


计算方法


比特股X使用了非传统的挂单撮和算法。传统的挂单撮和算法选择提供给买家所要求的最少数量,有时会多一些,而比特股X的撮合算法将总是提供给买家所要求恰好的数量。如果出现最高买入价大于最低卖出价的情况时 – 其差额将会被系统收取为手续费。在比特股X当中买家和卖家没有本质的区别,因为一个用美元购入BTSX的人和用BTSX购入美元的人没有分别。双方的交易都在各自指定的价位上成交,而非双方使用了共同的价格。其差额会被系统留存作为手续费。


比特股挂单撮和算法


采用这种算法的原因是为了惩罚那些想要制造大量挂单操纵单边市场的人,因为在此算法之下手续费的数目将会随着挂单的数量成比例地增加。这项设计是为了增强基于价值的投资而非纯技术流的交易。我们预期这将会减低市场波动性以及流动性,因为扰乱式的交易被移除了。市场的参与者们对自己的挂单能够精准成交应该不会有抱怨,这样一来大家只会理性地以他们认为合理的方式下单。


开启交易条件


在开市并创建第一个比特资产之前,应该先以共识价格建立最小的市场深度。相关的规则正在评估中,设计是这样的:


1.撮合所有的空单和多单 – 这将消除重叠挂单并建立一个初始的买/卖散布单。


2.核算参考价格 – 计算剩余的最高买入价以及最低的卖出价得出平均值。


3.验证+/-15%参考价格以内的市场深度 – 当买入以及卖出的量超过了最小临界值,称之为开放深度,交易将会被允许并正式开始。


交易中止条件


藉由触发市场需求或是买下所有挂单的行为可能会造成操纵市场攻击并破坏市场的情况发生。为此,当+/-15%参考价格以内的市场深度低于运行深度时,交易会中止。如果价格在某交易回合中波动超过1%,那么交易会暂停5分钟。这些保护措施避免了操纵市场造成的价格快速波动,并给交易者机会增加抵押品或是增加新挂单来稳定价格 [2] 。


比特股投资


编辑


任何人都可以通过投资BitShares PTS和BitShares AGS来持有比特股股份。AGS (Angel Shares)是天使投资基金里面的股份,该基金用于支持研究、开发和创造比特股相关技术。每天将会向当天捐赠天使基金者,按捐款占当天捐款比例赠送总数10,000股AGS。Bitshares PTS则是一个比特币的克隆,让您能够挖矿并交易您对于比特股生态系统的支持。Bitshares AGS和Bitshares PTS都包含了一个社会共识,即未来所有比特股区块链都应该在创世区块中分配至少各10% 给AGS 和PTS的持股人,以回馈他们对比特股生态系统的支持 [2] 。


19
0
daniel 发布.posted May 31 '14 @.at 11:15 pm

Hi,

This is an example post in your codoforum installation.
You can create/modify/delete all forum categories from the forum backend.

Please edit the forum title and description from the backend.

The only user available to login in the front-end is admin with the password that you set during the installation.

You may delete this post .

Regards,
Codologic Team

分类.Categories
行动.Actions
隐藏主题消息.Hide topic messages
启用无限滚动.Enable infinite scrolling
本主题下的所有帖子都是.All posts under this topic will be 已删除.deleted ?
以前。Previous
Next
以.With 选.selected 取消选择主题.deselect topics
Pending draft ... 单击以继续编辑.Click to resume editing
弃稿.Discard draft