Giter Club home page Giter Club logo

qips's Introduction

🎉 Notice🎈

We happily announce that The Qitmeer network has been upgraded to QNG (Qitmeer Next Generation) network 🎊, This repository has been archived and read-only.

Qitmeer

Build Status Build Status Go Report Card FOSSA Status

The guardian of trust. The core backend of the qitmeer network.

Qitmeer Mainnet Notice

The Qitmeer Mainnet is OPENED on 2021/09/30. The latest compatible network is the Umayyad Network. Please Join the Umayyad Network !

Latest Testnet Compatible Qitmeer Vesion Start Date Type
Umayyad Network 1.0 (mainnet) v0.10.6 2021/09/30 Official Public Mainnet

Please know more details from the Qitmeer Mainnet

Qitmeer Testnet Notice

The latest compatible Public Testnet is the Umayyad Network. Please help support Public testnet !

Latest Testnet Compatible Qitmeer Vesion Start Date Type
Umayyad Network 1.0 (testnet) v0.10.6 2021/09/30 Official Public Testnet

Please know more details from the Qitmeer Testnet

Installation

Binary archives

Releases

Standalone installation archive for Linux, macOS and Windows are provided in the Releases section. Please download an archive for your operating system and unpack the content to a place accessible from command line.

Builds Release Date
Last GitHub release GitHub Release Date
Stable GitHub release GitHub Release Date

How to build

Golang at least 1.12 (required >= 1.12)

Check your golang version.

~ go version
go version go1.16 darwin/amd64
~ mkdir -p /tmp/work
~ cd /tmp/work
~ git clone https://github.com/Qitmeer/qitmeer.git
~ cd qitmeer
~ make
Done building.
  qitmeer version 0.9.2+dev-1f5defd (Go version go1.16))
Run "./build/bin/qitmeer" to launch.

How to Run

Memory Requirements

  • Minimum: 1GB
  • Recommended: 2GB

Make sure to have at least 1GB free memory to run qitmeer. Insufficient memory may lead to the process being killed unexpectedly when its running. See FAQ #3 for details.

Getting Started

Mainnet

The easiest way to connect to mainnet is run qitmeer directly without any argument by executing following command.

./qitmeer

you will see following information from the console when the qitmeer node is started successfully.


         .__  __
    _____|__|/  |_  _____   ____   ___________    Qitmeer 0.10.6-release-xxxx
   / ____/  \   __\/     \_/ __ \_/ __ \_  __ \   Port: <your_port, 8130 by defaut>
  < <_|  |  ||  | |  Y Y  \  ___/\  ___/|  | \/   PID : <your_pid>
   \__   |__||__| |__|_|  /\___  >\___  >__|      Network : mainnet
      |__|              \/     \/     \/          https://github.com/Qitmeer/qitmeer

Several configuration options available to tweak how it runs. Please see details by using the help command

./qitmeer --help
Testnet

Please make sure use --testnet to connect to the test network.

./qitmeer --testnet

Running with Docker

You can also run qitmeer by using docker

docker run qitmeer/qitmeerd

Other useful qitmeer repository

The command-line wallet of the Qitmeer network

The GPU miner for the Qitmeer netowrk.

The command line utility of Qitmeer

How to Work with ZeroMQ

Block and Transaction Broadcasting with ZeroMQ for details on how this works.

How to use Token

Qitmeer Token for details on how this works.

FAQ

How to exit qitmeer properly.

You can use Ctrl+C to exit in the foreground, or kill or kill -2 if in the backgroud. Please don't use kill -9 to kill the qitmeer process , this terminates the process abruptly and may leave database files improperly closed. may result corrupt data files. In the worst case, you might need to do a refresh block synchronization.

How to clean up corrupt data

qitmeer --cleanup --testnet

Please be careful! the command results your data to be removed!

How to fix golang.org unrecognized Issue

If you got trouble to download the golang.org depends automatically

go: golang.org/x/[email protected]: unrecognized import path "golang.org/x/crypto" (https fetch: Get https://golang.org/x/crypto?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
go: golang.org/x/[email protected]: unrecognized import path "golang.org/x/net" (https fetch: Get https://golang.org/x/net?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
go: golang.org/x/[email protected]: unrecognized import path "golang.org/x/net" (https fetch: Get https://golang.org/x/net?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

you might need to replace the download url (ex: using a mirror site like github.com) on your go.mod

replace (
	golang.org/x/crypto v0.0.0-20181001203147-e3636079e1a4 => github.com/golang/crypto v0.0.0-20181001203147-e3636079e1a4
	golang.org/x/net v0.0.0-20180906233101-161cd47e91fd => github.com/golang/net v0.0.0-20180906233101-161cd47e91fd
	golang.org/x/net v0.0.0-20181005035420-146acd28ed58 => github.com/golang/net v0.0.0-20181005035420-146acd28ed58
)

Qitmeer is killed unexpectedly

qitmeer is killed unexpectedly probably due to the Out of Memory, If you're using Ubuntu linux, you can verify it by following command.

dmesg -T| grep -E -i -B100 'killed process'

If you find similar output as follows, then that maybe the case

[Tue Mar  9 11:34:26 2021] Out of memory: Killed process 140587 (qitmeer) total-vm:1403144kB,
anon-rss:675828kB, file-rss:0kB, shmem-rss:0kB, UID:1001 pgtables:1532kB oom_score_adj:0

The minimum memory requirement is 1GB, and we strongly recommend upgrading the memory to 2GB.

If the memory resource restrictions is do your case, You might try to upgrade your Golang to the latest version and re-compile Qitmeer and try yourself. We have received feedbacks from community that the newly golang compiler have better memory optimizations, might work better wth low memory requirement, and especially for Ubuntu 20.04.

If you're using Ubuntu 18.04/20.04, then you can use the longsleep/golang-backports PPA and update to latest golang. then re-compile your qitmeer and try if works for you.

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go

Please note, it does not guarantee that compiling with the latest golang might work. Adding more computer memory is always the recommended way.

Compliing failed by missing the go.sum entries

If your golang version is 1.16 or above, you might see similar error as follows when compiling.

go: github.com/Qitmeer/[email protected]: missing go.sum entry; to add it:
        go mod download github.com/Qitmeer/crypto
make: *** [Makefile:41: qitmeer-build] Error 1

It's due to go1.16 changes default mod rules by disabling auto fixing missing entry in go.sum file. see details here.

It's an known issue and fixed by the latest code, Please update Qitmeer to the latest version and do the compiling again.

If you somehow need to stick to the current version, please make sure to execute following command before you compile qitmeer:

go mod tidy

License

FOSSA Status

qips's People

Contributors

blocklee avatar cryptobunnyii avatar dindinw avatar eric7733 avatar jamesvan2019 avatar jeremychen01 avatar joychain avatar lochjin avatar onagun avatar vanjames avatar wittwitt avatar zhangyi999 avatar zzxiang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

qips's Issues

HIP : Confirm time

The HIP discuss the confirm-time of the BlockDAG consensus

  • the spectre algorithm
  • the Phantom algorithm

HIP : economic model : IAO

区块链上的信任机器:

有别于ETH上的图灵完备,这一条主链针对特定的金融行业进行设计,它有一些特别的接口,用以针对行业进行具体的实施。
图灵完备可以实现一切,但是却会让用户很难下手,每一个用户与现实中的监管机构都需要掌握相关的很多编程知识,同时面临复杂的程序方面的安全问题(ETH上的项目就经常被攻击),因此我们需要在底层就为行业设计完善的区块链系统,在原有的区块链上只开放与行业有关的接口,这会使使用变得简单,同时也更加牢固。
相对来说,由于比特币只开通了流通的功能接口,因此比特币是构建于区块链上的货币。它没有货币不需要的功能,只是一个可以流通的货币(数字黄金也主要是流通的功能),就像中本聪在设计之初所想的一样,由于没有不需要的其它功能,因此比特币也变得比ETH更牢不可破。
区块链提供了一个由参与者达成共识的底层,这个底层驱动了在区块链之上建立的各种应用,ETH就像它的设计者所说的是一个分布式计算机的应用。在这个底层之上,通过区块中开放的接口不同,我们可以设计出更多的应用,通过不同的接口,而不是全功能的开放,使功能少比图灵完备在不同的领域做的更好更安全也更有针对性。
基于这个原因,我们使用区块链针对金融行业进行设计,它同时可用于用户与监管机构,并且足够简单,人们只需要在区块链上做自己领域内熟悉的事。而区块链的底层保证了数据的真实性与安全性。

建立在区块链上的社会组织:

在上面我们说到了很多的监管,那么在我们有了一个可信的底层之后,构建之上的金融活动还需要更多监管吗?
以ETH区块链为例,ETH已经成功的运行了非常多的分布式社会自治组织,人们在ETH上创建代码作为组织规则(法律),然后以代码运行组织,每个人都可以进入ETH建立分布式组织,然后我们看到的情况是很多人只写一条代码就可以作为规则,建立出一个DAO,这之后就导致了所有的混沌。在这些混沌诞生出秩序之前,也就是这几年中,我们看到了所有不同领域内的人都蜂拥而来,各种诈骗与犯罪也在之上应运而生,连ETH的创始人都说有95%的代币都毫无价值,在这样一条优秀的区块链之上,堵塞着各种没有实际意义的应用。
在ETH中,秩序(法律,规则)就是社会组织诞生的基础,以秩序为驱动来运转组织,任何甚至比石头剪刀布的规则更加简单的秩序都可以被建立,从而众多的秩序本身组成了混沌,在漫长的由众多秩序形成的混沌中,人们需要很多的时间再从中诞生更近一步的秩序,而这个时间将会蔓延多久我们无从可知,但实际的是区块中已经充斥着各种无用的秩序。
如果我们现在就要在社会上使用区块链,那么我们就需要改变这样的状态,我们需要针对已有的行业进行设计,将现有的已经长期被社会验证的行业秩序搬到区块链上,让区块链真正在现实中方便可用,同时也保持其开放性,以期待全新的秩序的到来。
(下面介绍秩序的维护,秩序保持开放性将在后面与技术连接的部分描述)
因此,秩序的监管就成为一种需要,在保障了底层完整的区块链特性的同时,我们需要维护秩序对于行业的准确实行,亦即让秩序与建于秩序之上的运转真正的遵循秩序。对于社会可用性而言,这就是合法合规,具体的实行在很多层面上都与现实世界的实体有关,同时遵循秩序并不仅仅只是代码上的“法律”,代码上的法律只能维护在区块链上的运行稳定,未来会有更多的部分都可以建立于区块链上,但是在现实生活中,我们仍然会面临诸如劫持,绑架等等区块链下犯罪,除了这些外部的犯罪之外,我们也同样会面临行业内的链下犯罪,这都需要一些真正的人在实体中去实行监管。
在这些条件下,如果ETH提出的是分布式自治组织(Decentralized Autonomous Organization,DAO),那么我们建立的就是行业自治组织(Industry Autonomous Organization,IAO)。从技术角度看,IAO将会比DAO更加庞大,因为IAO的组织形式是一个主链作为一个行业的标准形态,因此会有很多不同行业的IAO主链出现。
在底层的去中心化基础设施上,即在非顶层设计的行业监管,而是由行业根据自身情况设计出的可信的行业规则,IAO们由行业自发,针对行业进行设计与运转,保障行业可以构建在区块链的确定性,安全性之上。同时与现实挂钩,依托于现实的法律,规则进行守护行业对社会实用的稳定性。
行业监管的重要性,任何行业都需要标准与规则,如同4G或者5G网络的制定,无论在世界上有多少个不同的相关研究,但是他们都会自发的寻找一个固定的标准,而不会各人只做各人的,因此国际电信联盟才会诞生。
在IAO中,监管者就像是社会中的行业协会,如在5G网络标准建立的时候存在着国际电信联盟。在这里我们将IAO中出现的类似监管者称为“委员会”。
下面以我们所针对的金融行业(我们主要是指证券金融)的主链作为一个IAO运转的举例,不同的行业会有不同的方式,需要在区块链上开通的接口也不相同。

证券形式的通证定义:

我们针对的是金融证券行业,首先我们来对证券形式的通证进行一下定义:
现在,当我们一说到证券的时候,就会想到股票那样波动的投机性,但是实际上真正的证券并不是用来投机的,只有证券交易及其衍生品才是投机。
证券的意思是证明所有权的票券,在电子化之前,都是以票据的方式来证明所有权,在**古代著名的银票就类似是一种商品的证券形式。而在电子化之后,纸质的票据退出舞台,人们继续使用证券的名称,一直到了近几年,因为区块链的发生,证券才(可能)开始有了一个新的名词,中文叫做通证(也可以称为通用证明),在本文后面所说的通证大多都是指证券形式的通证,如果描述其他通证将会在文中指出。
证券的种类有很多,企业股份可以用证券来证明所有权,大宗商品的所有权证明可以用证券,债券也是一种证明债务关系的证券,各种银行汇票用以证明资金的归属权,甚至房产证也可以看作是房屋的证券形式(如果按照传统运作方法,如果它有一个可以快速流通而不涉及实物交易的市场的话就会显得很明显了。),这是证券中最常见的几种,除了在证券交易所之外,他们在现实中也都具体的存在表现。其中无论是哪一种,在仅仅作为证券的时候,他们都并不具有投机属性,股票用来证明持有企业股份的数量,以利润进行股份分红。商品证券的含义则更加简单,证明商品是属于你的。债券是债务关系的证明。
在这里我们将证券形式的通证定义为:
证明“现实与意识约定中的物品或者权益”的所有权。(“现实与意识约定中的物品或者权益”在后面将简称“物权”)

实体信任机器的建立:

基于物权,证券被发行出来,由认购人购买与使用(这里的使用也包括持有或者买卖等市场操作行为)。人们规范了证券背后所代表的物权,持有人(不管是通过认购所得或者交易买入所得)通过实物交割来获得物品,通过取回债务或者分红等来获得权益。
传统证券经过公证证明其与物质或者权益的连接确定性。然后人们花费巨大的人力物力来维护证券不可被伪造,这是一个由多个社会职能部门来共同维护的庞大系统。而如果将证券放到区块链上,区块链底层特性就天生能够更好的维护整个系统的稳定,在通证被发行出来的时候,区块链就可以做到让它的流通完全可信,其唯一性可以维护证券的不可复制,同时也维护了证券的不可篡改,区块链的流通性可以让证券所代表的物品与权益自由流通。(有关于区块链底层的特性科普已经在区块链这几年的发展中被提及很多,这里不做更深入讨论,下面主要描述其社会实用的应用可能。)
传统金融证券:付出巨大人力物力维护信任机器的运转。由顶层政府推动与制定证券发行规范化,统一法律维护行业应用。
区块链:由参与者/社会构成维护信任机器的整体,由行业自建的委员会对证券发行进行规范,根据行业特性维护行业应用。

综上,可以看到证券形式的通证具有下面的几个属性:
1.通证赋予物权在区块链中的确定表现。
2.物权赋予通证以实际价值。
3.通证可以代表物权进行流通。

在确定了通证存在实体与权益有效性的属性之后,不管是传统证券,又或者是区块链通证,都会有一个巨大的问题是,如何将“证明东西是你的”以及“东西确实在你手上”联系起来,监管者通过规则认可发行者发行证券,发行者根据监管进行发行,购买者信任通证所代表的物权购买证券。如果发行者作恶,证券并没有真正代表物权,那么购买者就会向监管者进行举报,监管者实施监管,令发行者实现承诺或者进行处罚。不管是现实社会还是区块链,都只有约定俗成以及法律才能够将这样的理想与现实连接在一起。

监管具有下面的几个属性:

1.确定与维持通证行使物权的权力。
2.制定维护通证运行的标准稳定。
3.维持行业链下的治理。

在现实中,由政府的相关职能部门进行控制,在我们的区块链上,这就是委员会的主要职责,这些职责与社会职能部门所做的行为基本相同。审核与持续确定通证与物权的联系关系,当发生通证与物权不一致的时候对发行者进行处理,同时对不同形态的通证运作进行规范(虽然可以预期不同物权与通证的一致可以通过一些不同的技术方式解决,但现在还并没有具体的出现这些技术,因此在这里以现有技术出发,我们仍然需要有确实可控的对通证与物权连接起来的人为方法。事实上,在委员会——发行者——购买者之间存在的三者相互制约的关系中,当购买者发现通证并没有履行物权关系的时候,就会向委员会进行举报,要求委员会履行职责。)
在区块链之外的运作,维持现实的信任机器中,委员会,发行者,购买者相互扮演的角色是:
委员会:
真正对行业了解的行业发起者统一制定出行业标准。
维护行业标准的具体实施与稳定。
发行者:
使用信任机器来运行自己的通证。
遵循行业标准进行运转。
购买者:
基于信任机器买入自己的需求。
向委员会举报发行者的不合法或者作恶。

维护委员会的职责:

监管者需要监管的几个主要方面有:
在通证流通中具体的参与者,在发生问题的时候可以找到具体的参与者。
通证发行与物权之间的具体连接,同时监管通证的流通是否存在作恶的行为。
维护通证流通中需要遵循的规则(共识)。

这些具体的行为都需要一些固定的成本维护,这些成本在过去主要是由政府进行税收,从流通行为中抽税来进行维护。除此之外,传统金融中在针对不同的商品之间,由于商品属性的不同,会存在一些不同的规则,一些高附加值或者对人体有害的产品,为了让这些商品更少的流通,规则中会普遍收取更高的税收,增加这些商品的税收,这样做的主要目的是,减少有害物品的大量流通,同时从高附加值的商品中抽取更高的税收反向补贴社会。
我们设定维持区块链底层的税收由矿工收取,这在过去所有的区块链中,矿工的手续费实际上也可以看做是一个税收。同时在维持通证与物权实际相关联的委员会上,他们也可以收取一定税收。
与传统的税收不同的地方在于,传统的税收由政府统一收取,同时统一向下拨款给不同的职能部门,而在IAO中,由于主链本身是根据行业进行建立,因此在整个流通中的税收就直接是专向税收并且专向使用。

下面我们来看一下在现实中的证券是如何运转发行的。
在现实世界中,不同种类的证券在各自领域内都有不同的具体模式,以下针对比较普遍的金融产品(大宗商品,股票,债券)进行描述,这里主要针对的是产品的发行流通与税收的角度。(区块链打破了国界,它的底层本身是一种全球协作,因此在这里对跨国贸易很重要的关税不做讨论。在区块链上并不需要“印花”,印花税也不做讨论。)
大宗商品:大宗商品主要是在流通中的被大额大批量买卖的商品。主要种类有化工原材料,农副产品,有色金属等。由于大宗商品跨种类很多,并且一些涉及重要的民生方面,另一些却又涉及到普通人完全不会接触的稀缺产品,因此对不同的大宗商品的交易税收也都不同,如对大米交易的税收会低很多,而对贵金属的交易税收就会高很多。由于大宗商品主要是资源属性,在矿物的发行(开采)中会有资源税。
发行:部分商品有资源税。
交易:主要是交易税(流转税),所得税,营业税。

股票:股票是股份公司发行的股份所有权凭证,拥有股份就可以享受企业利润的分红(**的股票市场比较特殊,除了对价格的预期,几乎没有分红。真正的对股票投资的利润应该来自于自己所看好的公司的盈利分红)。受到监管的股票主要流通于证券交易所,主要的税收(以美国为例)有证券交易税等,对于持股时间的长短也会有不同百分比的税率。**大陆虽然没有专门针对股票的税收,但是通过证券公司在交易所上也有各种手续费,也都综合到证券公司上交的营业税。
发行:部分国家有资本税。
交易:主要是交易税,所得税,营业税。

债券:债券主要由政府,企业等(债务人)对外发行,用来筹集资金的凭证,债务人会在一开始就与买入债券的人(债权人)约定好利息,排除在债券的流通交易与利息的利得税之外,债券是债务人向债权人借款,发行债券普遍没有税收。在债券的流通中,债券和其他证券类似,也需要缴纳交易税,所得税,营业税等。
发行:没有。
交易:主要是交易税,所得税,营业税。

综合以上的主要证券形式可以看到,不仅对不同证券的税收不同,同时不同的国家对相同证券的税收也都不同,至今还没有一个统一的标准。这就像大麻的税收比大米税收更高,奢侈品的税收比两元超市的产品税收更高,而不同体制的国家政府根据对于自身与社会理解的不同而使税收变得不同。
在区块链中,存在着两个需要成本维护的基础,一是如同社会职能部门的行业委员会,另外还有维护这条区块链底层稳定的矿工。为了维持这样的一个与现实连接的信任机器的稳定运作,委员会也需要收取一些税收。在所有的区块链中,底层的矿工都会收取手续费,这也是一种意义上的税收。而在这里的行业委员会本身是相互制约的使用者构成,他们本身使用了区块链带来的确定性与安全性,一些类型的通证维护也许并不需要税收来维持,但是由于不同通证所代表含义的不同,监管的成本也很大不同,因此让委员会自行选择是否需要税收与税收比例是一个比较开放的选择。
税收的选择可以下面几种:
1.由委员会制定的税收的60%(或者其他固定比例)交给底层矿工。
2.税收由委员会制定百分比交给底层矿工。
3.底层税收与委员会税收互不干涉。(如果这样的话,那么底层矿工就和其他区块链一样收取一个计算手续费。)
4.税收由委员会制定,但是完全交给底层矿工。

在这条主链上,开放的参与者可以自由的参与维护这个信任机器,从宏观的内部系统来说,到现在为止只有POW才是真正的平等的去中心化,POW的奖励都平等的分发给了算力,POS的模式虽然没有成本,但是是以资源来进行分配,在整个系统的内部,当持有的资源越大,那么奖励也就越大,最终导致“有钱的更有钱,没钱的更没钱”这样的金字塔形态。以成本为锚定,将奖励按照成本平分,这是更公平的方式。
传统的POW模式很多都走向了算力集中的程度,虽然这也是大户集中了更大的成本进行的部署,但是这实际上进行的是对分布式挖矿系统的外部破坏,引入DAG技术,可以在从内部设计上尽可能解决这个问题。(“盲目的速记员”?)
只要你认可并且愿意参与维护这条区块链所代表的意义,那么就可以加入进来。为底层之上的应用付出一些算力,并构成一个节点。
这不是由政府向下推动的,而是由最基础的每个人自由加入维护的运行社会应用的基础设施,每个人都可以是参与者,这也是构建者。所有参与者达成的共识,就是这条区块链成为信任机器所代表的价值,人们因此信任在区块链中存在的数据及其流通,而不用去信任一个有巨大风险的单一政府。

去中心化底层,以相比传统行业更低的成本与更可信的网络维护通证系统。

维护不同通证在各自环境下的不同规则。

不同通证间的相互流通与使用。

由底层构建出流通的信任机器
——>由行业委员会制定行业标准设计出行业许可证
——>通证发行者获得许可证并且发行通证
——>代币进入市场流通并且根据标准进行交税,维护信任机器的长期运转。

在底层挖矿中,我们产出一个主链币,这个主链币的作用和eth在设计之初的作用一样,作为一个运转区块链交易的燃料。每一笔交易需要支付这个主链币作为转账手续费,行业税收收取的也是这个主链币。
委员会发行许可证,然后通证发行者获得许可证之后发行自己的通证。通证代表具体的物权,因此通证需要根据物权进行设定,一些在小数点后可分,另一些在小数点后是不可分的通证,如房屋交易以单位房屋进行,而无法将房屋切割。而贵金属交易可以划分很多,1克的黄金也可以继续切割(虽然很少有人会去交易)。这些大约也需要在不同分类的许可证中做出分类。
(或者在设定上直接设定基础单位为1,向下不可分,人们可以约定不同通证的不同基础单位。)

挖矿方面,在理论上可以确保安全的情况下,以最快的速度作为挖矿速度。
在最初,挖矿用以奖励维护区块链底层信任的矿工,随着获得更多的价值认可,在区块链上的交易也会越来越多,这时就可以使用转账手续费与税收平衡矿工收入。由于现在的区块链还没有处于一个理性的阶段,因此在现在做出预期是模糊的。我们为此设定一个40年(?)的总量挖矿周期。

~~矿工的价值博弈:
矿工主要成本是电费,超过电费越多会有更多的人加入算力从而增加计算难度,推动成本上升。
电费超过成本越多的时候更多的人离开挖矿从而算力降低,难度随之降低,推动成本下降。
对于区块链资产的价值预期会让部分矿工在收入低于成本的情况下挖矿,但这不是最多数,普遍是趋利矿工。

行业委员会的选举产生的一些方法:

1.行业委员会由行业内各个行业成员构成,然后在区块链上直接进行注册,同时注册与发行行业许可证,由于行业被许可证许可与约束,因此行业委员会必须维护行业秩序,否则人们便无法信任许可证,而导致行业委员会本身瓦解。
(优点:行业由行业自身决定。更好的标准与规则可以从社会中获得更高的认可度。
缺点:在市场并没有很好的认知的情况下,许可证的许可范围可能会非常宽泛。从而导致快速的泛滥与崩溃。)
2.行业委员会由行业内各个成员构成,同时设立监管行业委员会的委员会,审核行业委员会的建立秩序与通过。
(优点:在前期处于一个头脑发热的市场中的时候,这个的优势就比较明显。然后可以在之后视市场认知程度转向其他的方法。
缺点:虽然底层是去中心化的,但是这导致了在委员会层面上的中心化可能。)
3.行业委员会由矿工投票,获得一定算力支持的委员会申请会被通过。投票方式可以有传统的51%投票,或者是当达到20%算力投票的时候委员会就可以建立。
(优点:这个方式可能是最好的。我认为维护底层的群体本身就是对维护行业产生了共识的,同时针对具体的行业可能会有不同的标准,这时候20%的支持建立就能够保持竞争环境。
缺点:矿工除了维护底层信任机器的运作之外,还需要用更多的成本维护行业的具体运转,不过这也是税收的目的之一。)
4.给矿工付费登入行业,维持行业自由度的同时,需要一些简单的门槛进入行业。

税收的具体内容:

1.由委员会制定的税收的60%(或者其他固定比例)交给底层矿工。
(优点:不同的税收条件,但是矿工永远获取总量的固定百分比,简单快速。
缺点:没有很大的弹性。)

2.税收由委员会制定百分比交给底层矿工。
(优点:具有很大的弹性。
缺点:需要验证这个比例的具体内容,如果由矿工选举产生的委员会,那么也是属于委员会向矿工拉票的一部分。)

3.底层税收与委员会税收互不干涉。(如果这样的话,那么底层矿工就和其他区块链一样收取一个计算手续费。)
(优点:相互脱离,各自主导,底层只维护信任机器,完全不参与行业内的经济分配。
缺点:完全没有弹性,一切都是固定的。)

4.税收由委员会制定,但是完全交给底层矿工。
(优点:所有的税收都交给维护信任机器的底层。
缺点:委员会本身由用户发起,他们使用了区块链的便利与安全性。由行业制定标准的自发性是可以让委员会无偿进行维护的,但这样的话委员会的维护也只能由行业自行解决。)

上面是一个社会可用性通证区块链的模型,这是一场实验,但是如果要真正做到社会可用性,那么在运行稳定之后,我们必须选择一个方式,上面的几个方式都可以,这些方式主要涉及从不同的角度上的不同**表现。
第1点是站在政治与商业协同工作的角度,即矿工取代政府实现信任机器,为了维护信任机器的运行,这一点偏向于由政治制定维护费的规则,政治确定自己所要收取的所有维护费,对每一笔交易收取相同的费用,而商业认同这笔费用并且交付费用。
第2点同样是站在政治与商业协同工作的角度,即矿工取代政府实现信任机器,而这一点偏向于由商业自发维护公共部分,商业根据自己的特点,制定向政治部分缴纳维护费用。
第3点是站在商业与政治互不干涉的角度,政治只是维持信任机器,向所有商业征收维护费,商业只是运作商业,征收款项维护自己的运转。
第4点站在完全政治的角度,政治制定收取所有费用,而商业完全由自己去维护自己的运转。(这个比例可以查询几十个国家与其几十种普遍税收然后取其平均值。相对只做迪拜的金融而言使用这个就更方便了,不过迪拜的银行家们可能不愿分不到蛋糕,毕竟银行过去应该也会收取一些服务费。交易税使用迪拜的交易税,所得税使用迪拜的所得税等等,有多种的话取相关的平均税收就可以,如果刚好迪拜只有一种税收,那么直接用这个税收就可以。)

钱包是我们进入区块链的入口,那么区块链连接到现实世界的出口呢?

我们现在有很多的区块链项目,但是现在公开的区块链项目中最大的应用只有在交易所中投机,如果我们排除公开的区块链项目,那么实际应用的未公开源代码的项目如IBM,国际间的银行联盟,政府,联合国都已经在实际运作中使用了区块链技术。这些不公开技术的项目距离人群都相距很远。
实际上在昨天(2019年5月15日),世界银行第一次在区块链上发行了政府债券。而那个项目的底层掌握在银行手上,挖矿也同样完全掌握在银行手中(他们使用了一个没有听说过的区块链技术(bond-i),没猜错的话这其中的挖矿并没有难度,而只是作为一个不可篡改的分布式数据库的使用。),人们可以不公开自己在区块链中的数据,同时又可以让人无法篡改自己的数据,在这样的非透明区块链中,斯诺登也许就没有机会将数据带出他的办公室了。
在我们进入了区块链的世界后,开始我们通过区块链的去中心化对抗传统的中心化,但是技术却是没有偏向的,现在中心化的银行们已经意识到了这项技术的价值,并且将这项技术改造成中心化的实践,在使用区块链的路上,中心化的社会应用实践实际已经比去中心化快了很多。(如ETH区块链是公开的,然后银行间们将ETH区块链分叉后将ETH区块链变成了私有的,并使用ETH网络来进行贸易活动。> https://www.trustnodes.com/2019/04/22/jp-morgan-reveals-massive-ethereum-based-banking-network

其实也许我们甚至没有意识到,在比特币的底层去中心化之外,如果政府(或者别有用心者)买下了50%的比特币(由于比特币的市值相比于大体量的整个资本市场仍然很低,这是很容易做到的,实际上我们甚至不知道这样的行为是不是已经在发生了。),仅仅留给整个市场50%的其他比特币,那么政府就完全可以通过自己的调控来控制整个市场,实际上这是所有通缩模型的通病。(比特币作为一场技术的实验,在21世纪初我们面临着通胀的风险的时候,使用传统的类似黄金的通缩性是一个很好的解决方案。但是在历史上,仍然有使用通缩货币来实行**,同时通缩货币也很多次的导致经济社会崩溃的案例。上面的情况也许不一定发生在政府掌握50%的比特币,其他个人和机构都有可能。这些将会发生在比特币被实用后几十年内发生。就像明朝的通缩货币经济崩溃一样。~实际上现在发生的和明朝真的很像。明朝首先发生了恶性的通货膨胀经济崩溃,然后实施不可增发的白银作为货币,于是人们疯狂囤积白银,过了几十年之后,明朝经历了通缩货币的经济崩溃。从现在来看,过去一年中已经有占总量一半以上的比特币被囤积而从未被转账过。(>https://www.trustnodes.com/2019/05/18/10-5-million-bitcoin-have-not-moved-in-one-year ~)

去中心化的区块链,那么听说过中心化的区块链吗?不用听说过,因为已经有了,哪怕在去中心化数据库的技术上。如果有人在世界各地有几十万台电脑,那么他就可以在物理上模拟出去中心化的计算机分布,而对于大多数的跨国公司而言,这很容易做到,就像谷歌的分布式计算项目一样,在拥有权限的情况下统一操作几十万台电脑也并不困难。
(实际上站在去中心化的自由的角度来看,对于世界本身,地球对于人是完全开放性自由的,但是由于人们自身的意识构成而导致了不自由。)
现在对于区块链自由的认知就像是互联网的最初一样,在最初人们觉得互联网是自由的,随着时间的推移,现在我们发现互联网已经变得越来越不自由了,就在不久之前,欧洲又通过了一项限制互联网自由的法案。技术对自由没有偏见,如何使用这项技术才是真正重要的。区块链仍然为“文明世界”的我们提供了可能是有史以来获得自由的最大可能性,而我们将能够把握多少呢?
投机之外,我们必须让区块链对于现实可用,更快的实践/应用出适合区块链世界自由的秩序,才能在这场给区块链定义的战争中获取与**者对等的力量。当我知道**政府准备用区块链为**居民做一个互联网上的身份系统的时候,我感到这非常可怕。因为这样政府就可以使用区块链的特点在互联网上完美的绕过互联网公司直接定位到每一个人了。
什么是区块链的实践/应用?
在区块链上建立一个代币并不是区块链的应用,它是一些可信的数据,如果可信并不能提供可信的具体,那么它只是在消磨人们对于可信的信任。如同黄金没有意识中的可信的话,它只是一个导电性良好的金属。而现在对于分布式的个体的区块链项目都是在区块链上建立一个代币,这个代币所代表的东西却只是一纸言语,没有人使用区块链去做事,哪怕现在活得最大认可的比特币,也几乎没有人使用比特币进行交易(虽然这很大情况下是由于其通缩特性,人们对于通缩品的预期永远是价值上升。)。人们在投机中迷失,贩卖去中心化,贩卖自由,却对去中心化与自由的真正含义并不关心,成为金融市场波动起伏的奴隶。
但是可信,是对于人类的意识构成的最大价值。区块链技术可以做更多的实际的事,人们可以使用区块链构建一个没有**者的社会,那就让我们开始使用区块链来执行不同的社会功能吧,**者们都已经在这样做了,他们甚至没有使用现在最好的技术。而我们也可以使用区块链技术对于社会职能的可编程能力,让所有的乌托邦尽情的开展起来实验。
钱包是我们连接到区块链世界的入口,那么区块链连接到现实世界的出口呢?也就是说,我们要如何具体的使用区块链呢?如果没有使用,那么区块链世界和现实世界将会继续处于一个漫长的价值平行宇宙。
来看一个最简单的情况,如果我们现在使用比特币,那么比特币就会像中本聪所描述的一样,将美元体系破坏掉。但是是什么让我们没有使用比特币(实际上这里也可以是任何的区块链资产)?
)我们还没有真正对比特币达成共识。
)比特币的社会可用性薄弱。
)社会对于使用比特币并不友好。
)比特币的本身通缩特性。
而相对投机角度来看,为什么我们在投机市场中如此热烈的拥抱比特币(区块链资产)呢?
)我们对于比特币的投机价值达成了巨大的共识。
)比特币的投机性能远比任何可投资资产强大。
)社会对比特币投机友好。
)比特币价格的投机性。
这样就很清晰的显示出,在技术之外,我们对比特币达成了最大共识是投机,最多是价值存储的共识。下面让我们来看这其中的每一项所具体代表的含义。
(实际上有关于这些的改变会在之后自然的发生,但是如果我们能够理解这些含义与其转变,那么也许我们就可以通过一些方法加快这些改变的发生。从我个人所见来说,虽然未来有很多的阻碍,但我并不很担心,这主要是源于我信任群体的人类。我觉得群体的人类和蜂群一样,个体的人或者处于不同位置的人都不过是构成群体的一部分,但仍然都是一个整体。哪怕经过无数次的接近自我毁灭,可是这都不会真正发生,群体充满了粘性。如果政府不作为,哪怕没有现在的马斯克,也会出现另一个马斯克带领人类飞向太空。同样的,如果索马里不是贫民窟,那么也一定会有真正的贫民窟。作为群体的我们是前行的,虽然也许没有目的。如果政府不作为,那么社会就会推动社会前行,因此我们才能够在经历了哪怕第二次世界大战这样看起来毁灭性打击的现在享受过去帝王都羡慕的基础生活设施。上面的是题外话)
)我们并没有对比特币达成共识。在每个人的心里都有自己看到的比特币,也许有一些人是别人告诉他的,也许有一些人通过自己的理解,也许有些人将比特币当做了货币,但是现实中还不能真正使用。那么这个到底是由于外部环境还是由于其本身内在发生的呢?大部分人对比特币的投机价值达成了共识,因此在这个市场中呈现的是,当自己也知道这是一场传销或者庞氏骗局的时候,人们依然趋之若慕。人们不在乎自由,人们在乎财富自由。于是在这个广阔开放的地球上走进枷锁。
)比特币的社会可用性薄弱,与社会对于使用比特币并不友好。这两点主要是由于缺少使用比特币的基础设施。而对于投机比特币的设施却非常完善,平台非常努力的完善着人们对于比特币的投机需求。那么什么是比特币的实际使用呢?之前在推特上有一个很火热的火炬传递活动,可能是至今参与人数最多也是最实践的比特币社会实用应用。这个程序和过去的比特币程序有什么不同呢?在比特币诞生以后,投机之外只有一个钱包让我们看到比特币,而在比特币的火炬传播中,存在着一个浏览器扩展程序。这是一个将比特币的区块链连接到Twitter的程序,我们在一个日常使用的网站上看到了比特币,而这个程序让人们可以使用比特币完成了一件投机之外的事。
从传统现金货币的互联网应用来看,如果我们只能看到银行网站中的金钱,而没有其他对接银行接口的应用,那么互联网现金也会变得操作困难。我们需要在交易网站上看到一个产品,然后来到银行网站,填写对方的银行账户与金额,输入密码将资金转入对方账户。这就和现在的比特币交易类似。所以,在比特币作为一个货币的基础上,我们需要一些真正的互联网应用来支持比特币的使用,就像互联网上的现金一样。如果是作为货币功能的区块链资产,那么就需要商品交易网站整合方便的区块链资产转账程序。如果是证券功能的区块链资产,那么也许我们就需要一些整合区块链资产的证券认购与交易程序。如果这些程序使用的是智能合约,那么也需要是对人可直接使用的智能合约程序。
)和所有总量固定有稀缺属性的资产一样,特别是在这个时代,人们已经对整体社会价值有了巨大认识,得知稀缺能够带来的巨大升值效应,人们热爱囤积稀缺品,很多富豪们买入比特币之后,将比特币私钥放进保险箱,甚至放入地底防空洞中。而使用比特币的消费意愿并不强大,就像导致了**明朝的通缩经济崩溃一样。(当然也存在着非常多的区块链社会实践者,如果有对比特币友好的设施,有很大部分的人仍然会乐于使用比特币。)

我们现在将区块链连接到现实世界的接口可以由下面的内容描述:

需要一些传统程序,因为传统程序比智能合约或者分布式计算机更加开放,支持所有的程序语言,在这些程序中,我们运行过去就一直以来给我们带来方便的应用,然后在应用中如果涉及区块链资产所涉及的资产,那么我们就将其整合进去。这是一个有社会可用性的区块链应用。如果这个程序是智能合约,那么也需要一些社会友好的程序界面,而不仅仅只是代码呈现。
区块链是一个底层的,提供的是维护一个无需信任的信任机器的运行,对于不同需求的信任,我们需要在区块链上开通不同的接口,用以支持实际的所代表的含义。
我们可以使用区块链构建账户系统,甚至可以使用区块链建立社会制度。但是就像现实世界底层的社会制度一样,每个人的生活构建在这之上,但不会让生活变成制度,无论是社会主义还是资本主义制度,其中人们的日常生活是相同的。要构建区块链驱动的世界,那么我们就要在具体的社会活动中插入区块链。

继续以上面那个我们熟悉的IAO通证的例子在这里进行举例:

在构建了有针对接口的区块链主链以及构建之上的区块链应用之后,我们有一个钱包可以让我们连接到区块链中,就像所有的区块链资产钱包一样,我们能够看到自己的资产。
然后我们将要让这个通证像是证券一样去运行。我们需要搭建出一个程序,在这个程序上构建出完整的通证的运用。通证在发行之后需要被认购,我们需要给予认购开通一个通道,在通证被认购进入流通后,需要有一个方便的交易平台。
上面我们定义了这条主链是证券形式的通证,因此在这个区块链中,并没有一个代表货币的区块链资产(在这个区块链中,由于我们针对证券形式进行的设计,如果将货币作为一种高级形式的证券,那么在这条区块链中也许也可以直接产出一个代表货币的通证。),它只是行使证券形式的通证的功能,就像所有的证券一样,我们要用受到认可的货币去购买,仅仅从现在来说,区块链资产还没有被全社会认可成为具体的社会货币,因此在一个区块链社会可用性的程序里,我们要整合传统现金方便认购通证的功能。同时也需要针对不同证券形式的通证流通买卖的程序。如果是一个固定资产(如房产)的通证,那么程序在提供买卖的情况下,需要更多的偏重于对固定资产的图片与描述等,固定资产的买卖一般会需要一段漫长的时间,因此在程序中对交易功能就可以减少偏重。如果是一个股份制的通证,那么程序需要更多的偏重于对企业的描述与预期等,股票的交易会比较频繁,因此程序对于交易功能也需要进行大量的设计与优化。
在上面我们说到了很多的程序,作为一个社会可用性的应用来说,这是一个需要多方面协作完成的工作。区块链公司提供了一个针对行业的信任机器,可能没有很好的传统软件的技术(针对不同的行业功能来说,了解社会对软件真正的需要也需要很多的时间去积累。),传统软件公司可能不能写出很好的区块链,但是在将一个已经形成的区块链资产整合进社会应用软件中对他们来说就比较简单。

以上我们一直都使用一个通证IAO的模型进行举例,对于更多不同的行业来说,这些模型都是不同的,如物流行业,我们需要首先了解物流行业需要什么,用来开放区块链上的特定接口,对于物流行业来说,可追踪性是一个巨大的需求,区块链可以开通什么接口用来提高可追踪性呢?这似乎要对公钥和私钥的联系的不同方式做一些特别的思考。也许这需要偏重从远程产生公钥的方式(只是一个忽然想到的想象),不过在这里不做继续深入的讨论。又或者针对社会制度的区块链,社会制度的主体是人,那么区块链就需要偏向实体的人的特点做出设计,而不是物品,这又要改变区块链的一些技术偏向。
在将区块链整合到社会应用的这个过程,几乎还没有公司在做。

开发区块链项目的融资

在现在区块链方面的融资方面,普遍都以ICO的方式进行融资,大部分项目在最初就产出了所有的区块链资产,然后将资产分配给投资人,同时自己持有部分,如果获得认可,那么这些资产普遍都会得到升值(在现在的情况下,这种认可也普遍是投机认可,而比较少有对其真正价值的认可),对于一个在最初就产出了所有区块链资产而言,这是很方便的一个模式。
但是对于一个从最初希望保持区块链公平公正,完全从零开始挖矿的项目来说,这就变得困难了。在区块链的内部,如果进行提前预挖,那么这是从最初的结构上破坏了区块链网络,虽然之后预挖的部分会随着时间被修复,但这些预挖仍然是作为一个完整的区块链之外无中生有的产物,在整个内部运行中,这些部分也许被一些持有人保存不流入市场,但是这也仍然是一个整体上的炸弹,破坏了之后的整个区块链产出平衡,哪怕表面并不会真正看出其破坏力(如果是有针对性的在最初的产出是这个区块链内部运转模型中的一部分的话就另说,但是现在的预挖仍然主要只是为了区块链内部运转模型之外的融资的目的)。
作为开发者,前期与之后的维护都做了大量的投入,那么在一个完整的区块链模型中有没有一个好的融资方式呢?
我们是否能够对开发者的贡献价值达成一个共识呢?从现在能够想到的方式,以及我们准备采用的方式是,在最初从零开始挖矿,在整个模型的共识中,矿工是最底层的基础共识,在这个最底层的基础共识之上,矿工的每一笔挖矿收入中按照一定百分比支付给开发者。这是一个由参与者达成的认同开发者贡献的共识。
在实验阶段,我们准备在一开始就不拿区块链中的任何资产,让区块链资产完全按照区块链内部的运转进行,开发者和项目一起进步,跟随市场对这条区块链的价值认可我们也才能获得不同阶段相应的价值。我们设定一个开采比例,将每一笔挖矿开采出的部分打到开发者设定的账户中,维持之后的维护工作。我们在设计中加入了这个挖矿比例的开关,如果我们认为这条区块链已经完整的自然稳定运行,那么我们也会停止收款。
(这其中可以有一个具体的模型。
区块链作为一项技术开发上线之后,矿工成为整个技术搭建的实用模型的最基础共识,由于区块链仍然需要后续的一些维护,这可能是由于区块链还没有真正实现所有它要实现的,而还处于实验阶段,那么在这里我们承认区块链还在实验之中,还需要一些成本去更新维护它。大多区块链项目的团队本身是从区块链系统中直接拿了其中的资产的既得利益者,唯一完全按照区块链内在系统持续前行的团队只有中本聪,而其他的团队都在区块链应用之前就直接拿了一部分既得利益。我们将这些利益排除,希望成为一个伴随这条区块链价值共同成长的一部分。由底层共识的矿工们进行一个对于技术维护的共识,如果他们觉得这是一个需要技术成本继续维护的区块链,那么就可以为这个技术支持成本进行估价,从共识中维护技术支持团队的生存。
这个方式的具体模型是:
达成一个对整条区块链需要技术维护共识——向开发者支付代表开发与维护价值的资金——开发者持续维护区块链的继续发展——当区块链稳定不在需要技术维护团队的时候,也可以停止向技术维护提供资金。
很多其他的模式是
开发者首先取得区块链技术开发的既得利益——区块链排除既得利益之后的共识挖矿——开发者可以持续维护或者完全抛掉既得利益(虽然在道德上一般不会这样做))
(其实在这样的比例收取中,其本身存在这一种用户与开发者博弈的模式。)
同样的社区可以监督开发者对项目的维护,技术上项目仍然是开源的,如果不信任或者不愿再支持开发者,可以对区块链进行分叉,足够多的共识就会让分叉实现。技术之外,我们也会接受社区意见,做出调整。
我认为这是一个比pow预挖以及比ICO对区块链更友好的方式。

HIP: economic model : DAG POW: reward & fee & pricing v1

HIP: 9
Title: Block Reward Schedule and Transaction Fees Disign
Author: blocklee<[email protected]>
Category: Core
Status: Draft
Created: 2019-05-06

Abstract

The rewards in a block usually refer to the amount that miners may claim as a reward for creating a block. Equal to the sum of the block subsidy (newly available tokens) plus the transactions fees paid by transactions included in the block. The block subsity is often regarded as a block reward schedule. The transactions fees is the amount remaining when the value of all outputs in a transaction are subtracted from all inputs in a transaction; the fee is paid to the miner who includes that transaction in a block. Both are incentives for network participants.

The Economic Implications of Block Rewards

The economic implications of block rewards mainly includes three aspects:

  • Who pays for running the network?
  • Incentives for Validators
  • User Adoption

Block Reward Schedule: Design Consideration

Choosing a block reward schedule is an important question that is often addressed heuristically. A block reward is the rate of growth of the token pool and is of central interest. A key property of block rewards is that they add to the total token supply.

According to the analysis of economic implications of block rewards, it may provides some guidance for how to design a block reward schedule. A block reward schedule ensure a long-term economic viability of network, which provides sufficient incentives for user adoption and participation of validators. Currently, the common practice is that keeping a relatively high level rate of block rewards at the launch of the network, and decays over time as the network matures.

Many existing cryptocurrencies adopt a high initial rate of block rewards. This encourages participation of miners during the early period of network development. During this early period, block rewards plays a major incentive role on the running of network, since the volume of transaction fees is lower. To keeping the operation of system, it is necessary to reward proposer and validator nodes for their efforts during this early period.

Current Reward Schedule

Halving & Smooth decay

Transaction Fees Disign

Transaction fees are drawn from users’ transactions and awarded to nodes who process that node’s transactions, as an another class of incentives.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.